https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113441
--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #18) > (In reply to Tamar Christina from comment #17) > > Ok, bisected to > > > > g:2efe3a7de0107618397264017fb045f237764cc7 is the first bad commit > > commit 2efe3a7de0107618397264017fb045f237764cc7 > > Author: Hao Liu <h...@os.amperecomputing.com> > > Date: Wed Dec 6 14:52:19 2023 +0800 > > > > tree-optimization/112774: extend the SCEV CHREC tree with a nonwrapping > > flag > > > > Before this commit we were unable to analyse the stride of the access. > > After this niters seems to estimate the loop trip count at 4 and after that > > the logs diverge enormously. > > Hum, but that's backward and would match to what I said in comment#2 - we > should get better code with that. > > Juzhe - when you revert the above ontop of trunk does the generated code > look better for Risc-V? It doesn't revert but you can do diff --git a/gcc/tree-scalar-evolution.cc b/gcc/tree-scalar-evolution.cc index 25e3130e2f1..7870c8d76fb 100644 --- a/gcc/tree-scalar-evolution.cc +++ b/gcc/tree-scalar-evolution.cc @@ -2054,7 +2054,7 @@ analyze_scalar_evolution (class loop *loop, tree var) void record_nonwrapping_chrec (tree chrec) { - CHREC_NOWRAP(chrec) = 1; + CHREC_NOWRAP(chrec) = 0; if (dump_file && (dump_flags & TDF_SCEV)) {