Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopInfo/multidim_with_bitcast.ll @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | c4bab56944e8 |
children |
comparison
equal
deleted
inserted
replaced
237:c80f45b162ad | 252:1f2b6ac9f198 |
---|---|
7 | 7 |
8 ; CHECK: Stmt_bb7[i0, i1] -> MemRef_B[i0, i1] | 8 ; CHECK: Stmt_bb7[i0, i1] -> MemRef_B[i0, i1] |
9 ; CHECK: Stmt_bb7[i0, i1] -> MemRef_B[i0, i1] | 9 ; CHECK: Stmt_bb7[i0, i1] -> MemRef_B[i0, i1] |
10 ; CHECK: Stmt_bb17[i0] -> MemRef_B[i0, 100] | 10 ; CHECK: Stmt_bb17[i0] -> MemRef_B[i0, 100] |
11 | 11 |
12 define void @kernel(float* %A, [101 x float]* %B, [101 x float]* %C, float* %D) { | 12 define void @kernel(ptr %A, ptr %B, ptr %C, ptr %D) { |
13 bb: | 13 bb: |
14 br label %bb4 | 14 br label %bb4 |
15 | 15 |
16 bb4: ; preds = %bb21, %bb | 16 bb4: ; preds = %bb21, %bb |
17 %indvars.iv1 = phi i64 [ %indvars.iv.next2, %bb21 ], [ 0, %bb ] | 17 %indvars.iv1 = phi i64 [ %indvars.iv.next2, %bb21 ], [ 0, %bb ] |
25 %indvars.iv = phi i64 [ %indvars.iv.next, %bb16 ], [ 0, %bb5 ] | 25 %indvars.iv = phi i64 [ %indvars.iv.next, %bb16 ], [ 0, %bb5 ] |
26 %exitcond = icmp eq i64 %indvars.iv, 100 | 26 %exitcond = icmp eq i64 %indvars.iv, 100 |
27 br i1 %exitcond, label %bb17, label %bb7 | 27 br i1 %exitcond, label %bb17, label %bb7 |
28 | 28 |
29 bb7: ; preds = %bb6 | 29 bb7: ; preds = %bb6 |
30 %tmp = getelementptr inbounds float, float* %D, i64 %indvars.iv | 30 %tmp = getelementptr inbounds float, ptr %D, i64 %indvars.iv |
31 %tmp8 = load float, float* %tmp, align 4 | 31 %tmp8 = load float, ptr %tmp, align 4 |
32 %tmp9 = getelementptr inbounds [101 x float], [101 x float]* %B, i64 %indvars.iv1, i64 %indvars.iv | 32 %tmp9 = getelementptr inbounds [101 x float], ptr %B, i64 %indvars.iv1, i64 %indvars.iv |
33 %tmp10 = load float, float* %tmp9, align 4 | 33 %tmp10 = load float, ptr %tmp9, align 4 |
34 %tmp11 = fmul float %tmp8, %tmp10 | 34 %tmp11 = fmul float %tmp8, %tmp10 |
35 %tmp12 = getelementptr inbounds [101 x float], [101 x float]* %C, i64 %indvars.iv1, i64 %indvars.iv | 35 %tmp12 = getelementptr inbounds [101 x float], ptr %C, i64 %indvars.iv1, i64 %indvars.iv |
36 store float %tmp11, float* %tmp12, align 4 | 36 store float %tmp11, ptr %tmp12, align 4 |
37 %tmp13 = getelementptr inbounds float, float* %A, i64 %indvars.iv | 37 %tmp13 = getelementptr inbounds float, ptr %A, i64 %indvars.iv |
38 %0 = bitcast float* %tmp13 to i32* | 38 %tmp141 = load i32, ptr %tmp13, align 4 |
39 %tmp141 = load i32, i32* %0, align 4 | 39 %tmp15 = getelementptr inbounds [101 x float], ptr %B, i64 %indvars.iv1, i64 %indvars.iv |
40 %tmp15 = getelementptr inbounds [101 x float], [101 x float]* %B, i64 %indvars.iv1, i64 %indvars.iv | 40 store i32 %tmp141, ptr %tmp15, align 4 |
41 %1 = bitcast float* %tmp15 to i32* | |
42 store i32 %tmp141, i32* %1, align 4 | |
43 br label %bb16 | 41 br label %bb16 |
44 | 42 |
45 bb16: ; preds = %bb7 | 43 bb16: ; preds = %bb7 |
46 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 | 44 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 |
47 br label %bb6 | 45 br label %bb6 |
48 | 46 |
49 bb17: ; preds = %bb6 | 47 bb17: ; preds = %bb6 |
50 %tmp18 = trunc i64 %indvars.iv1 to i32 | 48 %tmp18 = trunc i64 %indvars.iv1 to i32 |
51 %tmp19 = sitofp i32 %tmp18 to float | 49 %tmp19 = sitofp i32 %tmp18 to float |
52 %tmp20 = getelementptr inbounds [101 x float], [101 x float]* %B, i64 %indvars.iv1, i64 100 | 50 %tmp20 = getelementptr inbounds [101 x float], ptr %B, i64 %indvars.iv1, i64 100 |
53 store float %tmp19, float* %tmp20, align 4 | 51 store float %tmp19, ptr %tmp20, align 4 |
54 br label %bb21 | 52 br label %bb21 |
55 | 53 |
56 bb21: ; preds = %bb17 | 54 bb21: ; preds = %bb17 |
57 %indvars.iv.next2 = add nuw nsw i64 %indvars.iv1, 1 | 55 %indvars.iv.next2 = add nuw nsw i64 %indvars.iv1, 1 |
58 br label %bb4 | 56 br label %bb4 |