[PATCH] D137707: Move "auto-init" instructions to the dominator of their users
serge via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 5 13:49:51 PST 2022
serge-sans-paille updated this revision to Diff 480228.
serge-sans-paille added a comment.
Take into account memory fences, call sites etc so that the instruction move respects memory order enforced by memory barriers.
This is achieved through MemorySSA, which makes the pass effortlessly more generic.
There a re still a few test to be done on my side, but I'd love to have feedback from @efriedma on the approach first.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137707/new/
https://reviews.llvm.org/D137707
Files:
llvm/include/llvm/Transforms/Utils/MoveAutoInit.h
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Passes/PassBuilderPipelines.cpp
llvm/lib/Passes/PassRegistry.def
llvm/lib/Transforms/Utils/CMakeLists.txt
llvm/lib/Transforms/Utils/MoveAutoInit.cpp
llvm/test/Other/new-pm-defaults.ll
llvm/test/Other/new-pm-thinlto-defaults.ll
llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
llvm/test/Transforms/MoveAutoInit/branch.ll
llvm/test/Transforms/MoveAutoInit/fence.ll
llvm/test/Transforms/MoveAutoInit/loop.ll
llvm/test/Transforms/MoveAutoInit/scalar.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137707.480228.patch
Type: text/x-patch
Size: 32541 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221205/965a1d4e/attachment.bin>
More information about the llvm-commits
mailing list