Skip to content

Commit

Permalink
looks suspicious
Browse files Browse the repository at this point in the history
  • Loading branch information
ZuseZ4 committed Oct 24, 2023
1 parent ff99e88 commit 0d21b7e
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 24 deletions.
2 changes: 1 addition & 1 deletion enzyme/test/Enzyme/ReverseMode/blas/gemv_c_loop.ll
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ entry:
; CHECK-NEXT: %malloccall = tail call noalias nonnull i8* @malloc(i32 %mallocsize)
; CHECK-NEXT: %cache.A = bitcast i8* %malloccall to double*
; CHECK-NEXT: call void @cblas_dlacpy(i32 101, i8 0, i32 %N, i32 %N, double* %K, i32 %N, double* %cache.A, i32 %N)
; CHECK-NEXT: %1 = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %1 = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: %mallocsize1 = mul nuw nsw i32 %1, 8
; CHECK-NEXT: %malloccall2 = tail call noalias nonnull i8* @malloc(i32 %mallocsize1)
; CHECK-NEXT: %2 = load i8**, i8*** %malloccall2_cache, align 8, !dereferenceable !6, !invariant.group !2
Expand Down
8 changes: 4 additions & 4 deletions enzyme/test/Enzyme/ReverseMode/blas/gemv_c_loop2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ entry:
; CHECK-NEXT: %malloccall = tail call noalias nonnull i8* @malloc(i32 %mallocsize)
; CHECK-NEXT: %cache.A = bitcast i8* %malloccall to double*
; CHECK-NEXT: call void @cblas_dlacpy(i32 101, i8 0, i32 %N, i32 %N, double* %K, i32 %N, double* %cache.A, i32 %N)
; CHECK-NEXT: %1 = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %1 = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: %mallocsize1 = mul nuw nsw i32 %1, 8
; CHECK-NEXT: %malloccall2 = tail call noalias nonnull i8* @malloc(i32 %mallocsize1)
; CHECK-NEXT: %2 = load i8**, i8*** %malloccall2_cache, align 8, !dereferenceable !6, !invariant.group !2
Expand Down Expand Up @@ -105,11 +105,11 @@ entry:
; CHECK-NEXT: %[[i20:.+]] = getelementptr inbounds i8*, i8** %[[i19]], i64 %[[i15]]
; CHECK-NEXT: %[[i21:.+]] = load i8*, i8** %[[i20]], align 8, !invariant.group !8
; CHECK-NEXT: %cache.A_unwrap = bitcast i8* %[[i21]] to double*
; CHECK-DAG: %[[r20:.+]] = select i1 false, double* %"v0'", double* %cache.x_unwrap
; CHECK-DAG: %[[r21:.+]] = select i1 false, double* %cache.x_unwrap, double* %"v0'"
; CHECK-DAG: %[[r20:.+]] = select i1 true, double* %"v0'", double* %cache.x_unwrap
; CHECK-DAG: %[[r21:.+]] = select i1 true, double* %cache.x_unwrap, double* %"v0'"
; CHECK-NEXT: call void @cblas_dger(i32 101, i32 %N, i32 %N, double 1.000000e-03, double* %[[r20]], i32 1, double* %[[r21]], i32 1, double* %"K'", i32 %N)
; CHECK-NEXT: call void @cblas_dgemv(i32 101, i32 112, i32 %N, i32 %N, double 1.000000e-03, double* %cache.A_unwrap, i32 %N, double* %"v0'", i32 1, double 1.000000e+00, double* %"x0'", i32 1)
; CHECK-NEXT: %[[i23:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i23:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: call void @cblas_dscal(i32 %[[i23]], double 1.000000e+00, double* %"v0'", i32 1)
; CHECK-NEXT: %[[i24:.+]] = bitcast double* %cache.A_unwrap to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i24]])
Expand Down
38 changes: 19 additions & 19 deletions enzyme/test/Enzyme/ReverseMode/blas/gemv_c_loop3_matcopy.ll
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ entry:
; CHECK-NEXT: br i1 %7, label %__enzyme_memcpy_double_mat_32.exit, label %init.idx.i

; CHECK: __enzyme_memcpy_double_mat_32.exit: ; preds = %entry, %init.end.i
; CHECK-NEXT: %8 = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %8 = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: %mallocsize22 = mul nuw nsw i32 %8, 8
; CHECK-NEXT: %malloccall23 = tail call noalias nonnull i8* @malloc(i32 %mallocsize22)
; CHECK-NEXT: %cache.x24 = bitcast i8* %malloccall23 to double*
Expand Down Expand Up @@ -100,7 +100,7 @@ entry:
; CHECK-NEXT: br i1 %[[i18:.+]], label %__enzyme_memcpy_double_mat_32.exit38, label %init.idx.i29

