Mercurial > hg > CbC > CbC_llvm
comparison polly/test/MaximalStaticExpansion/working_deps_between_inners.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 |
---|---|
37 ; CHECK: new: { Stmt_for_body11[i0, i1, i2] -> MemRef_A_Stmt_for_body11_expanded[i0, i1, i2] }; | 37 ; CHECK: new: { Stmt_for_body11[i0, i1, i2] -> MemRef_A_Stmt_for_body11_expanded[i0, i1, i2] }; |
38 ; | 38 ; |
39 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 39 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
40 target triple = "x86_64-unknown-linux-gnu" | 40 target triple = "x86_64-unknown-linux-gnu" |
41 | 41 |
42 define void @mse(double* %A, double* %B) { | 42 define void @mse(ptr %A, ptr %B) { |
43 entry: | 43 entry: |
44 br label %entry.split | 44 br label %entry.split |
45 | 45 |
46 entry.split: ; preds = %entry | 46 entry.split: ; preds = %entry |
47 br label %for.body | 47 br label %for.body |
52 | 52 |
53 for.body3: ; preds = %for.body, %for.body3 | 53 for.body3: ; preds = %for.body, %for.body3 |
54 %indvars.iv = phi i64 [ 0, %for.body ], [ %indvars.iv.next, %for.body3 ] | 54 %indvars.iv = phi i64 [ 0, %for.body ], [ %indvars.iv.next, %for.body3 ] |
55 %0 = trunc i64 %indvars.iv to i32 | 55 %0 = trunc i64 %indvars.iv to i32 |
56 %conv = sitofp i32 %0 to double | 56 %conv = sitofp i32 %0 to double |
57 %arrayidx = getelementptr inbounds double, double* %B, i64 %indvars.iv | 57 %arrayidx = getelementptr inbounds double, ptr %B, i64 %indvars.iv |
58 store double %conv, double* %arrayidx, align 8 | 58 store double %conv, ptr %arrayidx, align 8 |
59 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 | 59 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 |
60 %exitcond = icmp ne i64 %indvars.iv.next, 10000 | 60 %exitcond = icmp ne i64 %indvars.iv.next, 10000 |
61 br i1 %exitcond, label %for.body3, label %for.end | 61 br i1 %exitcond, label %for.body3, label %for.end |
62 | 62 |
63 for.end: ; preds = %for.body3 | 63 for.end: ; preds = %for.body3 |
71 %indvars.iv5 = phi i64 [ 0, %for.body7 ], [ %indvars.iv.next6, %for.body11 ] | 71 %indvars.iv5 = phi i64 [ 0, %for.body7 ], [ %indvars.iv.next6, %for.body11 ] |
72 %1 = add nuw nsw i64 %indvars.iv9, %indvars.iv14 | 72 %1 = add nuw nsw i64 %indvars.iv9, %indvars.iv14 |
73 %2 = add nuw nsw i64 %1, %indvars.iv5 | 73 %2 = add nuw nsw i64 %1, %indvars.iv5 |
74 %3 = trunc i64 %2 to i32 | 74 %3 = trunc i64 %2 to i32 |
75 %conv13 = sitofp i32 %3 to double | 75 %conv13 = sitofp i32 %3 to double |
76 %arrayidx15 = getelementptr inbounds double, double* %B, i64 %indvars.iv5 | 76 %arrayidx15 = getelementptr inbounds double, ptr %B, i64 %indvars.iv5 |
77 %4 = load double, double* %arrayidx15, align 8 | 77 %4 = load double, ptr %arrayidx15, align 8 |
78 %mul = fmul double %4, %conv13 | 78 %mul = fmul double %4, %conv13 |
79 %5 = add nuw nsw i64 %indvars.iv9, %indvars.iv14 | 79 %5 = add nuw nsw i64 %indvars.iv9, %indvars.iv14 |
80 %arrayidx18 = getelementptr inbounds double, double* %A, i64 %5 | 80 %arrayidx18 = getelementptr inbounds double, ptr %A, i64 %5 |
81 store double %mul, double* %arrayidx18, align 8 | 81 store double %mul, ptr %arrayidx18, align 8 |
82 %indvars.iv.next6 = add nuw nsw i64 %indvars.iv5, 1 | 82 %indvars.iv.next6 = add nuw nsw i64 %indvars.iv5, 1 |
83 %exitcond8 = icmp ne i64 %indvars.iv.next6, 10000 | 83 %exitcond8 = icmp ne i64 %indvars.iv.next6, 10000 |
84 br i1 %exitcond8, label %for.body11, label %for.inc22 | 84 br i1 %exitcond8, label %for.body11, label %for.inc22 |
85 | 85 |
86 for.inc22: ; preds = %for.body11 | 86 for.inc22: ; preds = %for.body11 |