1; RUN: opt -aa-pipeline=basic-aa -passes='require<memoryssa>,invalidate<aa>,early-cse-memssa' \ 2; RUN: -debug-pass-manager -disable-output %s 2>&1 \ 3; RUN: | FileCheck %s --check-prefix=CHECK-AA-INVALIDATE 4; RUN: opt -aa-pipeline=basic-aa -passes='require<memoryssa>,invalidate<domtree>,early-cse-memssa' \ 5; RUN: -debug-pass-manager -disable-output %s 2>&1 \ 6; RUN: | FileCheck %s --check-prefix=CHECK-DT-INVALIDATE 7 8; CHECK-AA-INVALIDATE: Running analysis: MemorySSAAnalysis 9; CHECK-AA-INVALIDATE: Running analysis: DominatorTreeAnalysis 10; CHECK-AA-INVALIDATE: Running analysis: AAManager 11; CHECK-AA-INVALIDATE: Running analysis: BasicAA 12; CHECK-AA-INVALIDATE: Running pass: InvalidateAnalysisPass<{{.*}}AAManager 13; CHECK-AA-INVALIDATE: Invalidating analysis: AAManager 14; CHECK-AA-INVALIDATE: Invalidating analysis: MemorySSAAnalysis 15; CHECK-AA-INVALIDATE: Running pass: EarlyCSEPass 16; CHECK-AA-INVALIDATE: Running analysis: MemorySSAAnalysis 17; CHECK-AA-INVALIDATE: Running analysis: AAManager 18 19; CHECK-DT-INVALIDATE: Running analysis: MemorySSAAnalysis 20; CHECK-DT-INVALIDATE: Running analysis: DominatorTreeAnalysis 21; CHECK-DT-INVALIDATE: Running analysis: AAManager 22; CHECK-DT-INVALIDATE: Running analysis: BasicAA 23; CHECK-DT-INVALIDATE: Running pass: InvalidateAnalysisPass<{{.*}}DominatorTreeAnalysis 24; CHECK-DT-INVALIDATE: Invalidating analysis: DominatorTreeAnalysis 25; CHECK-DT-INVALIDATE: Invalidating analysis: BasicAA 26; CHECK-DT-INVALIDATE: Invalidating analysis: AAManager 27; CHECK-DT-INVALIDATE: Invalidating analysis: MemorySSAAnalysis 28; CHECK-DT-INVALIDATE: Running pass: EarlyCSEPass 29; CHECK-DT-INVALIDATE: Running analysis: DominatorTreeAnalysis 30; CHECK-DT-INVALIDATE: Running analysis: MemorySSAAnalysis 31; CHECK-DT-INVALIDATE: Running analysis: AAManager 32; CHECK-DT-INVALIDATE: Running analysis: BasicAA 33 34 35; Function Attrs: ssp uwtable 36define i32 @main() { 37entry: 38 %call = call noalias i8* @_Znwm(i64 4) 39 %0 = bitcast i8* %call to i32* 40 %call1 = call noalias i8* @_Znwm(i64 4) 41 %1 = bitcast i8* %call1 to i32* 42 store i32 5, i32* %0, align 4 43 store i32 7, i32* %1, align 4 44 %2 = load i32, i32* %0, align 4 45 %3 = load i32, i32* %1, align 4 46 %4 = load i32, i32* %0, align 4 47 %5 = load i32, i32* %1, align 4 48 %add = add nsw i32 %3, %5 49 ret i32 %add 50} 51 52declare noalias i8* @_Znwm(i64) 53 54