|
Enzyme main
|
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) | AdjointGenerator | inline |
| 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) | AdjointGenerator | inline |
| applyChainRule(llvm::Type *diffType, llvm::IRBuilder<> &Builder, Func rule, Args... args) | AdjointGenerator | inline |
| applyChainRule(llvm::IRBuilder<> &Builder, Func rule, Args... args) | AdjointGenerator | inline |
| applyChainRule(llvm::ArrayRef< llvm::Value * > diffs, llvm::IRBuilder<> &Builder, Func rule) | AdjointGenerator | inline |
| createBinaryOperatorAdjoint(llvm::BinaryOperator &BO) | AdjointGenerator | inline |
| createBinaryOperatorDual(llvm::BinaryOperator &BO) | AdjointGenerator | inline |
| createSelectInstAdjoint(llvm::SelectInst &SI) | AdjointGenerator | inline |
| diffe(llvm::Value *val, llvm::IRBuilder<> &Builder) | AdjointGenerator | inline |
| 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) | AdjointGenerator | inline |
| eraseIfUnused(llvm::Instruction &I, bool erase=true, bool check=true) | AdjointGenerator | inline |
| forwardModeInvertedPointerFallback(llvm::Instruction &I) | AdjointGenerator | inline |
| getForwardBuilder(llvm::IRBuilder<> &Builder2) | AdjointGenerator | inline |
| getReverseBuilder(llvm::IRBuilder<> &Builder2, bool original=true) | AdjointGenerator | inline |
| handleAdjointForIntrinsic(llvm::Intrinsic::ID ID, llvm::Instruction &I, llvm::SmallVectorImpl< llvm::Value * > &orig_ops) | AdjointGenerator | inline |
| 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) | AdjointGenerator | inline |
| MPI_COMM_RANK(llvm::Value *comm, llvm::IRBuilder<> &B, llvm::Type *rankTy, llvm::Function *caller) | AdjointGenerator | inline |
| MPI_COMM_SIZE(llvm::Value *comm, llvm::IRBuilder<> &B, llvm::Type *rankTy, llvm::Function *caller) | AdjointGenerator | inline |
| MPI_TYPE_SIZE(llvm::Value *DT, llvm::IRBuilder<> &B, llvm::Type *intType, llvm::Function *caller) | AdjointGenerator | inline |
| 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) | AdjointGenerator | inline |
| setDiffe(llvm::Value *val, llvm::Value *dif, llvm::IRBuilder<> &Builder) | AdjointGenerator | inline |
| shouldFree() | AdjointGenerator | inline |
| visitAllocaInst(llvm::AllocaInst &I) | AdjointGenerator | inline |
| visitAtomicRMWInst(llvm::AtomicRMWInst &I) | AdjointGenerator | inline |
| visitBinaryOperator(llvm::BinaryOperator &BO) | AdjointGenerator | inline |
| visitCallInst(llvm::CallInst &call) | AdjointGenerator | inline |
| visitCastInst(llvm::CastInst &I) | AdjointGenerator | inline |
| 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) | AdjointGenerator | inline |
| visitExtractElementInst(llvm::ExtractElementInst &EEI) | AdjointGenerator | inline |
| visitExtractValueInst(llvm::ExtractValueInst &EVI) | AdjointGenerator | inline |
| visitFCmpInst(llvm::FCmpInst &I) | AdjointGenerator | inline |
| visitFenceInst(llvm::FenceInst &FI) | AdjointGenerator | inline |
| visitGetElementPtrInst(llvm::GetElementPtrInst &gep) | AdjointGenerator | inline |
| visitICmpInst(llvm::ICmpInst &I) | AdjointGenerator | inline |
| visitInsertElementInst(llvm::InsertElementInst &IEI) | AdjointGenerator | inline |
| visitInsertValueInst(llvm::InsertValueInst &IVI) | AdjointGenerator | inline |
| visitInstruction(llvm::Instruction &inst) | AdjointGenerator | inline |
| visitIntrinsicInst(llvm::IntrinsicInst &II) | AdjointGenerator | inline |
| visitLoadInst(llvm::LoadInst &LI) | AdjointGenerator | inline |
| visitLoadLike(llvm::Instruction &I, llvm::MaybeAlign alignment, bool constantval, llvm::Value *mask=nullptr, llvm::Value *orig_maskInit=nullptr) | AdjointGenerator | inline |
| visitMemSetCommon(llvm::CallInst &MS) | AdjointGenerator | inline |
| visitMemSetInst(llvm::MemSetInst &MS) | AdjointGenerator | inline |
| 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) | AdjointGenerator | inline |
| visitMemTransferInst(llvm::MemTransferInst &MTI) | AdjointGenerator | inline |
| visitOMPCall(llvm::CallInst &call) | AdjointGenerator | inline |
| visitPHINode(llvm::PHINode &phi) | AdjointGenerator | inline |
| visitSelectInst(llvm::SelectInst &SI) | AdjointGenerator | inline |
| visitShuffleVectorInst(llvm::ShuffleVectorInst &SVI) | AdjointGenerator | inline |
| visitStoreInst(llvm::StoreInst &SI) | AdjointGenerator | inline |