mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-01 15:21:00 +00:00
[MC] Remove PhysRegSize from MCRegisterClass
Summary: The interface to get size and spill size of a register was moved from MCRegisterInfo to TargetRegisterInfo over a year ago. Afaik the old interface has bee around to give out-of-tree targets a chance to adapt to the new interface. One problem with the old MCRegisterClass::PhysRegSize was that it represented the size of a register as "size in bits" / 8. So a register had to be a multiple of eight bits wide for the size to be correct (and the byte size for the target needed to be eight bits). Reviewers: kparzysz, qcolombet Reviewed By: kparzysz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D47199 llvm-svn: 339350
This commit is contained in:
parent
fdc2e3fdbb
commit
a3c197394f
@ -41,7 +41,6 @@ public:
|
||||
const uint16_t RegsSize;
|
||||
const uint16_t RegSetSize;
|
||||
const uint16_t ID;
|
||||
const uint16_t PhysRegSize;
|
||||
const int8_t CopyCost;
|
||||
const bool Allocatable;
|
||||
|
||||
@ -80,11 +79,6 @@ public:
|
||||
return contains(Reg1) && contains(Reg2);
|
||||
}
|
||||
|
||||
/// Return the size of the physical register in bytes.
|
||||
unsigned getPhysRegSize() const { return PhysRegSize; }
|
||||
/// Temporary function to allow out-of-tree targets to switch.
|
||||
unsigned getSize() const { return getPhysRegSize(); }
|
||||
|
||||
/// getCopyCost - Return the cost of copying a value between two registers in
|
||||
/// this class. A negative number means the register class is very expensive
|
||||
/// to copy e.g. status flag register classes.
|
||||
|
@ -388,8 +388,7 @@ bool TargetInstrInfo::getStackSlotRange(const TargetRegisterClass *RC,
|
||||
return true;
|
||||
}
|
||||
unsigned BitSize = TRI->getSubRegIdxSize(SubIdx);
|
||||
// Convert bit size to byte size to be consistent with
|
||||
// MCRegisterClass::getSize().
|
||||
// Convert bit size to byte size.
|
||||
if (BitSize % 8)
|
||||
return false;
|
||||
|
||||
|
@ -1075,14 +1075,10 @@ RegisterInfoEmitter::runMCDesc(raw_ostream &OS, CodeGenTarget &Target,
|
||||
|
||||
for (const auto &RC : RegisterClasses) {
|
||||
assert(isInt<8>(RC.CopyCost) && "Copy cost too large.");
|
||||
uint32_t RegSize = 0;
|
||||
if (RC.RSI.isSimple())
|
||||
RegSize = RC.RSI.getSimple().RegSize;
|
||||
OS << " { " << RC.getName() << ", " << RC.getName() << "Bits, "
|
||||
<< RegClassStrings.get(RC.getName()) << ", "
|
||||
<< RC.getOrder().size() << ", sizeof(" << RC.getName() << "Bits), "
|
||||
<< RC.getQualifiedName() + "RegClassID" << ", "
|
||||
<< RegSize/8 << ", "
|
||||
<< RC.CopyCost << ", "
|
||||
<< ( RC.Allocatable ? "true" : "false" ) << " },\n";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user