diff options
Diffstat (limited to 'llvm/test/Transforms/SCCP/preserve-analysis.ll')
| -rw-r--r-- | llvm/test/Transforms/SCCP/preserve-analysis.ll | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SCCP/preserve-analysis.ll b/llvm/test/Transforms/SCCP/preserve-analysis.ll new file mode 100644 index 00000000000..52d2941d81b --- /dev/null +++ b/llvm/test/Transforms/SCCP/preserve-analysis.ll @@ -0,0 +1,36 @@ +; 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: Basic Alias Analysis (stateless AA impl) +; CHECK: Sparse Conditional Constant Propagation +; CHECK-NOT: Dominator Tree Construction +; CHECK-NOT: Natural Loop Information +; CHECK-NOT: Basic Alias Analysis (stateless AA impl) +; 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 +} |

