[all-commits] [llvm/llvm-project] 2fef68: [llvm][loop-rotate] Allow forcing loop-rotation (#...
Paul Kirth via All-commits
all-commits at lists.llvm.org
Thu Feb 29 13:46:26 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2fef685363e13e0640b624cc3d07b1006f12113c
https://github.com/llvm/llvm-project/commit/2fef685363e13e0640b624cc3d07b1006f12113c
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Transforms/LoopRotate/oz-disable.ll
A llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
Log Message:
-----------
[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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list