forked from OSchip/llvm-project
Remove the now unused LiveIntervals::getVNInfoSourceReg().
This method was always a bit too simplistic for the real world. It didn't really deal with subregisters and such. llvm-svn: 106781
This commit is contained in:
parent
487ed997d0
commit
9b659142a6
|
@ -228,10 +228,6 @@ namespace llvm {
|
||||||
|
|
||||||
VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
|
VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
|
||||||
|
|
||||||
/// getVNInfoSourceReg - Helper function that parses the specified VNInfo
|
|
||||||
/// copy field and returns the source register that defines it.
|
|
||||||
unsigned getVNInfoSourceReg(const VNInfo *VNI) const;
|
|
||||||
|
|
||||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
|
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
|
||||||
virtual void releaseMemory();
|
virtual void releaseMemory();
|
||||||
|
|
||||||
|
|
|
@ -783,37 +783,6 @@ LiveInterval* LiveIntervals::dupInterval(LiveInterval *li) {
|
||||||
return NewLI;
|
return NewLI;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getVNInfoSourceReg - Helper function that parses the specified VNInfo
|
|
||||||
/// copy field and returns the source register that defines it.
|
|
||||||
unsigned LiveIntervals::getVNInfoSourceReg(const VNInfo *VNI) const {
|
|
||||||
if (!VNI->getCopy())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (VNI->getCopy()->isExtractSubreg()) {
|
|
||||||
// If it's extracting out of a physical register, return the sub-register.
|
|
||||||
unsigned Reg = VNI->getCopy()->getOperand(1).getReg();
|
|
||||||
if (TargetRegisterInfo::isPhysicalRegister(Reg)) {
|
|
||||||
unsigned SrcSubReg = VNI->getCopy()->getOperand(2).getImm();
|
|
||||||
unsigned DstSubReg = VNI->getCopy()->getOperand(0).getSubReg();
|
|
||||||
if (SrcSubReg == DstSubReg)
|
|
||||||
// %reg1034:3<def> = EXTRACT_SUBREG %EDX, 3
|
|
||||||
// reg1034 can still be coalesced to EDX.
|
|
||||||
return Reg;
|
|
||||||
assert(DstSubReg == 0);
|
|
||||||
Reg = tri_->getSubReg(Reg, VNI->getCopy()->getOperand(2).getImm());
|
|
||||||
}
|
|
||||||
return Reg;
|
|
||||||
} else if (VNI->getCopy()->isInsertSubreg() ||
|
|
||||||
VNI->getCopy()->isSubregToReg())
|
|
||||||
return VNI->getCopy()->getOperand(2).getReg();
|
|
||||||
|
|
||||||
unsigned SrcReg, DstReg, SrcSubReg, DstSubReg;
|
|
||||||
if (tii_->isMoveInstr(*VNI->getCopy(), SrcReg, DstReg, SrcSubReg, DstSubReg))
|
|
||||||
return SrcReg;
|
|
||||||
llvm_unreachable("Unrecognized copy instruction!");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Register allocator hooks.
|
// Register allocator hooks.
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue