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 llvm::Module pass manager run 5; CHECK-TWO-NOOP-MP: Running pass: NoOpModulePass 6; CHECK-TWO-NOOP-MP: Running pass: NoOpModulePass 7; CHECK-TWO-NOOP-MP: Finished llvm::Module pass manager run 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 llvm::Module pass manager run 13; CHECK-NESTED-TWO-NOOP-MP: Starting llvm::Module pass manager run 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 llvm::Module pass manager run 17; CHECK-NESTED-TWO-NOOP-MP: Finished llvm::Module pass manager run 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 llvm::Module pass manager run 23; CHECK-TWO-NOOP-FP: Running pass: ModuleToFunctionPassAdaptor 24; CHECK-TWO-NOOP-FP: Starting llvm::Function pass manager run 25; CHECK-TWO-NOOP-FP: Running pass: NoOpFunctionPass 26; CHECK-TWO-NOOP-FP: Running pass: NoOpFunctionPass 27; CHECK-TWO-NOOP-FP: Finished llvm::Function pass manager run 28; CHECK-TWO-NOOP-FP: Finished llvm::Module pass manager run 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 llvm::Module pass manager run 34; CHECK-NESTED-TWO-NOOP-FP: Running pass: ModuleToFunctionPassAdaptor 35; CHECK-NESTED-TWO-NOOP-FP: Starting llvm::Function pass manager run 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 llvm::Function pass manager run 39; CHECK-NESTED-TWO-NOOP-FP: Finished llvm::Module pass manager run 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 llvm::Module pass manager run 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 llvm::Function pass manager run 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 llvm::Function pass manager run 51; CHECK-MIXED-FP-AND-MP: Running pass: NoOpModulePass 52; CHECK-MIXED-FP-AND-MP: Finished llvm::Module pass manager run 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 llvm::Module pass manager run 108; CHECK-TWO-NOOP-CG: Running pass: ModuleToPostOrderCGSCCPassAdaptor 109; CHECK-TWO-NOOP-CG: Starting llvm::LazyCallGraph::SCC pass manager run 110; CHECK-TWO-NOOP-CG: Running pass: NoOpCGSCCPass 111; CHECK-TWO-NOOP-CG: Running pass: NoOpCGSCCPass 112; CHECK-TWO-NOOP-CG: Finished llvm::LazyCallGraph::SCC pass manager run 113; CHECK-TWO-NOOP-CG: Finished llvm::Module pass manager run 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 llvm::Module pass manager run 119; CHECK-NESTED-MP-CG-FP: Starting llvm::Module pass manager run 120; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToFunctionPassAdaptor 121; CHECK-NESTED-MP-CG-FP: Starting llvm::Function pass manager run 122; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass 123; CHECK-NESTED-MP-CG-FP: Finished llvm::Function pass manager run 124; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToPostOrderCGSCCPassAdaptor 125; CHECK-NESTED-MP-CG-FP: Starting llvm::LazyCallGraph::SCC pass manager run 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 llvm::Function pass manager run 129; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass 130; CHECK-NESTED-MP-CG-FP: Finished llvm::Function pass manager run 131; CHECK-NESTED-MP-CG-FP: Running pass: NoOpCGSCCPass 132; CHECK-NESTED-MP-CG-FP: Finished llvm::LazyCallGraph::SCC pass manager run 133; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToFunctionPassAdaptor 134; CHECK-NESTED-MP-CG-FP: Starting llvm::Function pass manager run 135; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass 136; CHECK-NESTED-MP-CG-FP: Finished llvm::Function pass manager run 137; CHECK-NESTED-MP-CG-FP: Finished llvm::Module pass manager run 138; CHECK-NESTED-MP-CG-FP: Finished llvm::Module pass manager run 139 140; RUN: opt -disable-output -debug-pass-manager \ 141; RUN: -passes='no-op-loop,no-op-loop' %s 2>&1 \ 142; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-LOOP 143; CHECK-TWO-NOOP-LOOP: Starting llvm::Module pass manager run 144; CHECK-TWO-NOOP-LOOP: Running pass: ModuleToFunctionPassAdaptor 145; CHECK-TWO-NOOP-LOOP: Starting llvm::Function pass manager run 146; CHECK-TWO-NOOP-LOOP: Running pass: FunctionToLoopPassAdaptor 147; CHECK-TWO-NOOP-LOOP: Starting llvm::Loop pass manager run 148; CHECK-TWO-NOOP-LOOP: Running pass: NoOpLoopPass 149; CHECK-TWO-NOOP-LOOP: Running pass: NoOpLoopPass 150; CHECK-TWO-NOOP-LOOP: Finished llvm::Loop pass manager run 151; CHECK-TWO-NOOP-LOOP: Finished llvm::Function pass manager run 152; CHECK-TWO-NOOP-LOOP: Finished llvm::Module pass manager run 153 154; RUN: opt -disable-output -debug-pass-manager \ 155; RUN: -passes='module(function(loop(no-op-loop)))' %s 2>&1 \ 156; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-FP-LP 157; RUN: opt -disable-output -debug-pass-manager \ 158; RUN: -passes='function(loop(no-op-loop))' %s 2>&1 \ 159; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-FP-LP 160; RUN: opt -disable-output -debug-pass-manager \ 161; RUN: -passes='loop(no-op-loop)' %s 2>&1 \ 162; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-FP-LP 163; RUN: opt -disable-output -debug-pass-manager \ 164; RUN: -passes='no-op-loop' %s 2>&1 \ 165; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-FP-LP 166; CHECK-NESTED-FP-LP: Starting llvm::Module pass manager run 167; CHECK-NESTED-FP-LP: Running pass: ModuleToFunctionPassAdaptor 168; CHECK-NESTED-FP-LP: Starting llvm::Function pass manager run 169; CHECK-NESTED-FP-LP: Running pass: FunctionToLoopPassAdaptor 170; CHECK-NESTED-FP-LP: Starting llvm::Loop pass manager run 171; CHECK-NESTED-FP-LP: Running pass: NoOpLoopPass 172; CHECK-NESTED-FP-LP: Finished llvm::Loop pass manager run 173; CHECK-NESTED-FP-LP: Finished llvm::Function pass manager run 174; CHECK-NESTED-FP-LP: Finished llvm::Module pass manager run 175 176 177define void @f() { 178entry: 179 br label %loop 180loop: 181 br label %loop 182} 183