[PATCH] D65422: [GlobalISel][AArch64] Add naive selection for @llvm.aarch64.ldaxr

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 29 15:38:31 PDT 2019


paquette created this revision.
paquette added a reviewer: aemerson.
Herald added subscribers: Petar.Avramovic, hiraditya, kristof.beyls, javed.absar, rovka.
Herald added a project: LLVM.

This adds naive instruction selection for the @llvm.aarch64.ldaxr intrinsic.

This will select the right instruction based off the number of bytes being loaded, but it doesn't try to do any folding etc. This isn't great for code size, but at least prevents us from falling back on this intrinsic.

(Since the instructions we're not folding have already been selected by the time we run into the intrinsic, it's difficult to do this the "right" way during selection.)

Add a test for the intrinsic (select-ldaxr-intrin.mir) and update arm64-ldxr-stxr.ll as well.


https://reviews.llvm.org/D65422

Files:
  llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/select-ldaxr-intrin.mir
  llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65422.212241.patch
Type: text/x-patch
Size: 11120 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190729/bf494c0c/attachment.bin>


More information about the llvm-commits mailing list