[PATCH] D113291: [WIP] Add LowerTableBasedCTZ and anable it for AARCH64 in -O3

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 5 08:58:18 PDT 2021


djtodoro created this revision.
djtodoro added a project: LLVM.
Herald added subscribers: hiraditya, kristof.beyls, mgorny.
djtodoro requested review of this revision.
Herald added a subscriber: llvm-commits.

This patch introduces a new LLVM Pass that should recognize table-based ctz. It is enabled for AARCH64 only, at the moment. It addresses the [0].

[0] https://bugs.llvm.org/show_bug.cgi?id=46434

TODO: Get the data on SPEC benchmark.

Co-authored-by: @mmatic05, @milica-lazarevic, @dmilosevic141


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D113291

Files:
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LinkAllPasses.h
  llvm/include/llvm/Transforms/Scalar.h
  llvm/include/llvm/Transforms/Scalar/LowerTableBasedCTZ.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
  llvm/lib/Transforms/Scalar/CMakeLists.txt
  llvm/lib/Transforms/Scalar/LowerTableBasedCTZ.cpp
  llvm/lib/Transforms/Scalar/Scalar.cpp
  llvm/test/CodeGen/AArch64/O3-pipeline.ll
  llvm/test/Transforms/LowerTableBasedCTZ/AARCH64/dereferencing-pointer.ll
  llvm/test/Transforms/LowerTableBasedCTZ/AARCH64/lit.local.cfg
  llvm/test/Transforms/LowerTableBasedCTZ/AARCH64/lower-table-based-ctz-basics.ll
  llvm/test/Transforms/LowerTableBasedCTZ/AARCH64/lower-table-based-ctz.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113291.385092.patch
Type: text/x-patch
Size: 32695 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211105/da5b92df/attachment.bin>


More information about the llvm-commits mailing list