@@ -30,14 +30,14 @@ target datalayout = "e-m:e-p:32:32-i1:32-i64:64-a:0-v32:32-n16:32"
3030%20 = type { [768 x i32 ] }
3131%21 = type { [416 x i32 ] }
3232
33- define void @test (ptr %A , i1 %arg ) #0 align 2 {
33+ define void @test (ptr %A , ptr %B , i1 %arg , i32 %n , i32 %m ) #0 align 2 {
3434; CHECK-LABEL: 'test'
35- ; CHECK-NEXT: Src: %v1 = load i32, ptr undef, align 4 --> Dst: %v1 = load i32, ptr undef, align 4
36- ; CHECK-NEXT: da analyze - none!
37- ; CHECK-NEXT: Src: %v1 = load i32, ptr undef, align 4 --> Dst: %v27 = load <32 x i32>, ptr %v25, align 256
38- ; CHECK-NEXT: da analyze - none!
39- ; CHECK-NEXT: Src: %v1 = load i32, ptr undef, align 4 --> Dst: %v32 = load <32 x i32>, ptr %v30, align 128
35+ ; CHECK-NEXT: Src: %v1 = load i32, ptr %B, align 4 --> Dst: %v1 = load i32, ptr %B, align 4
4036; CHECK-NEXT: da analyze - none!
37+ ; CHECK-NEXT: Src: %v1 = load i32, ptr %B, align 4 --> Dst: %v27 = load <32 x i32>, ptr %v25, align 256
38+ ; CHECK-NEXT: da analyze - confused!
39+ ; CHECK-NEXT: Src: %v1 = load i32, ptr %B, align 4 --> Dst: %v32 = load <32 x i32>, ptr %v30, align 128
40+ ; CHECK-NEXT: da analyze - confused!
4141; CHECK-NEXT: Src: %v27 = load <32 x i32>, ptr %v25, align 256 --> Dst: %v27 = load <32 x i32>, ptr %v25, align 256
4242; CHECK-NEXT: da analyze - consistent input [0 S S]!
4343; CHECK-NEXT: Src: %v27 = load <32 x i32>, ptr %v25, align 256 --> Dst: %v32 = load <32 x i32>, ptr %v30, align 128
@@ -46,27 +46,27 @@ define void @test(ptr %A, i1 %arg) #0 align 2 {
4646; CHECK-NEXT: da analyze - consistent input [0 S S]!
4747;
4848entry:
49- %v1 = load i32 , ptr undef , align 4
49+ %v1 = load i32 , ptr %B , align 4
5050 br label %bb13
5151
5252bb13:
53- %v2 = phi i32 [ undef , %entry ], [ %v39 , %bb38 ]
53+ %v2 = phi i32 [ 0 , %entry ], [ %v39 , %bb38 ]
5454 br i1 %arg , label %bb15 , label %bb38
5555
5656bb15:
57- %v3 = mul nsw i32 %v2 , undef
57+ %v3 = mul nsw i32 %v2 , 2
5858 br label %bb17
5959
6060bb17:
6161 br i1 %arg , label %bb21 , label %bb37
6262
6363bb21:
64- %v22 = add nsw i32 undef , 1
64+ %v22 = add nsw i32 %n , 1
6565 %v23 = add i32 %v22 , %v3
6666 %v24 = mul nsw i32 %v23 , %v1
6767 %v25 = getelementptr inbounds %1 , ptr %A , i32 0 , i32 7 , i32 1 , i32 %v24
6868 %v27 = load <32 x i32 >, ptr %v25 , align 256
69- %v28 = add i32 undef , %v3
69+ %v28 = add i32 %m , %v3
7070 %v29 = mul nsw i32 %v28 , 32
7171 %v30 = getelementptr inbounds %1 , ptr %A , i32 0 , i32 7 , i32 14 , i32 %v29
7272 %v32 = load <32 x i32 >, ptr %v30 , align 128
0 commit comments