; CHECK: __enzyme_memcpy_double_mat_32.exit38: ; preds = %__enzyme_memcpy_double_mat_32.exit, %init.end.i37
; CHECK-NEXT: %[[i19:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i19:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: %mallocsize14 = mul nuw nsw i32 %[[i19]], 8
; CHECK-NEXT: %malloccall15 = tail call noalias nonnull i8* @malloc(i32 %mallocsize14)
; CHECK-NEXT: %cache.x16 = bitcast i8* %malloccall15 to double*
Expand Down Expand Up @@ -138,7 +138,7 @@ entry:
; CHECK-NEXT: br i1 %[[i29]], label %__enzyme_memcpy_double_mat_32.exit50, label %init.idx.i41

; CHECK: __enzyme_memcpy_double_mat_32.exit50: ; preds = %__enzyme_memcpy_double_mat_32.exit38, %init.end.i49
; CHECK-NEXT: %[[i30:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i30:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: %mallocsize6 = mul nuw nsw i32 %[[i30]], 8
; CHECK-NEXT: %malloccall7 = tail call noalias nonnull i8* @malloc(i32 %mallocsize6)
; CHECK-NEXT: %cache.x8 = bitcast i8* %malloccall7 to double*
Expand Down Expand Up @@ -176,7 +176,7 @@ entry:
; CHECK-NEXT: br i1 %[[i40]], label %__enzyme_memcpy_double_mat_32.exit62, label %init.idx.i53

; CHECK: __enzyme_memcpy_double_mat_32.exit62: ; preds = %__enzyme_memcpy_double_mat_32.exit50, %init.end.i61
; CHECK-NEXT: %[[i41:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i41:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: %mallocsize1 = mul nuw nsw i32 %[[i41]], 8
; CHECK-NEXT: %malloccall2 = tail call noalias nonnull i8* @malloc(i32 %mallocsize1)
; CHECK-NEXT: %cache.x = bitcast i8* %malloccall2 to double*
Expand All @@ -192,47 +192,47 @@ entry:
; CHECK-NEXT: %[[i45:.+]] = load double, double* %"x0'", align 8
; CHECK-NEXT: %[[i46:.+]] = fadd fast double %[[i45:.+]], %[[i44]]
; CHECK-NEXT: store double %[[i46:.+]], double* %"x0'", align 8
; CHECK-DAG: %[[r39:.+]] = select i1 false, double* %"v0'", double* %x0
; CHECK-DAG: %[[r40:.+]] = select i1 false, double* %x0, double* %"v0'"
; CHECK-DAG: %[[r39:.+]] = select i1 true, double* %"v0'", double* %x0
; CHECK-DAG: %[[r40:.+]] = select i1 true, double* %x0, double* %"v0'"
; CHECK-NEXT: call void @cblas_dger(i32 101, i32 %N, i32 %N, double 1.000000e-03, double* %[[r39]], i32 1, double* %[[r40]], i32 1, double* %"K'", i32 %N)
; CHECK-NEXT: call void @cblas_dgemv(i32 101, i32 112, i32 %N, i32 %N, double 1.000000e-03, double* %K, i32 %N, double* %"v0'", i32 1, double 1.000000e+00, double* %"x0'", i32 1)
; CHECK-NEXT: %[[i47:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i47:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: call void @cblas_dscal(i32 %[[i47]], double 1.000000e+00, double* %"v0'", i32 1)
; CHECK-DAG: %[[r42:.+]] = select i1 false, double* %"v0'", double* %cache.x
; CHECK-DAG: %[[r43:.+]] = select i1 false, double* %cache.x, double* %"v0'"
; CHECK-DAG: %[[r42:.+]] = select i1 true, double* %"v0'", double* %cache.x
; CHECK-DAG: %[[r43:.+]] = select i1 true, double* %cache.x, double* %"v0'"
; CHECK-NEXT: call void @cblas_dger(i32 101, i32 %N, i32 %N, double 1.000000e-03, double* %[[r42]], i32 1, double* %[[r43]], i32 1, double* %"K'", i32 %N)
; CHECK-NEXT: call void @cblas_dgemv(i32 101, i32 112, i32 %N, i32 %N, double 1.000000e-03, double* %cache.A, i32 %N, double* %"v0'", i32 1, double 1.000000e+00, double* %"x0'", i32 1)
; CHECK-NEXT: %[[i49:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i49:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: call void @cblas_dscal(i32 %[[i49]], double 1.000000e+00, double* %"v0'", i32 1)
; CHECK-NEXT: %[[i50:.+]] = bitcast double* %cache.A to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i50]])
; CHECK-NEXT: %[[i51:.+]] = bitcast double* %cache.x to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i51]])
; CHECK-DAG: %[[r48:.+]] = select i1 false, double* %"v0'", double* %cache.x8
; CHECK-DAG: %[[r49:.+]] = select i1 false, double* %cache.x8, double* %"v0'"
; CHECK-DAG: %[[r48:.+]] = select i1 true, double* %"v0'", double* %cache.x8
; CHECK-DAG: %[[r49:.+]] = select i1 true, double* %cache.x8, double* %"v0'"
; CHECK-NEXT: call void @cblas_dger(i32 101, i32 %N, i32 %N, double 1.000000e-03, double* %[[r48]], i32 1, double* %[[r49]], i32 1, double* %"K'", i32 %N)
; CHECK-NEXT: call void @cblas_dgemv(i32 101, i32 112, i32 %N, i32 %N, double 1.000000e-03, double* %cache.A5, i32 %N, double* %"v0'", i32 1, double 1.000000e+00, double* %"x0'", i32 1)
; CHECK-NEXT: %[[i53:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i53:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: call void @cblas_dscal(i32 %[[i53]], double 1.000000e+00, double* %"v0'", i32 1)
; CHECK-NEXT: %[[i54:.+]] = bitcast double* %cache.A5 to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i54]])
; CHECK-NEXT: %[[i55:.+]] = bitcast double* %cache.x8 to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i55]])
; CHECK-DAG: %[[r54:.+]] = select i1 false, double* %"v0'", double* %cache.x16
; CHECK-DAG: %[[r55:.+]] = select i1 false, double* %cache.x16, double* %"v0'"
; CHECK-DAG: %[[r54:.+]] = select i1 true, double* %"v0'", double* %cache.x16
; CHECK-DAG: %[[r55:.+]] = select i1 true, double* %cache.x16, double* %"v0'"
; CHECK-NEXT: call void @cblas_dger(i32 101, i32 %N, i32 %N, double 1.000000e-03, double* %[[r54]], i32 1, double* %[[r55]], i32 1, double* %"K'", i32 %N)
; CHECK-NEXT: call void @cblas_dgemv(i32 101, i32 112, i32 %N, i32 %N, double 1.000000e-03, double* %cache.A13, i32 %N, double* %"v0'", i32 1, double 1.000000e+00, double* %"x0'", i32 1)
; CHECK-NEXT: %[[i57:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i57:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: call void @cblas_dscal(i32 %[[i57]], double 1.000000e+00, double* %"v0'", i32 1)
; CHECK-NEXT: %[[i58:.+]] = bitcast double* %cache.A13 to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i58]])
; CHECK-NEXT: %[[i59:.+]] = bitcast double* %cache.x16 to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i59]])
; CHECK-DAG: %[[r60:.+]] = select i1 false, double* %"v0'", double* %cache.x24
; CHECK-DAG: %[[r61:.+]] = select i1 false, double* %cache.x24, double* %"v0'"
; CHECK-DAG: %[[r60:.+]] = select i1 true, double* %"v0'", double* %cache.x24
; CHECK-DAG: %[[r61:.+]] = select i1 true, double* %cache.x24, double* %"v0'"
; CHECK-NEXT: call void @cblas_dger(i32 101, i32 %N, i32 %N, double 1.000000e-03, double* %[[r60]], i32 1, double* %[[r61]], i32 1, double* %"K'", i32 %N)
; CHECK-NEXT: call void @cblas_dgemv(i32 101, i32 112, i32 %N, i32 %N, double 1.000000e-03, double* %cache.A21, i32 %N, double* %"v0'", i32 1, double 1.000000e+00, double* %"x0'", i32 1)
; CHECK-NEXT: %[[i61:.+]] = select i1 false, i32 %N, i32 %N
; CHECK-NEXT: %[[i61:.+]] = select i1 true, i32 %N, i32 %N
; CHECK-NEXT: call void @cblas_dscal(i32 %[[i61]], double 1.000000e+00, double* %"v0'", i32 1)
; CHECK-NEXT: %[[i62:.+]] = bitcast double* %cache.A21 to i8*
; CHECK-NEXT: tail call void @free(i8* nonnull %[[i62]])
Expand Down

0 comments on commit 0d21b7e

Please sign in to comment.