Enzyme main
Loading...
Searching...
No Matches
AdjointGenerator Member List

This is the complete list of members for AdjointGenerator, including all inherited members.

addToDiffe(llvm::Value *val, llvm::Value *dif, llvm::IRBuilder<> &Builder, llvm::Type *T, llvm::Value *mask=nullptr)AdjointGeneratorinline
AdjointGenerator(DerivativeMode Mode, GradientUtils *gutils, llvm::ArrayRef< DIFFE_TYPE > constant_args, DIFFE_TYPE retType, std::function< unsigned(llvm::Instruction *, CacheType, llvm::IRBuilder<> &)> getIndex, const std::map< llvm::CallInst *, std::pair< bool, const std::vector< bool > > > overwritten_args_map, const AugmentedReturn *augmentedReturn, const std::map< llvm::ReturnInst *, llvm::StoreInst * > *replacedReturns, const llvm::SmallPtrSetImpl< const llvm::Value * > &unnecessaryValues, const llvm::SmallPtrSetImpl< const llvm::Instruction * > &unnecessaryInstructions, const llvm::SmallPtrSetImpl< const llvm::Instruction * > &unnecessaryStores, const llvm::SmallPtrSetImpl< llvm::BasicBlock * > &oldUnreachable)AdjointGeneratorinline
applyChainRule(llvm::Type *diffType, llvm::IRBuilder<> &Builder, Func rule, Args... args)AdjointGeneratorinline
applyChainRule(llvm::IRBuilder<> &Builder, Func rule, Args... args)AdjointGeneratorinline
applyChainRule(llvm::ArrayRef< llvm::Value * > diffs, llvm::IRBuilder<> &Builder, Func rule)AdjointGeneratorinline
createBinaryOperatorAdjoint(llvm::BinaryOperator &BO)AdjointGeneratorinline
createBinaryOperatorDual(llvm::BinaryOperator &BO)AdjointGeneratorinline
createSelectInstAdjoint(llvm::SelectInst &SI)AdjointGeneratorinline
diffe(llvm::Value *val, llvm::IRBuilder<> &Builder)AdjointGeneratorinline
DifferentiableMemCopyFloats(llvm::CallInst &call, llvm::Value *origArg, llvm::Value *dsto, llvm::Value *srco, llvm::Value *len_arg, llvm::IRBuilder<> &Builder2, llvm::ArrayRef< llvm::OperandBundleDef > ReverseDefs)AdjointGeneratorinline
eraseIfUnused(llvm::Instruction &I, bool erase=true, bool check=true)AdjointGeneratorinline
forwardModeInvertedPointerFallback(llvm::Instruction &I)AdjointGeneratorinline
getForwardBuilder(llvm::IRBuilder<> &Builder2)AdjointGeneratorinline
getReverseBuilder(llvm::IRBuilder<> &Builder2, bool original=true)AdjointGeneratorinline
handleAdjointForIntrinsic(llvm::Intrinsic::ID ID, llvm::Instruction &I, llvm::SmallVectorImpl< llvm::Value * > &orig_ops)AdjointGeneratorinline
handleKnownCallDerivatives(llvm::CallInst &call, llvm::Function *called, llvm::StringRef funcName, bool subsequent_calls_may_write, const std::vector< bool > &overwritten_args, llvm::CallInst *const newCall)AdjointGenerator
handleMPI(llvm::CallInst &call, llvm::Function *called, llvm::StringRef funcName)AdjointGenerator
lookup(llvm::Value *val, llvm::IRBuilder<> &Builder)AdjointGeneratorinline
MPI_COMM_RANK(llvm::Value *comm, llvm::IRBuilder<> &B, llvm::Type *rankTy, llvm::Function *caller)AdjointGeneratorinline
MPI_COMM_SIZE(llvm::Value *comm, llvm::IRBuilder<> &B, llvm::Type *rankTy, llvm::Function *caller)AdjointGeneratorinline
MPI_TYPE_SIZE(llvm::Value *DT, llvm::IRBuilder<> &B, llvm::Type *intType, llvm::Function *caller)AdjointGeneratorinline
recursivelyHandleSubfunction(llvm::CallInst &call, llvm::Function *called, bool subsequent_calls_may_write, const std::vector< bool > &overwritten_args, bool shadowReturnUsed, DIFFE_TYPE subretType, bool subretused)AdjointGeneratorinline
setDiffe(llvm::Value *val, llvm::Value *dif, llvm::IRBuilder<> &Builder)AdjointGeneratorinline
shouldFree()AdjointGeneratorinline
visitAllocaInst(llvm::AllocaInst &I)AdjointGeneratorinline
visitAtomicRMWInst(llvm::AtomicRMWInst &I)AdjointGeneratorinline
visitBinaryOperator(llvm::BinaryOperator &BO)AdjointGeneratorinline
visitCallInst(llvm::CallInst &call)AdjointGeneratorinline
visitCastInst(llvm::CastInst &I)AdjointGeneratorinline
visitCommonStore(llvm::Instruction &I, llvm::Value *orig_ptr, llvm::Value *orig_val, llvm::MaybeAlign prevalign, bool isVolatile, llvm::AtomicOrdering ordering, llvm::SyncScope::ID syncScope, llvm::Value *mask)AdjointGeneratorinline
visitExtractElementInst(llvm::ExtractElementInst &EEI)AdjointGeneratorinline
visitExtractValueInst(llvm::ExtractValueInst &EVI)AdjointGeneratorinline
visitFCmpInst(llvm::FCmpInst &I)AdjointGeneratorinline
visitFenceInst(llvm::FenceInst &FI)AdjointGeneratorinline
visitGetElementPtrInst(llvm::GetElementPtrInst &gep)AdjointGeneratorinline
visitICmpInst(llvm::ICmpInst &I)AdjointGeneratorinline
visitInsertElementInst(llvm::InsertElementInst &IEI)AdjointGeneratorinline
visitInsertValueInst(llvm::InsertValueInst &IVI)AdjointGeneratorinline
visitInstruction(llvm::Instruction &inst)AdjointGeneratorinline
visitIntrinsicInst(llvm::IntrinsicInst &II)AdjointGeneratorinline
visitLoadInst(llvm::LoadInst &LI)AdjointGeneratorinline
visitLoadLike(llvm::Instruction &I, llvm::MaybeAlign alignment, bool constantval, llvm::Value *mask=nullptr, llvm::Value *orig_maskInit=nullptr)AdjointGeneratorinline
visitMemSetCommon(llvm::CallInst &MS)AdjointGeneratorinline
visitMemSetInst(llvm::MemSetInst &MS)AdjointGeneratorinline
visitMemTransferCommon(llvm::Intrinsic::ID ID, llvm::MaybeAlign srcAlign, llvm::MaybeAlign dstAlign, llvm::CallInst &MTI, llvm::Value *orig_dst, llvm::Value *orig_src, llvm::Value *new_size, llvm::Value *isVolatile)AdjointGeneratorinline
visitMemTransferInst(llvm::MemTransferInst &MTI)AdjointGeneratorinline
visitOMPCall(llvm::CallInst &call)AdjointGeneratorinline
visitPHINode(llvm::PHINode &phi)AdjointGeneratorinline
visitSelectInst(llvm::SelectInst &SI)AdjointGeneratorinline
visitShuffleVectorInst(llvm::ShuffleVectorInst &SVI)AdjointGeneratorinline
visitStoreInst(llvm::StoreInst &SI)AdjointGeneratorinline