aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@chromium.org>2023-04-12 13:28:25 +0200
committerHans Wennborg <hans@chromium.org>2023-04-12 13:37:21 +0200
commita6d9730f403afa8b591f278101996ecca9ad2dd2 (patch)
tree514627c8c0df1fa9a63e4cbb468af3f5b4c085c4 /llvm/lib/Transforms/Utils/LoopUtils.cpp
parent3820e9a2b29a2e268319ed6635da0d59e18d736d (diff)
downloadllvm-a6d9730f403afa8b591f278101996ecca9ad2dd2.zip
llvm-a6d9730f403afa8b591f278101996ecca9ad2dd2.tar.gz
llvm-a6d9730f403afa8b591f278101996ecca9ad2dd2.tar.bz2
Revert "Move "auto-init" instructions to the dominator of their users"
This could also move initialization of sret args, causing actually initialized parts of such return values to be uninitialized. See discussion on the code review. > As a result of -ftrivial-auto-var-init, clang generates instructions to > set alloca'd memory to a given pattern, right after the allocation site. > In some cases, this (somehow costly) operation could be delayed, leading > to conditional execution in some cases. > > This is not an uncommon situation: it happens ~500 times on the cPython > code base, and much more on the LLVM codebase. The benefit greatly > varies on the execution path, but it should not regress on performance. > > This is a recommit of cca01008cc31a891d0ec70aff2201b25d05d8f1b with > MemorySSA update fixes. > > Differential Revision: https://reviews.llvm.org/D137707 This reverts commit 50b2a113db197a97f60ad2aace8b7382dc9b8c31 and follow-up commit ad9ad3735c4821ff4651fab7537a75b8f0bb60f8.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions