[PATCH] D139403: [SCEV] Compute symbolic exit count for 'and' conditions
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 6 02:10:51 PST 2022
nikic added inline comments.
================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:8715
+ if (EL.ExactNotTaken != getCouldNotCompute() ||
+ EL.SymbolicMaxNotTaken != getCouldNotCompute())
ExitCounts.emplace_back(ExitBB, EL);
----------------
Why the new condition here?
================
Comment at: llvm/test/Analysis/ScalarEvolution/widenable-condition.ll:27
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 1999
-; CHECK-NEXT: Loop %loop: Unpredictable symbolic max backedge-taken count.
+; CHECK-NEXT: Loop %loop: symbolic max backedge-taken count is 1999
; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count.
----------------
I don't really get why this patch introduces these changes (i.e. why this wasn't the result previously). Aren't we already assigning the constant max to the symbol max if there is no exact?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139403/new/
https://reviews.llvm.org/D139403
More information about the llvm-commits
mailing list