[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