Skip to main content

Module llvm_enzyme

Module llvm_enzyme 

Source

Re-exportsยง

use std::str::FromStr; ๐Ÿ”’
use std::string::String; ๐Ÿ”’
use rustc_ast::expand::autodiff_attrs::DiffActivity; ๐Ÿ”’
use rustc_ast::expand::autodiff_attrs::DiffMode; ๐Ÿ”’
use rustc_ast::expand::autodiff_attrs::valid_input_activity; ๐Ÿ”’
use rustc_ast::expand::autodiff_attrs::valid_ret_activity; ๐Ÿ”’
use rustc_ast::expand::autodiff_attrs::valid_ty_for_activity; ๐Ÿ”’
use rustc_ast::token::IdentKind; ๐Ÿ”’
use rustc_ast::token::Lit; ๐Ÿ”’
use rustc_ast::token::LitKind; ๐Ÿ”’
use rustc_ast::token::Token; ๐Ÿ”’
use rustc_ast::token::TokenKind; ๐Ÿ”’
use rustc_ast as ast; ๐Ÿ”’
use rustc_ast::FnRetTy; ๐Ÿ”’
use rustc_ast::FnSig; ๐Ÿ”’
use rustc_ast::GenericArg; ๐Ÿ”’
use rustc_ast::GenericParamKind; ๐Ÿ”’
use rustc_ast::Generics; ๐Ÿ”’
use rustc_ast::ItemKind; ๐Ÿ”’
use rustc_ast::MetaItemInner; ๐Ÿ”’
use rustc_ast::PatKind; ๐Ÿ”’
use rustc_ast::TyKind; ๐Ÿ”’
use rustc_ast::Visibility; ๐Ÿ”’
use rustc_attr_ir::RustcAutodiff; ๐Ÿ”’
use rustc_expand::base::Annotatable; ๐Ÿ”’
use rustc_expand::base::ExtCtxt; ๐Ÿ”’
use rustc_span::DUMMY_SP; ๐Ÿ”’
use rustc_span::Ident; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::kw; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use thin_vec::ThinVec; ๐Ÿ”’
use thin_vec::thin_vec; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use tracing::trace; ๐Ÿ”’
use crate::diagnostics; ๐Ÿ”’
use rustc_ast::tokenstream::*; ๐Ÿ”’
use rustc_ast::visit::AssocCtxt::*; ๐Ÿ”’

Functionsยง

assure_mut_ref ๐Ÿ”’
call_autodiff ๐Ÿ”’
expand_forward ๐Ÿ”’
expand_reverse ๐Ÿ”’
expand_with_mode ๐Ÿ”’
We expand the autodiff macro to generate a new placeholder function which passes type-checking and can be called by users. The exact signature of the generated function depends on the configuration provided by the user, but here is an example:
extract_item_info ๐Ÿ”’
first_ident ๐Ÿ”’
from_ast ๐Ÿ”’
gen_enzyme_decl ๐Ÿ”’
gen_turbofish_expr ๐Ÿ”’
has_ret ๐Ÿ”’
meta_item_inner_to_ts ๐Ÿ”’
name ๐Ÿ”’
outer_normal_attr ๐Ÿ”’
width ๐Ÿ”’