Thanks for using Compiler Explorer
C
C++
LLVM IR
Julia
MLIR
CUDA C++
Rust
CMake
llvm source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
clang 15 (c91cef7)
clang 16 (c91cef7)
clang 17 (c91cef7)
clang 18 (c91cef7)
clang 20 (c91cef7)
opt 15 (c91cef7)
opt 16 (c91cef7)
opt 17 (c91cef7)
opt 18 (c91cef7)
opt 20 (c91cef7)
Options
Source code
declare double @__enzyme_autodiff(double (double)*, ...) define double @square(double %x) { entry: %mul = fmul fast double %x, %x ret double %mul } define double @dsquare(double %x) { entry: %0 = tail call double (double (double)*, ...) @__enzyme_autodiff(double (double)* nonnull @square, double %x) ret double %0 }
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
CE on Bluesky
About the author
Statistics
Changelog
Version tree