1; This testcase ensures that CFL AA handles assignment in an inclusion-based 2; manner 3 4; RUN: opt < %s -aa-pipeline=cfl-anders-aa -passes=aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s 5 6; CHECK-LABEL: Function: test_assign2 7; CHECK: NoAlias: i64* %a, i32* %b 8; CHECK: NoAlias: i32* %b, i32* %c 9; CHECK: NoAlias: i32* %b, i32* %d 10; CHECK: MayAlias: i64* %a, i32* %e 11; CHECK: MayAlias: i32* %b, i32* %e 12; CHECK: MayAlias: i32* %c, i32* %e 13; CHECK: MayAlias: i32* %d, i32* %e 14define void @test_assign2(i1 %cond) { 15 %a = alloca i64, align 8 16 %b = alloca i32, align 4 17 18 %c = bitcast i64* %a to i32* 19 %d = bitcast i64* %a to i32* 20 %e = select i1 %cond, i32* %c, i32* %b 21 load i64, i64* %a 22 load i32, i32* %b 23 load i32, i32* %c 24 load i32, i32* %d 25 load i32, i32* %e 26 ret void 27} 28