1 ; RUN: opt < %s -debug-pass=Structure -globals-aa -loop-vectorize -sccp -loop-vectorize -globals-aa 2>&1 -S | FileCheck %s 2 ; RUN: opt < %s -debug-pass-manager -passes='loop-vectorize,sccp,loop-vectorize' 2>&1 -S | FileCheck --check-prefix=NEW-PM %s 3 4 ; Check CFG-only analysis are preserved by SCCP by running it between 2 5 ; loop-vectorize runs. 6 7 ; CHECK: Globals Alias Analysis 8 ; CHECK: Dominator Tree Construction 9 ; CHECK: Natural Loop Information 10 ; CHECK: Sparse Conditional Constant Propagation 11 ; CHECK-NOT: Dominator Tree Construction 12 ; CHECK-NOT: Natural Loop Information 13 ; CHECK-NOT: Globals Alias Analysis 14 ; CHECK: Loop Vectorization 15 16 ; NEW-PM-DAG: Running analysis: LoopAnalysis on test 17 ; NEW-PM-DAG: Running analysis: DominatorTreeAnalysis on test 18 ; NEW-PM-DAG: Running analysis: AssumptionAnalysis on test 19 ; NEW-PM-DAG: Running analysis: TargetLibraryAnalysis on test 20 ; NEW-PM-DAG: Running analysis: TargetIRAnalysis on test 21 ; NEW-PM: Running pass: SCCPPass on test 22 ; NEW-PM-NOT: Running analysis: LoopAnalysis on test 23 ; NEW-PM-NOT: Running analysis: DominatorTreeAnalysis on test 24 ; NEW-PM-NOT: Running analysis: AssumptionAnalysis on test 25 ; NEW-PM-NOT: Running analysis: TargetLibraryAnalysis on test 26 ; NEW-PM-NOT: Running analysis: TargetIRAnalysis on test 27 ; NEW-PM: Finished llvm::Function pass manager run. 28 29 30 define i32 @test() { 31 entry: 32 %res = add i32 1, 10 33 ret i32 %res 34 } 35