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