summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ScalarEvolution.cpp
diff options
context:
space:
mode:
authorChen Zheng <czhengsz@cn.ibm.com>2019-07-11 02:18:22 +0000
committerChen Zheng <czhengsz@cn.ibm.com>2019-07-11 02:18:22 +0000
commit627095ec5be18e9a628f2aad5f057425ffbc2505 (patch)
tree94e937e7526f45be9ed253dc4eeb823dca15e6ec /llvm/lib/Analysis/ScalarEvolution.cpp
parente837847ec64aa9420ed4ccecd40ba987e1a7338b (diff)
downloadbcm5719-llvm-627095ec5be18e9a628f2aad5f057425ffbc2505.tar.gz
bcm5719-llvm-627095ec5be18e9a628f2aad5f057425ffbc2505.zip
[SCEV] teach SCEV symbolical execution about overflow intrinsics folding.
Differential Revision: https://reviews.llvm.org/D64422 llvm-svn: 365726
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolution.cpp')
-rw-r--r--llvm/lib/Analysis/ScalarEvolution.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index 4a98fc537a5..95d6c20b692 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -7674,7 +7674,7 @@ ScalarEvolution::ExitLimit ScalarEvolution::computeShiftCompareExitLimit(
static bool CanConstantFold(const Instruction *I) {
if (isa<BinaryOperator>(I) || isa<CmpInst>(I) ||
isa<SelectInst>(I) || isa<CastInst>(I) || isa<GetElementPtrInst>(I) ||
- isa<LoadInst>(I))
+ isa<LoadInst>(I) || isa<ExtractValueInst>(I))
return true;
if (const CallInst *CI = dyn_cast<CallInst>(I))
OpenPOWER on IntegriCloud