[PATCH] D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 2 22:31:59 PST 2021


paquette updated this revision to Diff 327674.
paquette added a comment.
Herald added a subscriber: mgorny.

- Fix a bug in G_DUP for `preISelLower` and add a testcase which exercises it to select-dup.mir
- Add `getAArch64VectorConstantSplat`, which checks for G_DUP as well as G_BUILD_VECTOR. Use that instead in places which now need to check for G_DUP.

(There's one place where the helper might make some difference, since `getBuildVectorConstantSplat` doesn't look through constants.)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97731/new/

https://reviews.llvm.org/D97731

Files:
  llvm/lib/Target/AArch64/AArch64Combine.td
  llvm/lib/Target/AArch64/CMakeLists.txt
  llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
  llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
  llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
  llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-build-vector-to-dup.mir
  llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-vashr-vlshr.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97731.327674.patch
Type: text/x-patch
Size: 20205 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210303/b5f95bc5/attachment.bin>


More information about the llvm-commits mailing list