[LLVMdev] [X86] DAG Combine - VSELECT

Eli Friedman eli.friedman at gmail.com
Mon Aug 19 17:56:14 PDT 2013


On Mon, Aug 19, 2013 at 4:17 PM, Juergen Ributzka <juergen at apple.com> wrote:

> I see. We still can use that shortcut to catch the simple case after type
> legalization, but we could also do a more elaborate type check before type
> legalization to enable it?
>

If you're going to write the code to check the types anyway, it's probably
clearer to remove the isBeforeLegalize check.

-Eli


> On Aug 19, 2013, at 4:13 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
>
> On Mon, Aug 19, 2013 at 3:34 PM, Juergen Ributzka <juergen at apple.com>wrote:
>
>> Hi @ll,
>>
>> I am wondering about the use of !isBeforeLegalize in PerformSELECTCombine
>> in the X86 backend. This defers all VSELECT related DAG combines until
>> after the Legalizer has run. If the IR has already only legal types the
>> second round of DAG combines is skipped and no VSELECT specified
>> optimizations are performed at all.
>>
>> Is there a reason we don’t run the X86 DAG combiner before Type
>> Legalization?
>
>
>  I think the code in question is using isBeforeLegalize as a shortcut for
> "are all the operand and result types legal".
>
> -Eli
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130819/029984ee/attachment.html>


More information about the llvm-dev mailing list