[PATCH] D20250: [ARM/AArch64] Match additional patterns to ldN instructions

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Fri May 13 11:12:20 PDT 2016


mssimpso created this revision.
mssimpso added reviewers: jmolloy, rengolin.
mssimpso added subscribers: mcrosier, llvm-commits.
Herald added subscribers: rengolin, aemerson.

When matching an interleaved load to an ldN pattern, the interleaved access pass checks that all users of the load are shuffles. If the load is used by an instruction other than a shuffle, the pass gives up and an ldN is not generated. This patch considers users of the load that are extractelement instructions. It attempts to modify the extracts to use one of the available shuffles instead of the load. After the transformation, the load is only used by shuffles and will then be matched with an ldN pattern.


http://reviews.llvm.org/D20250

Files:
  lib/CodeGen/InterleavedAccessPass.cpp
  test/CodeGen/AArch64/aarch64-interleaved-accesses.ll
  test/CodeGen/ARM/arm-interleaved-accesses.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20250.57223.patch
Type: text/x-patch
Size: 7637 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160513/8c306bf8/attachment.bin>


More information about the llvm-commits mailing list