[PATCH] D10161: [SCEV][LoopVectorize] Allow ScalarEvolution to make assumptions about overflows

silviu.baranga at arm.com silviu.baranga at arm.com
Tue Jul 28 08:26:47 PDT 2015


sbaranga added a comment.

Thanks for the reviews! I'll have a new version out soon to fix all of the highlighted issues.

-Silviu


================
Comment at: include/llvm/Analysis/ScalarEvolution.h:246
@@ +245,3 @@
+    bool Never;
+    /// Storage for different predicates that make up this Predicate Set.
+    SmallVector<SCEVAddRecOverflowPredicate, 16> AddRecOverflows;
----------------
rengolin wrote:
> Why the duplication? Will you have one for each further type?
I was thinking of having a SmallVector for storage of each predicate, plus all the references in Preds. So adding further types would require adding additional SmallVectors (we will probably have more types, I can think of at least one more for checking the range of an expression).

================
Comment at: include/llvm/Analysis/ScalarEvolutionExpressions.h:898
@@ +897,3 @@
+  static inline const OFAssumptionResult
+  removeOverflowsWithAssumptions(const SCEV *S, const Loop *L,
+                                 ScalarEvolution *SE) {
----------------
hfinkel wrote:
> Why not make this a member function of SCEV (same for rewriteSCEVWithAssumptions below)?
Makes sense.


http://reviews.llvm.org/D10161







More information about the llvm-commits mailing list