order of passes (was: importing code in IR (GIMPLE and/or RTL))
Luchezar Belev
l_belev@yahoo.com
Tue May 18 16:58:00 GMT 2004
--- Dave Korn" <dk at artimi dot com> wrote:
>> It seems that this problam is caused by the fact that
>> the GSCE, which would optimize away this superfluous branch,
>
>Sorry, don't you mean jump threading? Is -fthread-jumps perhaps required?
>
>> is ran before the basic block reordering, and at the moment
>> when it ran, the code still looked more like the first
>> case (with -fno-reorder-blocks), so it couldn't do much.
>
>Does -fcse-follow-jumps make any difference?
>
>From my reading of gcc.info and gccint.info I understand that both
-fthread-jumps and -fcse-follow-jumps do different things from what
is needed here.
-fthread-jumps checks for the same or the inverse condition, which
is not the case here.
-fcse-follow-jumps doesn't remove any jumps, it just continues the
cse processing of the current basic block to the next one through the jump.
Anyway they are both enabled by -O3.
If I understand it correctly, what is needed here is the Jump Bypassing
which is a part of the GCSE. This is according to gccint.info/passes.
I may be wrong.
Cheers,
Lucho.
__________________________________
Do you Yahoo!?
SBC Yahoo! - Internet access at a great low price.
http://promo.yahoo.com/sbc/
More information about the Gcc
mailing list