[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

Dale Johannesen dalej at apple.com
Fri Sep 19 19:10:47 PDT 2008


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?







More information about the llvm-commits mailing list