Home | History | Annotate | Download | only in Other
      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 CGSCC 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 CGSCC 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 CGSCC 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 CGSCC 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 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 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 Loop pass manager run
    171 ; CHECK-NESTED-FP-LP: Running pass: NoOpLoopPass
    172 ; CHECK-NESTED-FP-LP: Finished 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 ; RUN: not opt -disable-output -debug-pass-manager \
    177 ; RUN:     -passes='function(no-op-function)function(no-op-function)' %s 2>&1 \
    178 ; RUN:     | FileCheck %s --check-prefix=CHECK-MISSING-COMMA1
    179 ; CHECK-MISSING-COMMA1: unable to parse pass pipeline description
    180 
    181 ; RUN: not opt -disable-output -debug-pass-manager \
    182 ; RUN:     -passes='function()' %s 2>&1 \
    183 ; RUN:     | FileCheck %s --check-prefix=CHECK-EMPTY-INNER-PIPELINE
    184 ; CHECK-EMPTY-INNER-PIPELINE: unable to parse pass pipeline description
    185 
    186 ; RUN: not opt -disable-output -debug-pass-manager \
    187 ; RUN:     -passes='no-op-module(no-op-module,whatever)' %s 2>&1 \
    188 ; RUN:     | FileCheck %s --check-prefix=CHECK-PIPELINE-ON-MODULE-PASS
    189 ; CHECK-PIPELINE-ON-MODULE-PASS: unable to parse pass pipeline description
    190 
    191 ; RUN: not opt -disable-output -debug-pass-manager \
    192 ; RUN:     -passes='no-op-cgscc(no-op-cgscc,whatever)' %s 2>&1 \
    193 ; RUN:     | FileCheck %s --check-prefix=CHECK-PIPELINE-ON-CGSCC-PASS
    194 ; CHECK-PIPELINE-ON-CGSCC-PASS: unable to parse pass pipeline description
    195 
    196 ; RUN: not opt -disable-output -debug-pass-manager \
    197 ; RUN:     -passes='no-op-function(no-op-function,whatever)' %s 2>&1 \
    198 ; RUN:     | FileCheck %s --check-prefix=CHECK-PIPELINE-ON-FUNCTION-PASS
    199 ; CHECK-PIPELINE-ON-FUNCTION-PASS: unable to parse pass pipeline description
    200 
    201 ; RUN: not opt -disable-output -debug-pass-manager \
    202 ; RUN:     -passes='no-op-loop(no-op-loop,whatever)' %s 2>&1 \
    203 ; RUN:     | FileCheck %s --check-prefix=CHECK-PIPELINE-ON-LOOP-PASS
    204 ; CHECK-PIPELINE-ON-LOOP-PASS: unable to parse pass pipeline description
    205 
    206 ; RUN: not opt -disable-output -debug-pass-manager \
    207 ; RUN:     -passes='no-op-function()' %s 2>&1 \
    208 ; RUN:     | FileCheck %s --check-prefix=CHECK-EMPTY-PIPELINE-ON-PASS
    209 ; CHECK-EMPTY-PIPELINE-ON-PASS: unable to parse pass pipeline description
    210 
    211 define void @f() {
    212 entry:
    213  br label %loop
    214 loop:
    215  br label %loop
    216 }
    217