summaryrefslogtreecommitdiffstats
path: root/polly/lib/Support/ScopHelper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/Support/ScopHelper.cpp')
-rw-r--r--polly/lib/Support/ScopHelper.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/polly/lib/Support/ScopHelper.cpp b/polly/lib/Support/ScopHelper.cpp
index 69904f0c241..c55a4749314 100644
--- a/polly/lib/Support/ScopHelper.cpp
+++ b/polly/lib/Support/ScopHelper.cpp
@@ -345,3 +345,17 @@ bool polly::isErrorBlock(BasicBlock &BB) {
return false;
}
+
+Value *polly::getConditionFromTerminator(TerminatorInst *TI) {
+ if (BranchInst *BR = dyn_cast<BranchInst>(TI)) {
+ if (BR->isUnconditional())
+ return ConstantInt::getTrue(Type::getInt1Ty(TI->getContext()));
+
+ return BR->getCondition();
+ }
+
+ if (SwitchInst *SI = dyn_cast<SwitchInst>(TI))
+ return SI->getCondition();
+
+ return nullptr;
+}
OpenPOWER on IntegriCloud