summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2018-08-30 03:39:16 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2018-08-30 03:39:16 +0000
commit3c284bde3fc02a5402cb40f2df95508d591598b2 (patch)
treef6faf909c0fb968d3b523daf9659987f1e730cba /llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
parenta986a312424d19f146da851c276d57cbdb717d8c (diff)
downloadbcm5719-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.cpp7
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;
OpenPOWER on IntegriCloud