------- Comment #2 from spop at gcc dot gnu dot org  2010-01-13 19:01 -------
> pdv_d.f:89:0: error: definition in block 40 does not dominate use in block 212
> for SSA_NAME: prephitmp.28_439 in statement:
> D.2771_606 = D.2770_605 <= prephitmp.28_439;

The error comes from the fact that we are not clearing the scev
information anymore in between the code generation of two scops.

In this particular case, we have two scops, the second scop contains a
loop for which the number of iterations is a variable computed in the
first scop, and because we do not update the niter/scev info we keep
referring to the old SSA_NAME, prephitmp.28_439.

A solution would be to rename all the scev info based on the
rename_map that is computed by the translation of the first scop.

I am working on a patch to do that.

Sebastian


-- 

spop at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |spop at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-01-13 17:36:09         |2010-01-13 19:01:20
               date|                            |
            Summary|ICE: verify_ssa failed      |[graphite] ICE: verify_ssa
                   |                            |failed


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

Reply via email to