mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-20 14:29:27 +00:00
Remove code copied from GenRegisterInfo.inc.
There's no apparent reason this code was copied from generated source into a .cpp. It sets a bad example for those working on other targets and trying to understand the register info API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175849 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
46e0d1d58c
commit
667754e239
@ -291,58 +291,6 @@ void HexagonRegisterInfo::getInitialFrameState(std::vector<MachineMove>
|
|||||||
Moves.push_back(MachineMove(0, Dst, Src));
|
Moves.push_back(MachineMove(0, Dst, Src));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the weight in units of pressure for this register class.
|
|
||||||
const RegClassWeight &
|
|
||||||
HexagonRegisterInfo::getRegClassWeight(const TargetRegisterClass *RC) const {
|
|
||||||
// Each TargetRegisterClass has a per register weight, and weight
|
|
||||||
// limit which must be less than the limits of its pressure sets.
|
|
||||||
static const RegClassWeight RCWeightTable[] = {
|
|
||||||
{1, 32}, // IntRegs
|
|
||||||
{1, 8}, // CRRegs
|
|
||||||
{1, 4}, // PredRegs
|
|
||||||
{2, 16}, // DoubleRegs
|
|
||||||
{0, 0} };
|
|
||||||
return RCWeightTable[RC->getID()];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get the number of dimensions of register pressure.
|
|
||||||
unsigned HexagonRegisterInfo::getNumRegPressureSets() const {
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get the name of this register unit pressure set.
|
|
||||||
const char *HexagonRegisterInfo::getRegPressureSetName(unsigned Idx) const {
|
|
||||||
static const char *const RegPressureSetName[] = {
|
|
||||||
"IntRegsRegSet",
|
|
||||||
"CRRegsRegSet",
|
|
||||||
"PredRegsRegSet",
|
|
||||||
"DoubleRegsRegSet"
|
|
||||||
};
|
|
||||||
assert((Idx < 4) && "Index out of bounds");
|
|
||||||
return RegPressureSetName[Idx];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get the register unit pressure limit for this dimension.
|
|
||||||
/// This limit must be adjusted dynamically for reserved registers.
|
|
||||||
unsigned HexagonRegisterInfo::getRegPressureSetLimit(unsigned Idx) const {
|
|
||||||
static const int RegPressureLimit [] = { 16, 4, 2, 8 };
|
|
||||||
assert((Idx < 4) && "Index out of bounds");
|
|
||||||
return RegPressureLimit[Idx];
|
|
||||||
}
|
|
||||||
|
|
||||||
const int*
|
|
||||||
HexagonRegisterInfo::getRegClassPressureSets(const TargetRegisterClass *RC)
|
|
||||||
const {
|
|
||||||
static const int RCSetsTable[] = {
|
|
||||||
0, -1, // IntRegs
|
|
||||||
1, -1, // CRRegs
|
|
||||||
2, -1, // PredRegs
|
|
||||||
0, -1, // DoubleRegs
|
|
||||||
-1 };
|
|
||||||
static const unsigned RCSetStartTable[] = { 0, 2, 4, 6, 0 };
|
|
||||||
unsigned SetListStart = RCSetStartTable[RC->getID()];
|
|
||||||
return &RCSetsTable[SetListStart];
|
|
||||||
}
|
|
||||||
unsigned HexagonRegisterInfo::getEHExceptionRegister() const {
|
unsigned HexagonRegisterInfo::getEHExceptionRegister() const {
|
||||||
llvm_unreachable("What is the exception register");
|
llvm_unreachable("What is the exception register");
|
||||||
}
|
}
|
||||||
|
@ -84,11 +84,6 @@ struct HexagonRegisterInfo : public HexagonGenRegisterInfo {
|
|||||||
// Exception handling queries.
|
// Exception handling queries.
|
||||||
unsigned getEHExceptionRegister() const;
|
unsigned getEHExceptionRegister() const;
|
||||||
unsigned getEHHandlerRegister() const;
|
unsigned getEHHandlerRegister() const;
|
||||||
const RegClassWeight &getRegClassWeight(const TargetRegisterClass *RC) const;
|
|
||||||
unsigned getNumRegPressureSets() const;
|
|
||||||
const char *getRegPressureSetName(unsigned Idx) const;
|
|
||||||
unsigned getRegPressureSetLimit(unsigned Idx) const;
|
|
||||||
const int* getRegClassPressureSets(const TargetRegisterClass *RC) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // end namespace llvm
|
} // end namespace llvm
|
||||||
|
Loading…
x
Reference in New Issue
Block a user