[llvm] [Passes] Remove LoopInterchange from O1 pipeline (PR #145071)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 20 09:42:08 PDT 2025


https://github.com/nikic created https://github.com/llvm/llvm-project/pull/145071

This is a fairly exotic pass, I don't think it makes a lot of sense to run it at O1, esp. as vectorization wouldn't run at O1 anyway.

>From eb3aeb1c2e266ce3e5146f20714528d09f98666b Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov at redhat.com>
Date: Fri, 20 Jun 2025 18:39:56 +0200
Subject: [PATCH] [Passes] Remove LoopInterchange from O1 pipeline

This is a fairly exotic pass, I don't think it makes a lot of sense
to run it at O1, esp. as vectorization wouldn't run at O1 anyway.
---
 llvm/lib/Passes/PassBuilderPipelines.cpp | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/llvm/lib/Passes/PassBuilderPipelines.cpp b/llvm/lib/Passes/PassBuilderPipelines.cpp
index a99146d5eaa34..b0cdd1b94e565 100644
--- a/llvm/lib/Passes/PassBuilderPipelines.cpp
+++ b/llvm/lib/Passes/PassBuilderPipelines.cpp
@@ -501,9 +501,6 @@ PassBuilder::buildO1FunctionSimplificationPipeline(OptimizationLevel Level,
 
   LPM2.addPass(LoopDeletionPass());
 
-  if (PTO.LoopInterchange)
-    LPM2.addPass(LoopInterchangePass());
-
   // Do not enable unrolling in PreLinkThinLTO phase during sample PGO
   // because it changes IR to makes profile annotation in back compile
   // inaccurate. The normal unroller doesn't pay attention to forced full unroll



More information about the llvm-commits mailing list