aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPaul Kirth <paulkirth@google.com>2024-02-29 13:46:13 -0800
committerGitHub <noreply@github.com>2024-02-29 13:46:13 -0800
commit2fef685363e13e0640b624cc3d07b1006f12113c (patch)
treefb916c65cb818c6bbb51084e6b6b3c4d4346d7d8 /clang/lib/Frontend/CompilerInvocation.cpp
parent91895f59f43217b120506bf98327a13adfc4c598 (diff)
downloadllvm-2fef685363e13e0640b624cc3d07b1006f12113c.zip
llvm-2fef685363e13e0640b624cc3d07b1006f12113c.tar.gz
llvm-2fef685363e13e0640b624cc3d07b1006f12113c.tar.bz2
[llvm][loop-rotate] Allow forcing loop-rotation (#82828)
Many profitable optimizations cannot be performed at -Oz, due to unrotated loops. While this is worse for size (minimally), many of the optimizations significantly reduce code size, such as memcpy optimizations and other patterns found by loop idiom recognition. Related discussion can be found in issue #50308. This patch adds an experimental, backend-only flag to allow loop header duplication, regardless of the optimization level. Downstream consumers can experiment with this flag, and if it is profitable, we can adjust the compiler's defaults accordingly, and expose any useful frontend flags to opt into the new behavior.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions