This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/37242] missed FRE opportunity



------- Comment #2 from bonzini at gnu dot org  2008-08-26 12:02 -------
This is missed because this:

  maxIdx.1_15 = (unsigned int) maxIdx_59;
  D.1923_20 = maxIdx.1_15 + 1;
  D.1924_21 = D.1923_20 * 4;
  D.1925_22 = numbers_9(D) + D.1924_21;

and this:

  maxIdx_24 = maxIdx_59 + 1;
  pretmp.36_86 = (unsigned int) maxIdx_24;
  pretmp.36_88 = pretmp.36_86 * 4;
  pretmp.38_90 = numbers_9(D) + pretmp.36_88;

do not match.  The first has the arithmetic done as unsigned, the second as
signed.  This could be due to array indexing lowered to POINTER_PLUS_EXPR.


-- 

bonzini at gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org, pinskia at gcc dot gnu
                   |                            |dot org
            Summary|missed load PRE-like        |missed FRE opportunity
                   |opportunity                 |


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]