[llvm-commits] [llvm] r56326 - in /llvm/trunk: include/llvm/CodeGen/LiveInterval.h include/llvm/CodeGen/LiveIntervalAnalysis.h lib/CodeGen/LiveInterval.cpp lib/CodeGen/LiveIntervalAnalysis.cpp lib/CodeGen/RegAllocLinearScan.cpp
Chris Lattner
clattner at apple.com
Fri Sep 19 20:42:31 PDT 2008
On Sep 19, 2008, at 7:10 PM, Dale Johannesen wrote:
>
> On Sep 19, 2008, at 6:18 PM, Evan Cheng wrote:
>>>>> On Sep 19, 2008, at 10:48 AMPDT, Evan Cheng wrote:
>>>>>>>
>>>>>>> float weight; // weight of this interval
>>>>>>> + bool isEarlyClobber;
>>>>>>> + bool overlapsEarlyClobber;
>>>>>>
>>>>>>
>> Ok. Although please use bitfield to pack them in order to save
>> memory.
>
> I considered that. Bitfields are slower, and do not save any
> memory...
>
>> Actually, we can probably pack "preference" field in as well. So 3
>> bits for isEarlyClobber, overlapsEarlyClobber, and hasPreference. Use
>> the rest of a uint32_t for "preferred register".
>
> ...unless you do this as well. Would you be OK with char/char/short?
> That is faster. Anybody out there got more than 64K hard registers?
That seems reasonable to me, but please put a comment by them
indicating why they have those types,
-Chris
More information about the llvm-commits
mailing list