https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71857
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amker.cheng at gmail dot com --- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- The difference is caused by increased average number of loop iterations (from 5 to 10), which caused a different selection of candidates: before: Selected IV set for loop 1 at /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_4.c:19, 5 avg niters, 0 expressions, 2 IVs: Candidate 7: Var befor: p2_27 Var after: p2_14 Incr POS: orig biv IV struct: Type: long int * Base: p2_11(D) + 8 Step: 8 Object: (void *) p2_11(D) Biv: N Overflowness wrto loop niter: Overflow Candidate 9: Var befor: i_28 Var after: i_15 Incr POS: orig biv IV struct: Type: long unsigned int Base: 16 Step: 16 Biv: N Overflowness wrto loop niter: No-overflow after: Selected IV set for loop 1 at /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_4.c:19, 10 avg niters, 0 expressions, 2 IVs: Candidate 7: Var befor: p2_27 Var after: p2_14 Incr POS: orig biv IV struct: Type: long int * Base: p2_11(D) + 8 Step: 8 Object: (void *) p2_11(D) Biv: N Overflowness wrto loop niter: Overflow Candidate 10: Var befor: ivtmp.11_21 Var after: ivtmp.11_29 Incr POS: before exit test IV struct: Type: unsigned long Base: (unsigned long) (p_16(D) + 128) Step: 128 Object: (void *) p_16(D) Biv: N Overflowness wrto loop niter: Overflow Replacing exit test: if (_22 > i_28) Should I just amend the dump scan to cover the 'Replacing exit test' ?