aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2024-05-28 16:18:13 -0700
committerFlorian Hahn <flo@fhahn.com>2024-05-28 16:18:13 -0700
commitc0dce97123f6f4da675cddd13ed78cb6af3dc790 (patch)
tree5fd4e5d6e684a1931db10458bc32b7489d7eb1a7
parent68c2420c4bfe6f28094a0b8b576800c7219b6f10 (diff)
downloadllvm-users/fhahn/scev-countable-exit-counts.zip
llvm-users/fhahn/scev-countable-exit-counts.tar.gz
llvm-users/fhahn/scev-countable-exit-counts.tar.bz2
-rw-r--r--llvm/include/llvm/Analysis/ScalarEvolution.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/include/llvm/Analysis/ScalarEvolution.h b/llvm/include/llvm/Analysis/ScalarEvolution.h
index d9e10dd..72f3d94 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolution.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolution.h
@@ -912,6 +912,10 @@ public:
return getBackedgeTakenCount(L, SymbolicMaximum);
}
+ /// Similar to getSymbolicMaxBackedgeTakenCount, except it will add a set of
+ /// SCEV predicates to Predicates that are required to be true in order for
+ /// the answer to be correct. Predicates can be checked with run-time
+ /// checks and can be used to perform loop versioning.
const SCEV *getPredicatedSymbolicMaxBackedgeTakenCount(
const Loop *L, SmallVector<const SCEVPredicate *, 4> &Predicates);