1; RUN: opt -disable-output -debug-pass-manager \ 2; RUN: -passes=no-op-module,no-op-module %s 2>&1 \ 3; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-MP 4; CHECK-TWO-NOOP-MP: Starting pass manager 5; CHECK-TWO-NOOP-MP: Running pass: NoOpModulePass 6; CHECK-TWO-NOOP-MP: Running pass: NoOpModulePass 7; CHECK-TWO-NOOP-MP: Finished pass manager 8 9; RUN: opt -disable-output -debug-pass-manager \ 10; RUN: -passes='module(no-op-module,no-op-module)' %s 2>&1 \ 11; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-TWO-NOOP-MP 12; CHECK-NESTED-TWO-NOOP-MP: Starting pass manager 13; CHECK-NESTED-TWO-NOOP-MP: Starting pass manager 14; CHECK-NESTED-TWO-NOOP-MP: Running pass: NoOpModulePass 15; CHECK-NESTED-TWO-NOOP-MP: Running pass: NoOpModulePass 16; CHECK-NESTED-TWO-NOOP-MP: Finished pass manager 17; CHECK-NESTED-TWO-NOOP-MP: Finished pass manager 18 19; RUN: opt -disable-output -debug-pass-manager \ 20; RUN: -passes=no-op-function,no-op-function %s 2>&1 \ 21; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-FP 22; CHECK-TWO-NOOP-FP: Starting pass manager 23; CHECK-TWO-NOOP-FP: Running pass: ModuleToFunctionPassAdaptor 24; CHECK-TWO-NOOP-FP: Starting pass manager 25; CHECK-TWO-NOOP-FP: Running pass: NoOpFunctionPass 26; CHECK-TWO-NOOP-FP: Running pass: NoOpFunctionPass 27; CHECK-TWO-NOOP-FP: Finished pass manager 28; CHECK-TWO-NOOP-FP: Finished pass manager 29 30; RUN: opt -disable-output -debug-pass-manager \ 31; RUN: -passes='function(no-op-function,no-op-function)' %s 2>&1 \ 32; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-TWO-NOOP-FP 33; CHECK-NESTED-TWO-NOOP-FP: Starting pass manager 34; CHECK-NESTED-TWO-NOOP-FP: Running pass: ModuleToFunctionPassAdaptor 35; CHECK-NESTED-TWO-NOOP-FP: Starting pass manager 36; CHECK-NESTED-TWO-NOOP-FP: Running pass: NoOpFunctionPass 37; CHECK-NESTED-TWO-NOOP-FP: Running pass: NoOpFunctionPass 38; CHECK-NESTED-TWO-NOOP-FP: Finished pass manager 39; CHECK-NESTED-TWO-NOOP-FP: Finished pass manager 40 41; RUN: opt -disable-output -debug-pass-manager \ 42; RUN: -passes='no-op-module,function(no-op-function,no-op-function),no-op-module' %s 2>&1 \ 43; RUN: | FileCheck %s --check-prefix=CHECK-MIXED-FP-AND-MP 44; CHECK-MIXED-FP-AND-MP: Starting pass manager 45; CHECK-MIXED-FP-AND-MP: Running pass: NoOpModulePass 46; CHECK-MIXED-FP-AND-MP: Running pass: ModuleToFunctionPassAdaptor 47; CHECK-MIXED-FP-AND-MP: Starting pass manager 48; CHECK-MIXED-FP-AND-MP: Running pass: NoOpFunctionPass 49; CHECK-MIXED-FP-AND-MP: Running pass: NoOpFunctionPass 50; CHECK-MIXED-FP-AND-MP: Finished pass manager 51; CHECK-MIXED-FP-AND-MP: Running pass: NoOpModulePass 52; CHECK-MIXED-FP-AND-MP: Finished pass manager 53 54; RUN: not opt -disable-output -debug-pass-manager \ 55; RUN: -passes='no-op-module)' %s 2>&1 \ 56; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED1 57; CHECK-UNBALANCED1: unable to parse pass pipeline description 58 59; RUN: not opt -disable-output -debug-pass-manager \ 60; RUN: -passes='module(no-op-module))' %s 2>&1 \ 61; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED2 62; CHECK-UNBALANCED2: unable to parse pass pipeline description 63 64; RUN: not opt -disable-output -debug-pass-manager \ 65; RUN: -passes='module(no-op-module' %s 2>&1 \ 66; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED3 67; CHECK-UNBALANCED3: unable to parse pass pipeline description 68 69; RUN: not opt -disable-output -debug-pass-manager \ 70; RUN: -passes='no-op-function)' %s 2>&1 \ 71; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED4 72; CHECK-UNBALANCED4: unable to parse pass pipeline description 73 74; RUN: not opt -disable-output -debug-pass-manager \ 75; RUN: -passes='function(no-op-function))' %s 2>&1 \ 76; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED5 77; CHECK-UNBALANCED5: unable to parse pass pipeline description 78 79; RUN: not opt -disable-output -debug-pass-manager \ 80; RUN: -passes='function(function(no-op-function)))' %s 2>&1 \ 81; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED6 82; CHECK-UNBALANCED6: unable to parse pass pipeline description 83 84; RUN: not opt -disable-output -debug-pass-manager \ 85; RUN: -passes='function(no-op-function' %s 2>&1 \ 86; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED7 87; CHECK-UNBALANCED7: unable to parse pass pipeline description 88 89; RUN: not opt -disable-output -debug-pass-manager \ 90; RUN: -passes='function(function(no-op-function)' %s 2>&1 \ 91; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED8 92; CHECK-UNBALANCED8: unable to parse pass pipeline description 93 94; RUN: not opt -disable-output -debug-pass-manager \ 95; RUN: -passes='no-op-module,)' %s 2>&1 \ 96; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED9 97; CHECK-UNBALANCED9: unable to parse pass pipeline description 98 99; RUN: not opt -disable-output -debug-pass-manager \ 100; RUN: -passes='no-op-function,)' %s 2>&1 \ 101; RUN: | FileCheck %s --check-prefix=CHECK-UNBALANCED10 102; CHECK-UNBALANCED10: unable to parse pass pipeline description 103 104; RUN: opt -disable-output -debug-pass-manager \ 105; RUN: -passes=no-op-cgscc,no-op-cgscc %s 2>&1 \ 106; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-CG 107; CHECK-TWO-NOOP-CG: Starting pass manager 108; CHECK-TWO-NOOP-CG: Running pass: ModuleToPostOrderCGSCCPassAdaptor 109; CHECK-TWO-NOOP-CG: Starting pass manager 110; CHECK-TWO-NOOP-CG: Running pass: NoOpCGSCCPass 111; CHECK-TWO-NOOP-CG: Running pass: NoOpCGSCCPass 112; CHECK-TWO-NOOP-CG: Finished pass manager 113; CHECK-TWO-NOOP-CG: Finished pass manager 114 115; RUN: opt -disable-output -debug-pass-manager \ 116; RUN: -passes='module(function(no-op-function),cgscc(no-op-cgscc,function(no-op-function),no-op-cgscc),function(no-op-function))' %s 2>&1 \ 117; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-MP-CG-FP 118; CHECK-NESTED-MP-CG-FP: Starting pass manager 119; CHECK-NESTED-MP-CG-FP: Starting pass manager 120; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToFunctionPassAdaptor 121; CHECK-NESTED-MP-CG-FP: Starting pass manager 122; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass 123; CHECK-NESTED-MP-CG-FP: Finished pass manager 124; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToPostOrderCGSCCPassAdaptor 125; CHECK-NESTED-MP-CG-FP: Starting pass manager 126; CHECK-NESTED-MP-CG-FP: Running pass: NoOpCGSCCPass 127; CHECK-NESTED-MP-CG-FP: Running pass: CGSCCToFunctionPassAdaptor 128; CHECK-NESTED-MP-CG-FP: Starting pass manager 129; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass 130; CHECK-NESTED-MP-CG-FP: Finished pass manager 131; CHECK-NESTED-MP-CG-FP: Running pass: NoOpCGSCCPass 132; CHECK-NESTED-MP-CG-FP: Finished pass manager 133; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToFunctionPassAdaptor 134; CHECK-NESTED-MP-CG-FP: Starting pass manager 135; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass 136; CHECK-NESTED-MP-CG-FP: Finished pass manager 137; CHECK-NESTED-MP-CG-FP: Finished pass manager 138; CHECK-NESTED-MP-CG-FP: Finished pass manager 139 140define void @f() { 141 ret void 142} 143