Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wsmoses committed Oct 12, 2019
1 parent 3412e9c commit 1498c0e
Show file tree
Hide file tree
Showing 19 changed files with 112 additions and 140 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Enzyme CI
name: C/C++ CI

on: [push]

Expand All @@ -10,13 +10,13 @@ jobs:
strategy:
fail-fast: false
matrix:
llvm: ["7", "8"]
llvm: ["7"]
build: ["Release", "Debug"] # "RelWithDebInfo"
os: [ubuntu-18.04]

steps:
- name: add llvm
run: sudo apt-get install -y llvm-${{ matrix.llvm }}-dev llvm-${{ matrix.llvm }}-tools
run: sudo apt-get install -y llvm-${{ matrix.llvm }}-dev llvm-${{ matrix.llvm }}-tools clang-${{ matrix.llvm }}
- uses: actions/checkout@v1
with:
fetch-depth: 1
Expand All @@ -28,5 +28,5 @@ jobs:
cmake .. -DLLVM_EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm }}/build/utils/lit/lit.py -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm }}/lib/cmake/llvm
- name: make
run: cd enzyme/build && make
- name: make check-enzyme
run: cd enzyme/build && make check-enzyme
- name: make check-enzyme-c
run: cd enzyme/build && make check-enzyme-c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Functional Tests CI
name: Enzyme CI

on: [push]

Expand All @@ -10,13 +10,13 @@ jobs:
strategy:
fail-fast: false
matrix:
llvm: ["7"]
llvm: ["7", "8"]
build: ["Release", "Debug"] # "RelWithDebInfo"
os: [ubuntu-18.04]

steps:
- name: add llvm
run: sudo apt-get install -y llvm-${{ matrix.llvm }}-dev llvm-${{ matrix.llvm }}-tools clang-${{ matrix.llvm }}
run: sudo apt-get install -y llvm-${{ matrix.llvm }}-dev llvm-${{ matrix.llvm }}-tools
- uses: actions/checkout@v1
with:
fetch-depth: 1
Expand All @@ -28,5 +28,5 @@ jobs:
cmake .. -DLLVM_EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm }}/build/utils/lit/lit.py -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm }}/lib/cmake/llvm
- name: make
run: cd enzyme/build && make
- name: make check-enzyme-c
run: cd enzyme/build && make check-enzyme-c
- name: make check-enzyme
run: cd enzyme/build && make check-enzyme
10 changes: 5 additions & 5 deletions enzyme/test/Enzyme/badcall.ll
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
attributes #0 = { noinline norecurse nounwind uwtable }
attributes #1 = { noinline nounwind uwtable }

; CHECK: define internal {} @diffef(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{} @diffef(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call { { {} } } @augmented_subf(double* %x, double* %"x'")
; CHECK-NEXT: store double 2.000000e+00, double* %x, align 8
Expand All @@ -49,14 +49,14 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal { {} } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {} } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
; CHECK-NEXT: store double 3.000000e+00, double* %arrayidx, align 8
; CHECK-NEXT: ret { {} } undef
; CHECK-NEXT: }

