This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Optimizations and the -pedantic option
"Dario Saccavino" <kathoum@gmail.com> writes:
> It seems that a transformation that is supposed to help optimization
> (seeing j as a constant value instead of a variable) has a negative
> effect.
Yes. It's because of this comment in tree-tailcall.c:
/* There should be no previous addition. TODO -- it should be fairly
straightforward to lift this restriction -- just allow storing
more complicated expressions in *A, and gimplify it in
adjust_accumulator_values. */
> I've just finished compiling gcc 4.2.3, and I'm very pleased to
> announce that all of the snippets posted to this thread are properly
> optimized (with -O2). Hail to the gcc team!
Interestingly, this was fixed not by fixing the above case, but by
disabling a different, incorrect, optimization. The patch which
re-enables the tailcall optimization is the patch for
http://gcc.gnu.org/PR30364 .
Ian