[PATCH] D23594: SCEV: Don't assert about non-SCEV-able value in isSCEVExprNeverPoison() (PR28932)

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 17 15:41:40 PDT 2016


sanjoy accepted this revision.
sanjoy added a comment.
This revision is now accepted and ready to land.

The bailout lgtm for now.  Can you also add a TODO stating that we can do better here in some cases?


================
Comment at: lib/Analysis/ScalarEvolution.cpp:4869
@@ -4868,1 +4868,3 @@
   for (unsigned OpIndex = 0; OpIndex < I->getNumOperands(); ++OpIndex) {
+    if (!isSCEVable(I->getOperand(OpIndex)->getType()))
+      return false;
----------------
Add a one-liner here that `I` could be an `extractvalue` from a call to an overflow intrinsic, since it is somewhat non-obvious why you'd get a non-SCEVable value here.


https://reviews.llvm.org/D23594





More information about the llvm-commits mailing list