Check the terminator, not the basic block.
authorBill Wendling <isanbard@gmail.com>
Tue, 20 Sep 2011 20:20:50 +0000 (20:20 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 20 Sep 2011 20:20:50 +0000 (20:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140176 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/LoopExtractor.cpp

index f90d1b32b3505a82175ea30f9a8eadc1d14ffd25..714282b2b5eb11f8eb24c7a0c6aea2cdf0a60710 100644 (file)
@@ -278,7 +278,8 @@ bool BlockExtractorPass::runOnModule(Module &M) {
   for (unsigned i = 0, e = BlocksToExtract.size(); i != e; ++i) {
     SmallVector<BasicBlock*, 2> BlocksToExtractVec;
     BlocksToExtractVec.push_back(BlocksToExtract[i]);
-    if (const InvokeInst *II = dyn_cast<InvokeInst>(BlocksToExtract[i]))
+    if (const InvokeInst *II =
+        dyn_cast<InvokeInst>(BlocksToExtract[i]->getTerminator()))
       BlocksToExtractVec.push_back(II->getUnwindDest());
     ExtractBasicBlock(BlocksToExtractVec);
   }