diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2018-08-30 03:39:16 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-08-30 03:39:16 +0000 |
commit | 3c284bde3fc02a5402cb40f2df95508d591598b2 (patch) | |
tree | f6faf909c0fb968d3b523daf9659987f1e730cba /llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp | |
parent | a986a312424d19f146da851c276d57cbdb717d8c (diff) | |
download | bcm5719-llvm-3c284bde3fc02a5402cb40f2df95508d591598b2.tar.gz bcm5719-llvm-3c284bde3fc02a5402cb40f2df95508d591598b2.zip |
Re-enable "[NFC] Unify guards detection"
rL340921 has been reverted by rL340923 due to linkage dependency
from Transform/Utils to Analysis which is not allowed. In this patch
this has been fixed, a new utility function moved to Analysis.
Differential Revision: https://reviews.llvm.org/D51152
llvm-svn: 341014
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp b/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp index fac57014740..4867b33d671 100644 --- a/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp +++ b/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp @@ -15,6 +15,7 @@ #include "llvm/Transforms/Scalar/LowerGuardIntrinsic.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/Analysis/GuardUtils.h" #include "llvm/IR/BasicBlock.h" #include "llvm/IR/Function.h" #include "llvm/IR/InstIterator.h" @@ -49,10 +50,8 @@ static bool lowerGuardIntrinsic(Function &F) { SmallVector<CallInst *, 8> ToLower; for (auto &I : instructions(F)) - if (auto *CI = dyn_cast<CallInst>(&I)) - if (auto *F = CI->getCalledFunction()) - if (F->getIntrinsicID() == Intrinsic::experimental_guard) - ToLower.push_back(CI); + if (isGuard(&I)) + ToLower.push_back(cast<CallInst>(&I)); if (ToLower.empty()) return false; |