aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2022-06-18 14:14:04 -0700
committerArthur Eubanks <aeubanks@google.com>2022-06-24 09:09:26 -0700
commite422c0d3b26eaf3e5646960351d4fe6ff7c0b573 (patch)
tree2fccc0ac29316e67ec8d64790a3f7e74de8cf3f9 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parentd3cbcc4e8990ffe6d1e2a7708ce30220b95ce025 (diff)
downloadllvm-e422c0d3b26eaf3e5646960351d4fe6ff7c0b573.zip
llvm-e422c0d3b26eaf3e5646960351d4fe6ff7c0b573.tar.gz
llvm-e422c0d3b26eaf3e5646960351d4fe6ff7c0b573.tar.bz2
[GlobalOpt] Perform store->dominated load forwarding for stored once globals
The initial land incorrectly optimized forwarding non-Constants in non-nosync/norecurse functions. Bail on non-Constants since norecurse should cause global -> alloca promotion anyway. The initial land also incorrectly assumed that StoredOnceStore was the only store to the global, but it actually means that only one value other than the global initializer is stored. Add a check that there's only one store. Compile time tracker: https://llvm-compile-time-tracker.com/compare.php?from=c80b88ee29f34078d2149de94e27600093e6c7c0&to=ef2c2b7772424b6861a75e794f3c31b45167304a&stat=instructions Reviewed By: nikic, asbirlea, jdoerfert Differential Revision: https://reviews.llvm.org/D128128
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions