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