[llvm] r258729 - X86ISelLowering: Fix cmov(cmov) special lowering bug

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 26 11:35:24 PST 2016


r258840.

Thanks,
Hans

On Tue, Jan 26, 2016 at 11:32 AM, Matthias Braun <matze at braunis.de> wrote:
> Yes sounds reasonable, it's a low risk fix.
>
> - Matthias
>
>> On Jan 26, 2016, at 11:28 AM, Hans Wennborg via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>
>> Should this be merged to 3.8?
>>
>> On Mon, Jan 25, 2016 at 2:08 PM, Matthias Braun via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>>> Author: matze
>>> Date: Mon Jan 25 16:08:25 2016
>>> New Revision: 258729
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=258729&view=rev
>>> Log:
>>> X86ISelLowering: Fix cmov(cmov) special lowering bug
>>>
>>> There's a special case in EmitLoweredSelect() that produces an improved
>>> lowering for cmov(cmov) patterns. However this special lowering is
>>> currently broken if the inner cmov has multiple users so this patch
>>> stops using it in this case.
>>>
>>> If you wonder why this wasn't fixed by continuing to use the special
>>> lowering and inserting a 2nd PHI for the inner cmov: I believe this
>>> would incur additional copies/register pressure so the special lowering
>>> does not improve upon the normal one anymore in this case.
>>>
>>> This fixes http://llvm.org/PR26256 (= rdar://24329747)
>>>
>>> Modified:
>>>    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>>>    llvm/trunk/test/CodeGen/X86/cmovcmov.ll
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>


More information about the llvm-commits mailing list