Skip to content

Commit 194875c

Browse files
authored
fix sparse test (#1199)
1 parent 3492e53 commit 194875c

File tree

1 file changed

+32
-30
lines changed

1 file changed

+32
-30
lines changed

enzyme/test/Enzyme/Sparse/indir.ll

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,46 @@
1-
; RUN: %opt < %s %loadEnzyme -enzyme -instcombine -S | FileCheck %s
2-
; RUN: %opt < %s %newLoadEnzyme -passes="enzyme,instcombine" -S | FileCheck %s
1+
; RUN: %opt < %s %loadEnzyme -enzyme -instsimplify -S | FileCheck %s
2+
; RUN: %opt < %s %newLoadEnzyme -passes="enzyme,function(instsimplify)" -S | FileCheck %s
33

44
declare dso_local double @_Z5loadel(i64 %l)
55

66
declare dso_local void @_Z6storerld(i64 %l, double %v)
77

88
; Function Attrs: uwtable mustprogress
99
define dso_local double @_Z4testv() {
10-
%1 = call double* @_Z16__enzyme_todensePvS_(i8* bitcast (double (i64)* @_Z5loadel to i8*), i8* bitcast (void (i64, double)* @_Z6storerld to i8*))
11-
br label %3
10+
entry:
11+
%td = call double* @_Z16__enzyme_todensePvS_(i8* bitcast (double (i64)* @_Z5loadel to i8*), i8* bitcast (void (i64, double)* @_Z6storerld to i8*))
12+
br label %loop
1213

13-
2: ; preds = %3
14-
ret double %12
14+
rb: ; preds = %3
15+
ret double %a12
1516

16-
3: ; preds = %0, %3
17-
%4 = phi i64 [ 0, %0 ], [ %13, %3 ]
18-
%5 = phi double [ 0.000000e+00, %0 ], [ %12, %3 ]
19-
%6 = mul nuw nsw i64 %4, 1000
20-
%7 = getelementptr inbounds double, double* %1, i64 %6
21-
%8 = load double, double* %7, align 8
22-
%9 = fadd double %5, %8
23-
%10 = getelementptr inbounds double, double* %7, i64 1
24-
%11 = load double, double* %10, align 8
25-
%12 = fadd double %9, %11
26-
%13 = add nuw nsw i64 %4, 1
27-
%14 = icmp eq i64 %13, 10000
28-
br i1 %14, label %2, label %3
17+
loop: ; preds = %0, %3
18+
%a4 = phi i64 [ 0, %entry ], [ %a13, %loop ]
19+
%a5 = phi double [ 0.000000e+00, %entry ], [ %a12, %loop ]
20+
%a6 = mul nuw nsw i64 %a4, 1000
21+
%a7 = getelementptr inbounds double, double* %td, i64 %a6
22+
%a8 = load double, double* %a7, align 8
23+
%a9 = fadd double %a5, %a8
24+
%a10 = getelementptr inbounds double, double* %a7, i64 1
25+
%a11 = load double, double* %a10, align 8
26+
%a12 = fadd double %a9, %a11
27+
%a13 = add nuw nsw i64 %a4, 1
28+
%a14 = icmp eq i64 %a13, 10000
29+
br i1 %a14, label %rb, label %loop
2930
}
3031

3132
declare dso_local double* @_Z16__enzyme_todensePvS_(i8*, i8*)
3233

3334
; CHECK: define dso_local double @_Z4testv() {
34-
; CHECK: %3 = phi i64 [ 0, %0 ], [ %11, %2 ]
35-
; CHECK-NEXT: %4 = phi double [ 0.000000e+00, %0 ], [ %10, %2 ]
36-
; CHECK-NEXT: %5 = mul nuw i64 %3, 8000
37-
; CHECK-NEXT: %6 = call double @_Z5loadel(i64 %5)
38-
; CHECK-NEXT: %7 = fadd double %4, %6
39-
; CHECK-NEXT: %8 = or i64 %5, 8
40-
; CHECK-NEXT: %9 = call double @_Z5loadel(i64 %8)
41-
; CHECK-NEXT: %10 = fadd double %7, %9
42-
; CHECK-NEXT: %11 = add nuw nsw i64 %3, 1
43-
; CHECK-NEXT: %12 = icmp eq i64 %11, 10000
44-
; CHECK-NEXT: br i1 %12, label %1, label %2
35+
; CHECK: %a4 = phi i64 [ 0, %entry ], [ %a13, %loop ]
36+
; CHECK-NEXT: %a5 = phi double [ 0.000000e+00, %entry ], [ %a12, %loop ]
37+
; CHECK-NEXT: %a6 = mul nuw nsw i64 %a4, 1000
38+
; CHECK-NEXT: %0 = mul nuw nsw i64 %a6, 8
39+
; CHECK-NEXT: %1 = call double @_Z5loadel(i64 %0)
40+
; CHECK-NEXT: %a9 = fadd double %a5, %1
41+
; CHECK-NEXT: %2 = add i64 %0, 8
42+
; CHECK-NEXT: %3 = call double @_Z5loadel(i64 %2)
43+
; CHECK-NEXT: %a12 = fadd double %a9, %3
44+
; CHECK-NEXT: %a13 = add nuw nsw i64 %a4, 1
45+
; CHECK-NEXT: %a14 = icmp eq i64 %a13, 10000
46+
; CHECK-NEXT: br i1 %a14, label %rb, label %loop

0 commit comments

Comments
 (0)