[PM] Add support for parsing function passes and function pass manager
[oota-llvm.git] / test / Other / pass-pipeline-parsing.ll
index 20d39c78d3701cd59f01d7d54ce12ab9af9f8085..c7fab01d2bf4da7c1f08a5b0e6e29fe367534359 100644 (file)
 ; CHECK-NESTED-TWO-NOOP-MP: Running module pass: NoOpModulePass
 ; CHECK-NESTED-TWO-NOOP-MP: Finished module pass manager
 ; CHECK-NESTED-TWO-NOOP-MP: Finished module pass manager
+
+; RUN: opt -disable-output -debug-pass-manager \
+; RUN:     -passes=no-op-function,no-op-function %s 2>&1 \
+; RUN:     | FileCheck %s --check-prefix=CHECK-TWO-NOOP-FP
+; CHECK-TWO-NOOP-FP: Starting module pass manager
+; CHECK-TWO-NOOP-FP: Running module pass: ModuleToFunctionPassAdaptor
+; CHECK-TWO-NOOP-FP: Starting function pass manager
+; CHECK-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
+; CHECK-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
+; CHECK-TWO-NOOP-FP: Finished function pass manager
+; CHECK-TWO-NOOP-FP: Finished module pass manager
+
+; RUN: opt -disable-output -debug-pass-manager \
+; RUN:     -passes='function(no-op-function,no-op-function)' %s 2>&1 \
+; RUN:     | FileCheck %s --check-prefix=CHECK-NESTED-TWO-NOOP-FP
+; CHECK-NESTED-TWO-NOOP-FP: Starting module pass manager
+; CHECK-NESTED-TWO-NOOP-FP: Running module pass: ModuleToFunctionPassAdaptor
+; CHECK-NESTED-TWO-NOOP-FP: Starting function pass manager
+; CHECK-NESTED-TWO-NOOP-FP: Running function pass: FunctionPassManager
+; CHECK-NESTED-TWO-NOOP-FP: Starting function pass manager
+; CHECK-NESTED-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
+; CHECK-NESTED-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
+; CHECK-NESTED-TWO-NOOP-FP: Finished function pass manager
+; CHECK-NESTED-TWO-NOOP-FP: Finished function pass manager
+; CHECK-NESTED-TWO-NOOP-FP: Finished module pass manager
+
+; RUN: opt -disable-output -debug-pass-manager \
+; RUN:     -passes='no-op-module,function(no-op-function,no-op-function),no-op-module' %s 2>&1 \
+; RUN:     | FileCheck %s --check-prefix=CHECK-MIXED-FP-AND-MP
+; CHECK-MIXED-FP-AND-MP: Starting module pass manager
+; CHECK-MIXED-FP-AND-MP: Running module pass: NoOpModulePass
+; CHECK-MIXED-FP-AND-MP: Running module pass: ModuleToFunctionPassAdaptor
+; CHECK-MIXED-FP-AND-MP: Starting function pass manager
+; CHECK-MIXED-FP-AND-MP: Running function pass: NoOpFunctionPass
+; CHECK-MIXED-FP-AND-MP: Running function pass: NoOpFunctionPass
+; CHECK-MIXED-FP-AND-MP: Finished function pass manager
+; CHECK-MIXED-FP-AND-MP: Running module pass: NoOpModulePass
+; CHECK-MIXED-FP-AND-MP: Finished module pass manager
+
+define void @f() {
+ ret void
+}