mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-03 14:31:10 +00:00
Fix bug: test/Regression/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
Which contains a description of why this is neccesary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2733 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
37dc78d0d3
commit
89d46b0f09
@ -8,6 +8,7 @@
|
|||||||
#include "llvm/iTerminators.h"
|
#include "llvm/iTerminators.h"
|
||||||
#include "llvm/Type.h"
|
#include "llvm/Type.h"
|
||||||
#include "llvm/Support/CFG.h"
|
#include "llvm/Support/CFG.h"
|
||||||
|
#include "llvm/Constant.h"
|
||||||
#include "llvm/iPHINode.h"
|
#include "llvm/iPHINode.h"
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
|
|
||||||
@ -131,7 +132,9 @@ void BasicBlock::removePredecessor(BasicBlock *Pred) {
|
|||||||
// If the PHI _HAD_ two uses, replace PHI node with its now *single* value
|
// If the PHI _HAD_ two uses, replace PHI node with its now *single* value
|
||||||
if (max_idx == 2)
|
if (max_idx == 2)
|
||||||
PN->replaceAllUsesWith(PN->getOperand(0));
|
PN->replaceAllUsesWith(PN->getOperand(0));
|
||||||
delete getInstList().remove(begin()); // Remove the PHI node
|
else // Otherwise there are no incoming values/edges, replace with dummy
|
||||||
|
PN->replaceAllUsesWith(Constant::getNullValue(PN->getType()));
|
||||||
|
delete getInstList().remove(begin()); // Remove the PHI node
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Okay, now we know that we need to remove predecessor #pred_idx from all
|
// Okay, now we know that we need to remove predecessor #pred_idx from all
|
||||||
|
Loading…
x
Reference in New Issue
Block a user