mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-30 19:35:54 +00:00
Dead code elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96837 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e298d7cc58
commit
f895dbeb29
@ -55,7 +55,6 @@ void llvm::PHIElimination::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
bool llvm::PHIElimination::runOnMachineFunction(MachineFunction &Fn) {
|
||||
MRI = &Fn.getRegInfo();
|
||||
|
||||
PHIDefs.clear();
|
||||
bool Changed = false;
|
||||
|
||||
// Split critical edges to help the coalescer
|
||||
@ -214,10 +213,6 @@ void llvm::PHIElimination::LowerAtomicPHINode(
|
||||
TII->copyRegToReg(MBB, AfterPHIsIt, DestReg, IncomingReg, RC, RC);
|
||||
}
|
||||
|
||||
// Record PHI def.
|
||||
assert(!hasPHIDef(DestReg) && "Vreg has multiple phi-defs?");
|
||||
PHIDefs[DestReg] = &MBB;
|
||||
|
||||
// Update live variable information if there is any.
|
||||
LiveVariables *LV = getAnalysisIfAvailable<LiveVariables>();
|
||||
if (LV) {
|
||||
|
@ -22,10 +22,8 @@ namespace llvm {
|
||||
/// Lower PHI instructions to copies.
|
||||
class PHIElimination : public MachineFunctionPass {
|
||||
MachineRegisterInfo *MRI; // Machine register information
|
||||
typedef DenseMap<unsigned, MachineBasicBlock*> PHIDefMap;
|
||||
|
||||
public:
|
||||
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
PHIElimination() : MachineFunctionPass(&ID) {}
|
||||
|
||||
@ -33,12 +31,6 @@ namespace llvm {
|
||||
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
|
||||
|
||||
/// Return true if the given vreg was defined by a PHI intsr prior to
|
||||
/// lowering.
|
||||
bool hasPHIDef(unsigned vreg) const {
|
||||
return PHIDefs.count(vreg);
|
||||
}
|
||||
|
||||
private:
|
||||
/// EliminatePHINodes - Eliminate phi nodes by inserting copy instructions
|
||||
/// in predecessor basic blocks.
|
||||
@ -106,7 +98,6 @@ namespace llvm {
|
||||
typedef DenseMap<BBVRegPair, unsigned> VRegPHIUse;
|
||||
|
||||
VRegPHIUse VRegPHIUseCount;
|
||||
PHIDefMap PHIDefs;
|
||||
|
||||
// Defs of PHI sources which are implicit_def.
|
||||
SmallPtrSet<MachineInstr*, 4> ImpDefs;
|
||||
|
Loading…
x
Reference in New Issue
Block a user