; CHECK: define internal { { {} } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ { {} } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = load double, double* %x, align 8
; CHECK-NEXT: %mul = fmul fast double %0, 2.000000e+00
Expand All @@ -65,7 +65,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret { { {} } } undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffesubf(double* nocapture %x, double* %"x'", { {} } %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffesubf(double* nocapture %x, double* %"x'", { {} } %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call {} @diffemetasubf(double* %x, double* %"x'", {} undef)
; CHECK-NEXT: %1 = load double, double* %"x'"
Expand All @@ -77,7 +77,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
Expand Down
14 changes: 7 additions & 7 deletions enzyme/test/Enzyme/badcall2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ entry:

declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed_addr

; CHECK: define internal {} @diffef(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{} @diffef(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call { { {}, {} } } @augmented_subf(double* %x, double* %"x'")
; CHECK-NEXT: store double 2.000000e+00, double* %x, align 8
Expand All @@ -57,21 +57,21 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal { {} } @augmented_othermetasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {} } @augmented_othermetasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
; CHECK-NEXT: store double 4.000000e+00, double* %arrayidx, align 8
; CHECK-NEXT: ret { {} } undef
; CHECK-NEXT: }

; CHECK: define internal { {} } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {} } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
; CHECK-NEXT: store double 3.000000e+00, double* %arrayidx, align 8
; CHECK-NEXT: ret { {} } undef
; CHECK-NEXT: }

; CHECK: define internal { { {}, {} } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ { {}, {} } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = load double, double* %x, align 8
; CHECK-NEXT: %mul = fmul fast double %0, 2.000000e+00
Expand All @@ -81,7 +81,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret { { {}, {} } } undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffesubf(double* nocapture %x, double* %"x'", { {}, {} } %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffesubf(double* nocapture %x, double* %"x'", { {}, {} } %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call {} @diffeothermetasubf(double* %x, double* %"x'", {} undef)
; CHECK-NEXT: %1 = call {} @diffemetasubf(double* %x, double* %"x'", {} undef)
Expand All @@ -94,14 +94,14 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffeothermetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffeothermetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore2:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore2]], align 8
Expand Down
14 changes: 7 additions & 7 deletions enzyme/test/Enzyme/badcall3.ll
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ entry:

declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed_addr

; CHECK: define internal {} @diffef(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{} @diffef(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call { { {}, {} } } @augmented_subf(double* %x, double* %"x'")
; CHECK-NEXT: store double 2.000000e+00, double* %x, align 8
Expand All @@ -57,21 +57,21 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal { {} } @augmented_othermetasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {} } @augmented_othermetasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
; CHECK-NEXT: store double 4.000000e+00, double* %arrayidx, align 8
; CHECK-NEXT: ret { {} } undef
; CHECK-NEXT: }

; CHECK: define internal { {} } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {} } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
; CHECK-NEXT: store double 3.000000e+00, double* %arrayidx, align 8
; CHECK-NEXT: ret { {} } undef
; CHECK-NEXT: }

; CHECK: define internal { { {}, {} } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ { {}, {} } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = load double, double* %x, align 8
; CHECK-NEXT: %mul = fmul fast double %0, 2.000000e+00
Expand All @@ -81,7 +81,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret { { {}, {} } } undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffesubf(double* nocapture %x, double* %"x'", { {}, {} } %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffesubf(double* nocapture %x, double* %"x'", { {}, {} } %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call {} @diffeothermetasubf(double* %x, double* %"x'", {} undef)
; CHECK-NEXT: %1 = call {} @diffemetasubf(double* %x, double* %"x'", {} undef)
Expand All @@ -94,14 +94,14 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffeothermetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffeothermetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore2:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore2]], align 8
Expand Down
12 changes: 6 additions & 6 deletions enzyme/test/Enzyme/badcall4.ll
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ entry:

declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed_addr

; CHECK: define internal {} @diffef(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{} @diffef(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call { { {}, i1, {}, i1 } } @augmented_subf(double* %x, double* %"x'")
; CHECK-NEXT: %1 = extractvalue { { {}, i1, {}, i1 } } %0, 0
Expand All @@ -59,11 +59,11 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal { {}, i1 } @augmented_othermetasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {}, i1 } @augmented_othermetasubf(double* nocapture %x, double* %"x'")

; CHECK: define internal { {}, i1 } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {}, i1 } @augmented_metasubf(double* nocapture %x, double* %"x'")

; CHECK: define internal { { {}, i1, {}, i1 } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ { {}, i1, {}, i1 } } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = load double, double* %x, align 8
; CHECK-NEXT: %mul = fmul fast double %0, 2.000000e+00
Expand All @@ -77,7 +77,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret { { {}, i1, {}, i1 } } %[[iv2]]
; CHECK-NEXT: }

