[PATCH] D153164: [AArch64][GlobalISel] Select G_UADDE/G_SADDE/G_USUBE/G_SSUBE

Tobias Stadler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 16 12:54:18 PDT 2023


tobias-stadler created this revision.
tobias-stadler added reviewers: aemerson, paquette, arsenm.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
tobias-stadler requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

This implements the remaining overflow generating instructions in the AArch64 GlobalISel selector.
Now wide add/sub operations do not fallback to SelectionDag anymore.
We make use of PostSelectOptimize to cleanup the hereby generated flag-setting operations when the carry-out is unused.

Since we don't fallback anymore when selecting add/sub atomics in O0 this required some test changes there.
Please note that this is my first LLVM patch.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153164

Files:
  llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
  llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-outline_atomics.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
  llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
  llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-sadde.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-saddo.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-ssube.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-ssubo.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-uadde.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-uaddo.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-usube.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-usubo.mir
  llvm/test/CodeGen/AArch64/popcount.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153164.532269.patch
Type: text/x-patch
Size: 150491 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230616/a3b761d0/attachment-0001.bin>


More information about the llvm-commits mailing list