forked from OSchip/llvm-project
parent
46841e1bd9
commit
012d4369f6
|
@ -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…
Reference in New Issue