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/42521] [4.5 Regression] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c:2844



------- Comment #10 from sebpop at gmail dot com  2010-01-13 18:15 -------
Subject: Re:  [4.5 Regression] ICE: in 
        graphite_loop_normal_form, at graphite-sese-to-poly.c:2844

> 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


-- 


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


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