------- Additional Comments From aoliva at gcc dot gnu dot org 2005-04-14 20:19 ------- Created an attachment (id=8632) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8632&action=view) C testcase that triggers the bug
The problem is that (from the vrp dump): Simulating statement (from ssa_edges): jD.1487_6 = (intD.0) iD.1486_1; Visiting statement: jD.1487_6 = (intD.0) iD.1486_1; (analyze_scalar_evolution (loop_nb = 1) (scalar = j_6) (get_scalar_evolution (scalar = j_6) (scalar_evolution = {123, +, 1}_1)) (set_scalar_evolution (scalar = j_6) (scalar_evolution = {123, +, 1}_1)) ) Found new range [123, 2147483647] for j_6 [...] Visiting statement: if (jD.1487_6 < 0) goto <L2>; else goto <L1>; Visiting conditional with predicate: j_6 < 0 With known ranges j_6: [123, 2147483647] Predicate evaluates to: 0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21029