[PATCH] Improve DAG combine pass on certain IR vector patterns

Eric Christopher echristo at gmail.com
Fri Jan 16 14:10:48 PST 2015


On Fri Jan 16 2015 at 2:10:19 PM Eric Christopher <echristo at gmail.com>
wrote:

> On Fri Jan 16 2015 at 1:57:34 PM Fiona Glaser <fglaser at apple.com> wrote:
>
>> > 1. Run your patch through clang-format please. The patch does not
>> follow the LLVM formatting guidelines.
>>
>> Done, and changed per Mehdi’s suggestions.
>>
>> > 2. What is the impact of this on arm64 and armv7s generated code?
>> Although the approach makes sense to me, I want to be sure we do not
>> degrade other targets. Note that I do not expect you to run tests if you
>> cannot :).
>>
>> I don’t think it should even affect any target that doesn’t have
>> canonical vector sizes of both N and 2*N, for a data type of N/2 or
>> smaller. Otherwise the case this patch targets can’t come up.
>>
>> 3. What are the runtime performance impact on x86_64, with and without
>>> -mavx2?
>>>
>>
>> I’m not sure in general; this affects a few very specific vector
>> constructs that were being pessimized.
>>
>> 4. Add a run line for avx  too:
>>> +; RUN: llc < %s -march=x86-64 -mattr=+avx2 | FileCheck %s
>>>
>>
>> Done.
>>
>> 5. Should we use a triple instead of march?
>>
>>
>> Do triples let you specify particular attributes (AVX, etc?)
>>
>
> Not for sorta. I
>

Uh... "Sorta".


> t depends on if it's been hacked into the triple (i.e. darwin x86_64h) or
> set as the default for an operating system. But in this case I think just
> x86_64 and -mattr is the right way to go here.
>
> -eric
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150116/4b68335e/attachment.html>


More information about the llvm-commits mailing list