mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
Shorten and rearrange data fields to save a word of memory.
Per review feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f95f945fb0
commit
79faf61fad
@ -103,19 +103,20 @@ namespace llvm {
|
||||
|
||||
unsigned reg; // the register or stack slot of this interval
|
||||
// if the top bits is set, it represents a stack slot.
|
||||
unsigned preference; // preferred register to allocate for this interval
|
||||
float weight; // weight of this interval
|
||||
bool isEarlyClobber;
|
||||
bool overlapsEarlyClobber;
|
||||
// The next 3 fields pack into a single word (on most hosts).
|
||||
// Logically the first two could be bitfields, but that's slower.
|
||||
bool isEarlyClobber; // marked earlyclobber in some asm
|
||||
bool overlapsEarlyClobber; // input to asm that has an earlyclobber
|
||||
unsigned short preference; // preferred register for this interval
|
||||
Ranges ranges; // the ranges in which this register is live
|
||||
VNInfoList valnos; // value#'s
|
||||
|
||||
public:
|
||||
LiveInterval(unsigned Reg, float Weight, bool IsSS = false,
|
||||
bool IsEarlyClobber = false, bool OverlapsEarlyClobber = false)
|
||||
: reg(Reg), preference(0), weight(Weight),
|
||||
isEarlyClobber(IsEarlyClobber),
|
||||
overlapsEarlyClobber(OverlapsEarlyClobber) {
|
||||
: reg(Reg), weight(Weight), isEarlyClobber(IsEarlyClobber),
|
||||
overlapsEarlyClobber(OverlapsEarlyClobber), preference(0) {
|
||||
if (IsSS)
|
||||
reg = reg | (1U << (sizeof(unsigned)*8-1));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user