; CHECK: define internal {} @diffesubf(double* nocapture %x, double* %"x'", { {}, i1, {}, i1 } %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffesubf(double* nocapture %x, double* %"x'", { {}, i1, {}, i1 } %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call {} @diffeothermetasubf(double* %x, double* %"x'", {} undef)
; CHECK-NEXT: %1 = call {} @diffemetasubf(double* %x, double* %"x'", {} undef)
Expand All @@ -90,7 +90,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
Expand Down
10 changes: 5 additions & 5 deletions enzyme/test/Enzyme/badcallused.ll
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
attributes #0 = { noinline norecurse nounwind uwtable }
attributes #1 = { noinline nounwind uwtable }

; CHECK: define internal {} @diffef(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{} @diffef(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call { { {} }, i1, i1 } @augmented_subf(double* %x, double* %"x'")
; CHECK-NEXT: %1 = extractvalue { { {} }, i1, i1 } %0, 1
Expand All @@ -52,7 +52,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal { {}, i1, i1 } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {}, i1, i1 } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = alloca { {}, i1, i1 }
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
Expand All @@ -65,7 +65,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret { {}, i1, i1 } %3
; CHECK-NEXT: }

; CHECK: define internal { { {} }, i1, i1 } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ { {} }, i1, i1 } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = alloca { { {} }, i1, i1 }
; CHECK-NEXT: %1 = load double, double* %x, align 8
Expand All @@ -82,7 +82,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret { { {} }, i1, i1 } %[[toret]]
; CHECK-NEXT: }

; CHECK: define internal {} @diffesubf(double* nocapture %x, double* %"x'", { {} } %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffesubf(double* nocapture %x, double* %"x'", { {} } %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call {} @diffemetasubf(double* %x, double* %"x'", {} undef)
; CHECK-NEXT: %1 = load double, double* %"x'"
Expand All @@ -94,7 +94,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
Expand Down
14 changes: 7 additions & 7 deletions enzyme/test/Enzyme/badcallused2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ declare dso_local double @__enzyme_autodiff(i8*, double*, double*) local_unnamed
attributes #0 = { noinline norecurse nounwind uwtable }
attributes #1 = { noinline nounwind uwtable }

; CHECK: define internal {} @diffef(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{} @diffef(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call { { {}, {} }, i1, i1 } @augmented_subf(double* %x, double* %"x'")
; CHECK-NEXT: %1 = extractvalue { { {}, {} }, i1, i1 } %0, 1
Expand All @@ -62,7 +62,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal { {}, i1, i1 } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {}, i1, i1 } @augmented_metasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = alloca { {}, i1, i1 }
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
Expand All @@ -75,14 +75,14 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret { {}, i1, i1 } %3
; CHECK-NEXT: }

; CHECK: define internal { {} } @augmented_omegasubf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ {} } @augmented_omegasubf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %arrayidx = getelementptr inbounds double, double* %x, i64 1
; CHECK-NEXT: store double 3.000000e+00, double* %arrayidx, align 8
; CHECK-NEXT: ret { {} } undef
; CHECK-NEXT: }

; CHECK: define internal { { {}, {} }, i1, i1 } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK: define internal {{(dso_local )?}}{ { {}, {} }, i1, i1 } @augmented_subf(double* nocapture %x, double* %"x'")
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = alloca { { {}, {} }, i1, i1 }
; CHECK-NEXT: %1 = load double, double* %x, align 8
Expand All @@ -100,7 +100,7 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret { { {}, {} }, i1, i1 } %[[toret]]
; CHECK-NEXT: }

; CHECK: define internal {} @diffesubf(double* nocapture %x, double* %"x'", { {}, {} } %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffesubf(double* nocapture %x, double* %"x'", { {}, {} } %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %0 = call {} @diffemetasubf(double* %x, double* %"x'", {} undef)
; CHECK-NEXT: %1 = call {} @diffeomegasubf(double* %x, double* %"x'", {} undef)
Expand All @@ -113,14 +113,14 @@ attributes #1 = { noinline nounwind uwtable }
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffemetasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
; CHECK-NEXT: ret {} undef
; CHECK-NEXT: }

; CHECK: define internal {} @diffeomegasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK: define internal {{(dso_local )?}}{} @diffeomegasubf(double* nocapture %x, double* %"x'", {} %tapeArg)
; CHECK-NEXT: entry:
; CHECK-NEXT: %[[tostore:.+]] = getelementptr inbounds double, double* %"x'", i64 1
; CHECK-NEXT: store double 0.000000e+00, double* %[[tostore]], align 8
Expand Down
Loading

0 comments on commit 1498c0e

Please sign in to comment.