[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:49:33 PST 2021
LukasSommerTu updated this revision to Diff 320489.
LukasSommerTu added a comment.
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.
//[EDIT] I realized there was a inconsistency between `CodeGenPassBuilder` and `TargetPassConfig`, which is now corrected.//
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.320489.patch
Type: text/x-patch
Size: 23004 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210201/f2f32c3c/attachment.bin>
More information about the llvm-commits
mailing list