[llvm-commits] [llvm] r108735 - in /llvm/trunk: include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/TargetLowering.cpp

Jakob Stoklund Olesen stoklund at 2pi.dk
Mon Jul 19 15:22:23 PDT 2010


On Jul 19, 2010, at 3:09 PM, Evan Cheng wrote:

> 
> On Jul 19, 2010, at 1:22 PM, Jakob Stoklund Olesen wrote:
>> 
>> Can you use some kind of scaling so a DPR counts as 0.5 QPR?
>> 
> 
> No, I don't like that. I was hoping to avoid having targets provide findRepresentativeClass(). But I think it cannot be avoided.

I don't think overriding findRepresentativeClass() solves the problem. There is no 'correct' representative register class.

Whenever you allocate a QPR, you block two DPRs.
Whenever you allocate a DPR, you block one (half) QPR.

I think you need to model that asymmetry somehow.





More information about the llvm-commits mailing list