mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106781 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c0490ac915
commit
3c7b3fecac
@ -228,10 +228,6 @@ namespace llvm {
|
||||
|
||||
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 releaseMemory();
|
||||
|
||||
|
@ -783,37 +783,6 @@ LiveInterval* LiveIntervals::dupInterval(LiveInterval *li) {
|
||||
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.
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user