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

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


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. It 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/8935f38a/attachment.html>


More information about the llvm-commits mailing list