[llvm-commits] [llvm] r128175 - in /llvm/trunk: lib/Target/X86/X86ISelLowering.cpp test/CodeGen/X86/long-setcc.ll test/CodeGen/X86/sext-i1.ll

Eli Friedman eli.friedman at gmail.com
Wed Mar 23 16:24:22 PDT 2011


On Wed, Mar 23, 2011 at 4:03 PM, Andrew Trick <atrick at apple.com> wrote:
> On Mar 23, 2011, at 3:41 PM, Eli Friedman wrote:
>
>> On Wed, Mar 23, 2011 at 3:16 PM, Andrew Trick <atrick at apple.com> wrote:
>>> Author: atrick
>>> Date: Wed Mar 23 17:16:02 2011
>>> New Revision: 128175
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=128175&view=rev
>>> Log:
>>> Reapply Eli's r127852 now that the pre-RA scheduler can spill EFLAGS.
>>> (target-specific branchless method for double-width relational comparisons on x86)
>>
>> Mmm... I'm still not very happy with the fact that we're generating
>> pushfl/popfl in cases like the one I mentioned in
>> http://llvm.org/bugs/show_bug.cgi?id=9509#c3 .  Especially considering
>> that I'm not entirely sure the method we use for copying EFLAGS is
>> safe on 64-bit systems.
>>
>> -Eli
>
> Thanks for verifying this corner case. I noticed the code is fairly bad, although the original before your patch wasn't good either. I debated filing another bug to follow up on the performance, but wasn't sure how much we cared about this case. It only occurred in a self-host builder; no benchmarks.
>
> Of course, if you think we may have a correctness issue, please file another bug.

Filed PR9539.

-Eli




More information about the llvm-commits mailing list