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/45991] [4.6 Regression] ICE: verify_stmts failed: Invalid address operand in in TARGET_MEM_REF. with -fstrict-overflow


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

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-04 12:29:20 UTC ---
The problem is that fold figures sth out that tree-affine doesn't.  The
latter doesn't simplify

{
  type = long unsigned int
  offset = 0
  elements = {
    [0] = &A[(long unsigned int) (long unsigned int) ((i_3(D) + -1) * 16) + 20]
* 1, 
    [1] = (long unsigned int) ((i_3(D) + -1) * 16) *
340282366920938463463374607431768211455, 
    [2] = ivtmp.9_20 * 1
  }
}

to just &A[20] + ivtmp.9_20.

Now we can avoid the ICE by gimplifying the address properly which we don't
because of a typo I made in an earlier change.


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