When deleting a basic block, remove call edges only for non-intrinsics.
authorJohn McCall <rjmccall@apple.com>
Thu, 9 Jun 2011 20:31:09 +0000 (20:31 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 9 Jun 2011 20:31:09 +0000 (20:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132803 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/PruneEH.cpp

index 496b96aceb34245f831b6c6ddd7fa7ea437bf9c6..2f3baebf4864de3b536362b44d1c9e5ddae76ad4 100644 (file)
@@ -239,7 +239,7 @@ void PruneEH::DeleteBasicBlock(BasicBlock *BB) {
   for (BasicBlock::iterator I = BB->end(), E = BB->begin(); I != E; ) {
     --I;
     if (CallInst *CI = dyn_cast<CallInst>(I)) {
-      if (!isa<DbgInfoIntrinsic>(I))
+      if (!isa<IntrinsicInst>(I))
         CGN->removeCallEdgeFor(CI);
     } else if (InvokeInst *II = dyn_cast<InvokeInst>(I))
       CGN->removeCallEdgeFor(II);