summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorMichael Zolotukhin <mzolotukhin@apple.com>2015-07-29 18:10:33 +0000
committerMichael Zolotukhin <mzolotukhin@apple.com>2015-07-29 18:10:33 +0000
commit9f06ef76d3cbaaf945f57a80059f0c6d3679a4c4 (patch)
tree010191a9aa66145e152197798e906723229e7ec3 /llvm/lib/Transforms
parent3a7d55b623752dbef21258409ec120cd4e70410f (diff)
downloadbcm5719-llvm-9f06ef76d3cbaaf945f57a80059f0c6d3679a4c4.tar.gz
bcm5719-llvm-9f06ef76d3cbaaf945f57a80059f0c6d3679a4c4.zip
[Unroll] Handle SwitchInst properly.
Previously successor selection was simply wrong. llvm-svn: 243545
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
index 25b0877a4f4..6b64d4e6ecf 100644
--- a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
@@ -619,8 +619,8 @@ analyzeLoopUnrollCost(const Loop *L, unsigned TripCount, ScalarEvolution &SE,
if (isa<UndefValue>(SimpleCond))
Succ = SI->getSuccessor(0);
else
- Succ =
- SI->getSuccessor(cast<ConstantInt>(SimpleCond)->getSExtValue());
+ Succ = SI->findCaseValue(cast<ConstantInt>(SimpleCond))
+ .getCaseSuccessor();
if (L->contains(Succ))
BBWorklist.insert(Succ);
continue;
OpenPOWER on IntegriCloud