This is the mail archive of the
mailing list for the GCC project.
RE: order of passes (was: importing code in IR (GIMPLE and/or RTL))
- From: Luchezar Belev <l_belev at yahoo dot com>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 18 May 2004 09:58:40 -0700 (PDT)
- Subject: RE: order of passes (was: importing code in IR (GIMPLE and/or RTL))
--- 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.
Do you Yahoo!?
SBC Yahoo! - Internet access at a great low price.