aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2019-02-14 11:10:21 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2019-02-14 11:10:21 +0000
commitb3168a400f2fdc4946ae7ca03c8a48b94e57e569 (patch)
treeedfd26e56958382f847182dd66556c7057e4a3c8 /llvm/lib/Analysis/ValueTracking.cpp
parent897a9f8d008cb8cb55e238d12806ed9244a6c937 (diff)
downloadllvm-b3168a400f2fdc4946ae7ca03c8a48b94e57e569.zip
llvm-b3168a400f2fdc4946ae7ca03c8a48b94e57e569.tar.gz
llvm-b3168a400f2fdc4946ae7ca03c8a48b94e57e569.tar.bz2
Teach isGuaranteedToTransferExecutionToSuccessor about widenable conditions
Widenable condition intrinsic is guaranteed to return value, notify the isGuaranteedToTransferExecutionToSuccessor function about it. llvm-svn: 354020
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 6f88a6b..deb2fb9 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -4347,7 +4347,8 @@ bool llvm::isGuaranteedToTransferExecutionToSuccessor(const Instruction *I) {
// is guaranteed to return.
return CS.onlyReadsMemory() || CS.onlyAccessesArgMemory() ||
match(I, m_Intrinsic<Intrinsic::assume>()) ||
- match(I, m_Intrinsic<Intrinsic::sideeffect>());
+ match(I, m_Intrinsic<Intrinsic::sideeffect>()) ||
+ match(I, m_Intrinsic<Intrinsic::experimental_widenable_condition>());
}
// Other instructions return normally.