[Unroll] Handle SwitchInst properly.
[oota-llvm.git] / lib / Transforms / Scalar / LoopUnrollPass.cpp
index 25b0877a4f4ca0ffa899bc62dc246f87b4864383..6b64d4e6ecf2f5eaa9af38c9d85412c7f2b93555 100644 (file)
@@ -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;