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

Fiona Glaser fglaser at apple.com
Fri Jan 16 13:57:33 PST 2015

> 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


> 5. Should we use a triple instead of march?

Do triples let you specify particular attributes (AVX, etc?)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150116/b063006d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: application/octet-stream
Size: 5637 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150116/b063006d/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150116/b063006d/attachment-0001.html>

More information about the llvm-commits mailing list