Please review fixes for llvm PR 15840

Dimitry Andric dimitry at andric.com
Fri Sep 6 03:50:22 PDT 2013


Ping...

On Aug 29, 2013, at 18:51, Meador Inge <meadori at codesourcery.com> wrote:
> On 08/29/2013 12:50 AM, Dimitry Andric wrote:
> 
>> [Sending to the correct mailing list this time...]
>> 
>> Hi,
>> 
>> Since we did not get any reply from the code owners, please review the fixes that were submitted for PR 15840.
>> 
>> Specifically, http://llvm.org/bugs/show_bug.cgi?id=15840#c8 (and optionally, http://llvm.org/bugs/show_bug.cgi?id=15840#c2 ).
>> 
>> It would be really nice to have this bug finally closed. :-)
> 
> I see where a patch was attached to the issue, but was the actual patch ever
> sent to llvm-commits for review?  The normal review procedure is to send the
> patch itself to llvm-commits.  See: http://llvm.org/docs/DeveloperPolicy.html.


Alright, here is the main patch (fixing the actual assertion failure) again, updated to apply to trunk r189593.  The other patch from the PR (which changed the WorkList in InitDAGTopologicalSorting into a FIFO queue) did not seem to be necessary after all, so there is no need anymore to post it.

As described in the PR, the patch creates a new X86ISD::FENCE node and lowers ISD::ATOMIC_FENCE to it instead of to X86::OR32mrLocked. Then during instruction selection X86ISD::FENCE is replaced by X86::LOCK_OR32mi8.  This should ensure correct code is generated for the testcase (which I also attach, for the sake of completeness), and no assertion is hit.  It also adds a new test for the PR, and modifies an existing one so it still passes.

-Dimitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug15840-x86fence-trunk-r189593-1.patch
Type: application/octet-stream
Size: 6018 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130906/48aaa364/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug15840-testcase.ll
Type: application/octet-stream
Size: 322 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130906/48aaa364/attachment-0001.obj>
-------------- next part --------------




More information about the llvm-commits mailing list