mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Not all users of a BB are Instructions any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48047 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -45,7 +45,7 @@ using namespace llvm;
|
||||
STATISTIC(NumInstRemoved, "Number of instructions removed");
|
||||
STATISTIC(NumDeadBlocks , "Number of basic blocks unreachable");
|
||||
|
||||
STATISTIC(IPNumInstRemoved, "Number ofinstructions removed by IPSCCP");
|
||||
STATISTIC(IPNumInstRemoved, "Number of instructions removed by IPSCCP");
|
||||
STATISTIC(IPNumDeadBlocks , "Number of basic blocks unreachable by IPSCCP");
|
||||
STATISTIC(IPNumArgsElimed ,"Number of arguments constant propagated by IPSCCP");
|
||||
STATISTIC(IPNumGlobalConst, "Number of globals found to be constant by IPSCCP");
|
||||
@@ -1637,6 +1637,11 @@ bool IPSCCP::runOnModule(Module &M) {
|
||||
// If there are any PHI nodes in this successor, drop entries for BB now.
|
||||
BasicBlock *DeadBB = BlocksToErase[i];
|
||||
while (!DeadBB->use_empty()) {
|
||||
if (BasicBlock *PredBB = dyn_cast<BasicBlock>(DeadBB->use_back())) {
|
||||
PredBB->setUnwindDest(NULL);
|
||||
continue;
|
||||
}
|
||||
|
||||
Instruction *I = cast<Instruction>(DeadBB->use_back());
|
||||
bool Folded = ConstantFoldTerminator(I->getParent());
|
||||
if (!Folded) {
|
||||
|
Reference in New Issue
Block a user