[PATCH] D139403: [SCEV] Compute symbolic exit count for 'and' conditions
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 7 02:11:05 PST 2022
nikic added inline comments.
================
Comment at: llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll:227
ret i32 -3
}
----------------
mkazantsev wrote:
> nikic wrote:
> > I'm missing a test for the case where we actually produce a umin_seq.
> In fact we have it in `test/Analysis/ScalarEvolution/exit-count-select-safe.ll`. This patch preserves current behavior, however if I remove `/*IsSequential*/ true`, it changes. Is it enough or you want a new one specifically for this?
If I understand correctly, the tests in exit-count-select-safe.ll cover the case where we have an exact (but umin_seq) exit count. I think it still makes sense to have a test for the case where we don't have an exact count, but do have a symbolic umin_seq count.
We probably also want to use umin or umin_seq depending on `isa<BinaryOperator>(ExitCond)`, same as is done for the ExactNotTaken case a few lines before the new code.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139403/new/
https://reviews.llvm.org/D139403
More information about the llvm-commits
mailing list