<div dir="ltr">Hi Tim and Quentin,<div><br></div><div>Thanks a lot for your help. This solution is quite simple and works well! Patch is in <a href="http://llvm-reviews.chandlerc.com/D2844">http://llvm-reviews.chandlerc.com/D2844</a>, please review:)<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-20 1:35 GMT+08:00 Quentin Colombet <span dir="ltr"><<a href="mailto:qcolombet@apple.com" target="_blank">qcolombet@apple.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hi Kevin,<br>
<br>
I concur Tim’s advice, you should use the @earlyclobber.<br>
<br>
Cheers,<br>
-Quentin<br>
<div><div class="h5"><br>
On Feb 19, 2014, at 3:27 AM, Tim Northover <<a href="mailto:t.p.northover@gmail.com">t.p.northover@gmail.com</a>> wrote:<br>
<br>
> Hi Kevin,<br>
><br>
>> I suppose to add some extra rules on register allocator to avoid it<br>
>> allocating register causing any unpredictable behavior, but I don't have<br>
>> experience to this part. Can anybody tell me how to implement this or have<br>
>> better ideas to solve this problem? Thanks in advance.<br>
><br>
> I think this is what the "@earlyclobber" constraint is for: if you<br>
> mark the status output register as @earlyclobber then LLVM will think<br>
> it gets written early on during the instruction (i.e. before the CPU<br>
> would get a chance to read the other two) and make sure it gets<br>
> allocated to a different register.<br>
><br>
> Cheers.<br>
><br>
> Tim.<br>
</div></div>> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Best Regards,<div><br></div><div>Kevin Qin</div></div>
</div></div>