diff options
author | Rafael Auler <rafaelauler@fb.com> | 2022-05-20 20:10:22 -0700 |
---|---|---|
committer | Rafael Auler <rafaelauler@fb.com> | 2022-07-11 17:30:13 -0700 |
commit | a3cfdd746e96a2e45953e5db1a6c87b925d16c8d (patch) | |
tree | e2fef9feb3a205e06856488c46c7aeefa9e8f098 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 3e5f67f356a1b9dc31df72ac846e688143ce8a48 (diff) | |
download | llvm-a3cfdd746e96a2e45953e5db1a6c87b925d16c8d.zip llvm-a3cfdd746e96a2e45953e5db1a6c87b925d16c8d.tar.gz llvm-a3cfdd746e96a2e45953e5db1a6c87b925d16c8d.tar.bz2 |
[BOLT] Increase coverage of shrink wrapping [5/5]
Add -experimental-shrink-wrapping flag to control when we
want to move callee-saved registers even when addresses of the stack
frame are captured and used in pointer arithmetic, making it more
challenging to do alias analysis to prove that we do not access
optimized stack positions. This alias analysis is not yet implemented,
hence, it is experimental. In practice, though, no compiler would emit
code to do pointer arithmetic to access a saved callee-saved register
unless there is a memory bug or we are failing to identify a
callee-saved reg, so I'm not sure how useful it would be to formally
prove that.
Reviewed By: Amir
Differential Revision: https://reviews.llvm.org/D126115
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions