[llvm] 5b3e152 - llvm-reduce: Make run-ir-passes error more consistent (#133564)

via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 29 00:14:12 PDT 2025


Author: Matt Arsenault
Date: 2025-03-29T14:14:09+07:00
New Revision: 5b3e152e16950e551530b640335bb17dcc70a2fa

URL: https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa
DIFF: https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa.diff

LOG: llvm-reduce: Make run-ir-passes error more consistent (#133564)

Avoid capitalized Error. This loses the "Error constructing pass pipeline"
part, and just forwards the error to the default report_fatal_error case. Not
sure if it's worth trying to keep.

Added: 
    llvm/test/tools/llvm-reduce/run-ir-passes-error.ll

Modified: 
    llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/llvm-reduce/run-ir-passes-error.ll b/llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
new file mode 100644
index 0000000000000..772555d1ec5fb
--- /dev/null
+++ b/llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
@@ -0,0 +1,18 @@
+; RUN: not llvm-reduce --abort-on-invalid-reduction --delta-passes=ir-passes --ir-passes=does-not-parse --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o /dev/null 2>&1 | FileCheck -check-prefix=ERR %s
+
+; CHECK-INTERESTINGNESS-LABEL: @f1
+; ERR: LLVM ERROR: unknown pass name 'does-not-parse'
+
+define i32 @f1(i32 %a) {
+  %b = add i32 %a, 5
+  %c = add i32 %b, 5
+  ret i32 %c
+}
+
+define i32 @f2(i32 %a) {
+  %b = add i32 %a, 5
+  %c = add i32 %b, 5
+  ret i32 %c
+}
+
+declare void @f3()

diff  --git a/llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp b/llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
index e3af05616fe04..f31c5d86dad1e 100644
--- a/llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
+++ b/llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
@@ -43,10 +43,8 @@ static void runPasses(Oracle &O, ReducerWorkItem &WorkItem) {
   PB.crossRegisterProxies(LAM, FAM, CGAM, MAM);
 
   ModulePassManager MPM;
-  if (auto Err = PB.parsePassPipeline(MPM, PassPipeline)) {
-    errs() << toString(std::move(Err)) << "\n";
-    report_fatal_error("Error constructing pass pipeline");
-  }
+  if (auto Err = PB.parsePassPipeline(MPM, PassPipeline))
+    report_fatal_error(std::move(Err), false);
   MPM.run(Program, MAM);
 }
 


        


More information about the llvm-commits mailing list