llvm-project
2fef6853 - [llvm][loop-rotate] Allow forcing loop-rotation (#82828)

Commit
1 year ago
[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.
Author
Parents
Loading