[llvm] [InferAlignment] Propagate alignment between loads/stores of the same base pointer (PR #145733)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 31 06:25:07 PDT 2025


================
@@ -21,6 +21,43 @@
 
 using namespace llvm;
 
+static bool tryToPropagateAlign(Function &F, const DataLayout &DL) {
+  bool Changed = false;
+
+  for (BasicBlock &BB : F) {
----------------
nikic wrote:

It looks like integrating it into the existing tryToImproveAlign call does help compile-time impact a bit. Patch I tested: https://github.com/llvm/llvm-project/commit/06afe41e668ae219f164a4d72dbd02d63531c5f9

Baseline: https://llvm-compile-time-tracker.com/compare.php?from=740758a5fd87e8f6944589b85dbe3bc7ac22d140&to=480fa4c952f7a04b805dcc9c506ac2d013b5c488&stat=instructions:u
Extra patch: https://llvm-compile-time-tracker.com/compare.php?from=480fa4c952f7a04b805dcc9c506ac2d013b5c488&to=06afe41e668ae219f164a4d72dbd02d63531c5f9&stat=instructions:u
Both together: https://llvm-compile-time-tracker.com/compare.php?from=740758a5fd87e8f6944589b85dbe3bc7ac22d140&to=06afe41e668ae219f164a4d72dbd02d63531c5f9&stat=instructions%3Au

https://github.com/llvm/llvm-project/pull/145733


More information about the llvm-commits mailing list