[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