[Bug tree-optimization/69728] [6/7/8 Regression] internal compiler error: in outer_projection_mupa, at graphite-sese-to-poly.c:1175

spop at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Sep 19 14:31:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69728

--- Comment #19 from Sebastian Pop <spop at gcc dot gnu.org> ---
> So how'd we properly handle a valid empty domain?

DCE the statement.

If the domain for a statement is empty, it means that the statement does not
execute: it is dead code.

I think we are better enforcing the elimination of the statement as this wrong
analysis (or translation) of the number of iterations could produce wrong code.

> I assume P_21 is c.7_12

the number after P_ is the ssa variable number, so P_21 is c.7_21.

> we have 0 <= i1 <= 2147483637, whereever that comes from.

you can think about i1 as a canonical induction variable: 0 <= i1
and i1 is indexing all iterations in that loop: i.e., i1 is incremented by 1.

> Probably from the i1 <= 2147483637 constraint

this constraint is added based on the type of the induction variable that gives
an upper bound for the iteration domain.

> 4294967296*floor((-1 - P_21)/4294967296) < -P_21 - i1

Yes, this constraint seems to be wrong.


More information about the Gcc-bugs mailing list