| ; RUN: opt < %s -debug-pass=Structure -globals-aa -loop-vectorize -sccp -loop-vectorize -globals-aa 2>&1 -S | FileCheck %s |
| ; RUN: opt < %s -debug-pass-manager -passes='loop-vectorize,sccp,loop-vectorize' 2>&1 -S | FileCheck --check-prefix=NEW-PM %s |
| |
| ; Check CFG-only analysis are preserved by SCCP by running it between 2 |
| ; loop-vectorize runs. |
| |
| ; CHECK: Globals Alias Analysis |
| ; CHECK: Dominator Tree Construction |
| ; CHECK: Natural Loop Information |
| ; CHECK: Sparse Conditional Constant Propagation |
| ; CHECK-NOT: Dominator Tree Construction |
| ; CHECK-NOT: Natural Loop Information |
| ; CHECK-NOT: Globals Alias Analysis |
| ; CHECK: Loop Vectorization |
| |
| ; NEW-PM-DAG: Running analysis: LoopAnalysis on test |
| ; NEW-PM-DAG: Running analysis: DominatorTreeAnalysis on test |
| ; NEW-PM-DAG: Running analysis: AssumptionAnalysis on test |
| ; NEW-PM-DAG: Running analysis: TargetLibraryAnalysis on test |
| ; NEW-PM-DAG: Running analysis: TargetIRAnalysis on test |
| ; NEW-PM: Running pass: SCCPPass on test |
| ; NEW-PM-NOT: Running analysis: LoopAnalysis on test |
| ; NEW-PM-NOT: Running analysis: DominatorTreeAnalysis on test |
| ; NEW-PM-NOT: Running analysis: AssumptionAnalysis on test |
| ; NEW-PM-NOT: Running analysis: TargetLibraryAnalysis on test |
| ; NEW-PM-NOT: Running analysis: TargetIRAnalysis on test |
| ; NEW-PM: Finished llvm::Function pass manager run. |
| |
| |
| define i32 @test() { |
| entry: |
| %res = add i32 1, 10 |
| ret i32 %res |
| } |