[llvm] [PassBuilder] Add callback invoking to PassBuilder string API (PR #157153)

Min-Yih Hsu via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 16 11:20:18 PDT 2025


================
@@ -0,0 +1,27 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-glob -p=VECSTART,VECEND,MODSTART,LTOEARLY,INVALID
+; RUN: opt -disable-output -print-pipeline-passes \
+; RUN:   -passes-ep-vectorizer-start='no-op-function' \
+; RUN:   -passes='function(VectorizerStartCallbacks<O3>)' < %s 2>&1 | FileCheck %s --check-prefix=VECSTART
+; RUN: opt -disable-output -print-pipeline-passes \
+; RUN:   -passes-ep-peephole='no-op-function' \
+; RUN:   -passes='PeepholeCallbacks<Os>' < %s 2>&1 | FileCheck %s --check-prefix=PEEP
+; RUN: opt -disable-output -print-pipeline-passes \
+; RUN:   -passes-ep-pipeline-start='no-op-module' \
+; RUN:   -passes='PipelineStartCallbacks<O1>' < %s 2>&1 | FileCheck %s --check-prefix=MODSTART
+; RUN: opt -disable-output -print-pipeline-passes \
+; RUN:   -passes-ep-pipeline-early-simplification='no-op-module' \
+; RUN:   -passes='PipelineEarlySimplificationCallbacks<O2>' < %s 2>&1 | FileCheck %s --check-prefix=LTOEARLY
+; RUN: not opt -disable-output -passes='VectorizerStartCallbacks<foo>' < %s 2>&1 | FileCheck %s --check-prefix=INVALID
+
+; VECSTART: no-op-function
+; PEEP: no-op-function
+; MODSTART: no-op-module
+; LTOEARLY: no-op-module
+; INVALID: invalid optimization level 'foo'
+
+define void @f() {
+entry:
+  ret void
+}
+
+
----------------
mshockwave wrote:

nit: too many new lines at the end.

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


More information about the llvm-commits mailing list