Remove RTL EH cleanup code

Richard Guenther richard.guenther@gmail.com
Sun Apr 5 19:30:00 GMT 2009


On Sun, Apr 5, 2009 at 9:28 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> Hi,
>> this patch removes RTL EH cleanup code.  This saves one cfg cleanup call and
>> one walk of insn chain + one remove_unreachable_regions call.  Instead of that
>> I scheduled one gimple cleanup_eh pass just before end of optimization queue.
>> This does remove_unreachable_regions + one walk of gimple insn chain, so should
>> be about same cost or cheaper.
>>
>> It is done post out-of-ssa pass.  In my experience before out-of-ssa we tend to
>> have empty basic block hold together because of PHI nodes.  This is cleaned up
>> afterwards and helps some extra EH tree simplifications I implemented.  But in
>> general with some merge_phi improvements, one extra merge_phi pass after
>> critical edge splitting and moving pass before out-of-ssa we get pretty much
>> same results.
> some merge_phi improvements reffer to code on pretty-ipa that just marks
> unmergeable phi nodes on virtuals for renaming and merge blocks anyway.
> This makes quite few empty BBs disappear.

I hope we will not have post out-of-ssa gimple state in 4.5, so the
post out-of-ssa
solution is not a good start.

Richard.



More information about the Gcc-patches mailing list