[LLVMdev] How to implement register allocation constraints to guide allocator dispatching different registers for certain instruction?
Quentin Colombet
qcolombet at apple.com
Wed Feb 19 09:35:32 PST 2014
Hi Kevin,
I concur Tim’s advice, you should use the @earlyclobber.
Cheers,
-Quentin
On Feb 19, 2014, at 3:27 AM, Tim Northover <t.p.northover at gmail.com> wrote:
> Hi Kevin,
>
>> I suppose to add some extra rules on register allocator to avoid it
>> allocating register causing any unpredictable behavior, but I don't have
>> experience to this part. Can anybody tell me how to implement this or have
>> better ideas to solve this problem? Thanks in advance.
>
> I think this is what the "@earlyclobber" constraint is for: if you
> mark the status output register as @earlyclobber then LLVM will think
> it gets written early on during the instruction (i.e. before the CPU
> would get a chance to read the other two) and make sure it gets
> allocated to a different register.
>
> Cheers.
>
> Tim.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list