[Bug middle-end/46076] [4.6 regression] constant propagation and compile-time math no longer happening versus 4.4 and 4.5

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Oct 19 03:33:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46076

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenther at suse dot de

--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-10-19 03:33:39 UTC ---
Hmm, actually in the modified testcase we miss the indirect inlining and we
also never turn the indirect call into direct call.
The problem is that pointer cast is in the way
  one.0_1 = (unsigned char (*Calculable) (void)) one;
  D.3314_7 = one.0_1 ();

Martin, Richi, this is really yours area.
I think both indirect inlining and constant propagation should be able to get
past the cast especially when there is no type mismatch in the testcase.

Honza



More information about the Gcc-bugs mailing list