forked from OSchip/llvm-project
When deleting a basic block, remove call edges only for non-intrinsics.
llvm-svn: 132803
This commit is contained in:
parent
4b5665a1f7
commit
58fb52c6c7
|
@ -239,7 +239,7 @@ void PruneEH::DeleteBasicBlock(BasicBlock *BB) {
|
||||||
for (BasicBlock::iterator I = BB->end(), E = BB->begin(); I != E; ) {
|
for (BasicBlock::iterator I = BB->end(), E = BB->begin(); I != E; ) {
|
||||||
--I;
|
--I;
|
||||||
if (CallInst *CI = dyn_cast<CallInst>(I)) {
|
if (CallInst *CI = dyn_cast<CallInst>(I)) {
|
||||||
if (!isa<DbgInfoIntrinsic>(I))
|
if (!isa<IntrinsicInst>(I))
|
||||||
CGN->removeCallEdgeFor(CI);
|
CGN->removeCallEdgeFor(CI);
|
||||||
} else if (InvokeInst *II = dyn_cast<InvokeInst>(I))
|
} else if (InvokeInst *II = dyn_cast<InvokeInst>(I))
|
||||||
CGN->removeCallEdgeFor(II);
|
CGN->removeCallEdgeFor(II);
|
||||||
|
|
Loading…
Reference in New Issue