[PATCH] D95373: Replace vector intrinsics with call to vector library

Lukas Sommer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 1 08:04:02 PST 2021


LukasSommerTu updated this revision to Diff 320467.
LukasSommerTu added a comment.
Herald added subscribers: nikic, pengfei.

I've updated the implementation to have this pass as an IR codegen pass.

I did not add an explicit flag to deactivate the pass (as it for example is the case for `ExpandReductions`), as the replacement can be deactivated by setting `--vector-library=none` (which is also the default). The pass is also not added to the pipeline for `-O0`.

Similar to `ExpandReductions`, the pass now explicitly deletes the call instructions to intrinsics that have been replaced and does not rely on DCE, given that it is now very late in pipeline.


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

https://reviews.llvm.org/D95373

Files:
  llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
  llvm/include/llvm/CodeGen/MachinePassRegistry.def
  llvm/include/llvm/CodeGen/Passes.h
  llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
  llvm/include/llvm/InitializePasses.h
  llvm/lib/CodeGen/CMakeLists.txt
  llvm/lib/CodeGen/ReplaceWithVeclib.cpp
  llvm/lib/CodeGen/TargetPassConfig.cpp
  llvm/test/CodeGen/AArch64/O3-pipeline.ll
  llvm/test/CodeGen/ARM/O3-pipeline.ll
  llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
  llvm/test/CodeGen/X86/opt-pipeline.ll
  llvm/tools/llc/llc.cpp
  llvm/tools/opt/opt.cpp
  llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95373.320467.patch
Type: text/x-patch
Size: 22966 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210201/a342387e/attachment.bin>


More information about the llvm-commits mailing list