[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