The tot compile ICEs when compiling the following code with these options.

 -Wno-error -fno-exceptions -fno-tree-vrp -O2 -fprofile-generate=.


copyprop.C: In member function 'void foo_14::hmmmmh_29(blah_46)':
copyprop.C:1051: error: definition in block 29 does not dominate use in block
30
for SSA_NAME: D.43954_350 in statement:
prephitmp.3431_374 = PHI <pretmp.3430_375(4), D.43954_350(30), D.32226_44(31)>
PHI argument
D.43954_350
for PHI node
prephitmp.3431_374 = PHI <pretmp.3430_375(4), D.43954_350(30), D.32226_44(31)>
copyprop.C:1051: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.



The problem is that the legality check done in copy-prop simulation Iphi node
visiting) stage and the actual substitute and folding stage is not consistent
-- the former is more relaxed. For some phi, the one of the phi argument is
propagated to LHS and lead to cfg's virtual simplification (edge pruning) --
the  simplified CFG leads to RHS ARG propagation of more PHI nodes.  In the
final stage, the copy-prop that leads to the simplified CFG may be found legal
and abandoned -- the end result is inconsistent data flow (SSA) and CFG.


-- 
           Summary: gcc ICE compiling code with option -fprofile-generate
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: davidxl at gcc dot gnu dot org


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

Reply via email to