File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -87,6 +87,7 @@ std::set<std::string> KnownInactiveFunctions = {
87
87
"__cxa_guard_release",
88
88
"__cxa_guard_abort",
89
89
"printf",
90
+ "putchar",
90
91
"vprintf",
91
92
"puts",
92
93
"fflush",
Original file line number Diff line number Diff line change
1
+ ; RUN: %opt < %s %loadEnzyme -enzyme -enzyme-preopt=false -O3 -S | FileCheck %s
2
+
3
+ declare i32 @putchar(i32)
4
+
5
+ ; Function Attrs: nounwind readnone uwtable
6
+ define double @tester(double %x) {
7
+ entry:
8
+ %tmp = call i32 @putchar(i32 32)
9
+ %0 = tail call fast double @llvm.exp.f64(double %x)
10
+ ret double %0
11
+ }
12
+
13
+ define double @test_derivative(double %x) {
14
+ entry:
15
+ %0 = tail call double (double (double)*, ...) @__enzyme_autodiff(double (double)* nonnull @tester, double %x)
16
+ ret double %0
17
+ }
18
+
19
+ ; Function Attrs: nounwind readnone speculatable
20
+ declare double @llvm.exp.f64(double)
21
+
22
+ ; Function Attrs: nounwind
23
+ declare double @__enzyme_autodiff(double (double)*, ...)
24
+
25
+ ; CHECK: define double @test_derivative(double %x)
26
+ ; CHECK-NEXT: entry:
27
+ ; CHECK-NEXT: %tmp.i = tail call i32 @putchar(i32 32)
28
+ ; CHECK-NEXT: %0 = tail call fast double @llvm.exp.f64(double %x)
29
+ ; CHECK-NEXT: ret double %0
30
+ ; CHECK-NEXT: }
You can’t perform that action at this time.
0 commit comments