------- Comment #2 from rguenth at gcc dot gnu dot org  2009-10-21 12:31 -------
Confirmed.

Looks like invalid tree-sharing.  On

(gdb) call debug_gimple_stmt (stmt)
# .MEM = VDEF <.MEM>
llvm::LiveInterval::removeRange (PI_10, D.2378_13->start, D.2378_13->end, 1);

we have replaced the first use but on replacing the 2nd one
the INDIRECT_REF was shared.

Both built from

#1  0x0888e476 in build_ref_for_offset_1 (res=0xbffff068, type=0xb7d72a8c, 
    offset=0, exp_type=0xb7d728fc)
    at /home/richard/src/trunk/gcc/tree-sra.c:1255
1255                      expr = build3 (COMPONENT_REF, TREE_TYPE (fld), *res,
fld,

without unsharing *res.

Thus, this is IPA-SRA.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jamborm at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
      Known to work|                            |4.4.2
   Last reconfirmed|0000-00-00 00:00:00         |2009-10-21 12:31:40
               date|                            |
            Summary|ice in rewrite_stmt, at     |[4.5 Regression] IPA-SRA:
                   |tree-into-ssa.c:1302        |ice in rewrite_stmt, at
                   |                            |tree-into-ssa.c:1302
   Target Milestone|---                         |4.5.0
            Version|unknown                     |4.5.0


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

Reply via email to