[PATCH][RegAlloc] Make tryInstructionSplit less aggressive.

Quentin Colombet qcolombet at apple.com
Mon Dec 23 14:35:34 PST 2013


Hi Jakob,

Here is the reworked patch.

Now the MachineInstr API offers new methods to query the effect of the operand constraints on the register class of a virtual register or on a given register class.
The new API is used in MachineRegisterInfo::recomputeRegClass as well as in RAGreedy::tryInstructionSplit.

Let me know if you want I setup a phabrictor (in fact I did not just because I did not find you in the reviewers!).

Thanks.
-Quentin


On Dec 20, 2013, at 1:25 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:

> 
> On Dec 20, 2013, at 1:20 PM, Quentin Colombet <qcolombet at apple.com> wrote:
> 
>> Thanks Jakob for the quick reply.
>> 
>> On Dec 20, 2013, at 12:41 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>> 
>>> Hi Quentin,
>>> 
>>> You also need to handle MI operands that don’t have RC constraints, and operands with sub-register indexes. Look at MRI::recomputeRegClass().
>> When you say MI operands that don’t have RC constraints you mean the ones that have NULL RC constraints, right?
> 
> Right. NULL means unconstrained, like COPY for example.
> 
> /jakob
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131223/0c64405f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: regalloc.patch
Type: application/octet-stream
Size: 14498 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131223/0c64405f/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131223/0c64405f/attachment-0001.html>


More information about the llvm-commits mailing list