[llvm] [AArch64] Don't run loop-idiom-vectorize pass in the O0 pipeline (PR #156802)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 4 20:28:36 PDT 2025
https://github.com/MaskRay updated https://github.com/llvm/llvm-project/pull/156802
>From f6181ec619752de5403176d33ae9159aba649a97 Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Wed, 3 Sep 2025 21:49:42 -0700
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF-8?q?itial=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.5-bogner
---
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
index e67bd5869ccd1..4650b2d0c8151 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -589,7 +589,8 @@ void AArch64TargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
PB.registerLateLoopOptimizationsEPCallback(
[=](LoopPassManager &LPM, OptimizationLevel Level) {
- LPM.addPass(LoopIdiomVectorizePass());
+ if (Level != OptimizationLevel::O0)
+ LPM.addPass(LoopIdiomVectorizePass());
});
if (getTargetTriple().isOSWindows())
PB.registerPipelineEarlySimplificationEPCallback(
>From c6e1bc010de0dce77dda2afe47cc4181d2acd960 Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Wed, 3 Sep 2025 22:16:48 -0700
Subject: [PATCH 2/3] .
Created using spr 1.3.5-bogner
---
llvm/lib/Target/AArch64/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/llvm/lib/Target/AArch64/CMakeLists.txt b/llvm/lib/Target/AArch64/CMakeLists.txt
index 803943fd57c4d..4eb9a6c689efe 100644
--- a/llvm/lib/Target/AArch64/CMakeLists.txt
+++ b/llvm/lib/Target/AArch64/CMakeLists.txt
@@ -107,6 +107,7 @@ add_llvm_target(AArch64CodeGen
Core
GlobalISel
MC
+ Passes
Scalar
SelectionDAG
Support
>From 6a92b3fee7026ece611a2ca3f6184c5da7fba043 Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Thu, 4 Sep 2025 20:28:27 -0700
Subject: [PATCH 3/3] add test
Created using spr 1.3.5-bogner
---
llvm/test/CodeGen/AArch64/print-pipeline-passes.ll | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 llvm/test/CodeGen/AArch64/print-pipeline-passes.ll
diff --git a/llvm/test/CodeGen/AArch64/print-pipeline-passes.ll b/llvm/test/CodeGen/AArch64/print-pipeline-passes.ll
new file mode 100644
index 0000000000000..0e709870d0f4e
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/print-pipeline-passes.ll
@@ -0,0 +1,10 @@
+; RUN: opt -mtriple=aarch64 -S -passes='default<O0>' -print-pipeline-passes < %s | FileCheck --check-prefix=O0 %s
+; RUN: opt -mtriple=aarch64 -S -passes='default<O2>' -print-pipeline-passes < %s | FileCheck %s
+
+; CHECK: loop-idiom-vectorize
+; O0-NOT: loop-idiom-vectorize
+
+define void @foo() {
+entry:
+ ret void
+}
More information about the llvm-commits
mailing list