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

Chandler Carruth chandlerc at google.com
Fri Jan 16 14:09:52 PST 2015


High level comment, using Phabricator would make reviewing this *much*
easier for me.

On Fri, Jan 16, 2015 at 1:57 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?)
>

Please use the same tetsing strategy as the
vector-shuffle-{128,256,512}-*.ll test files. This has made it *much*
easier to understand the feature sets tested and how we generate code for
each operation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150116/112722b6/attachment.html>


More information about the llvm-commits mailing list