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 = {
8787 " __cxa_guard_release" ,
8888 " __cxa_guard_abort" ,
8989 " printf" ,
90+ " putchar" ,
9091 " vprintf" ,
9192 " puts" ,
9293 " 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