[PATCH] D158291: [PoC][WIP] Add an AArch64 specific pass for loop idiom recognition

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 05:31:10 PDT 2023


david-arm updated this revision to Diff 556134.
david-arm marked an inline comment as done.
david-arm added a comment.

- Fixed some bugs found by @craig.topper when recognising the byte mismatch idiom. This also required updating one of the tests in Transforms/LoopIdiom/AArch64/byte-compare-index.ll that was using the wrong index for comparison.
- Reinstated the generic loop idiom recognise pass.
- Add new patterns to ensure we use incp instead of cntp+add.


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

https://reviews.llvm.org/D158291

Files:
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/Passes/PassBuilderPipelines.cpp
  llvm/lib/Target/AArch64/AArch64.h
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/lib/Target/AArch64/AArch64LoopIdiomRecognize.cpp
  llvm/lib/Target/AArch64/AArch64LoopIdiomRecognize.h
  llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
  llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
  llvm/lib/Target/AArch64/AArch64TargetMachine.h
  llvm/lib/Target/AArch64/CMakeLists.txt
  llvm/test/CodeGen/AArch64/intrinsic-cttz-elts.ll
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
  llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
  llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158291.556134.patch
Type: text/x-patch
Size: 124011 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230907/73de1017/attachment-0001.bin>


More information about the llvm-commits mailing list