This is the mail archive of the
mailing list for the GCC project.
Re: -fno-tree-cselim not working?
On 25/10, Andrew Pinski wrote:
| On 10/25/07, Samuel Tardieu <email@example.com> wrote:
| > With yesterday's SVN sources, the following source produces the same
| > result with -ftree-cselim and -fno-tree-cselim on x86:
| Because another patch does this optimization, the RTL if conversion
| pass which implements conditional moves.
Is there any way to turn it off (other than using -O0) (see current
It looks like this particular optimization is duplicated, as the comment
in tree-ssa-phiopt.c exactly describes what happens here:
/* This pass tries to transform conditional stores into unconditional
ones, enabling further simplifications with the simpler then and else
blocks. In particular it replaces this:
if (cond) goto bb2; else goto bb1;
*p = RHS
if (cond) goto bb1; else goto bb2;
condtmp' = *p;
condtmp = PHI <RHS, condtmp'>
*p = condtmp
This transformation can only be done under several constraints,
documented below. */