|
Enzyme main
|

Go to the source code of this file.
Functions | |
| Type | getShadowType (Type type, unsigned width) |
| template<typename T > | |
| mlir::FunctionType | getFunctionTypeForClone (T FTy, DerivativeMode mode, unsigned width, mlir::Type additionalArg, const std::vector< bool > &returnPrimals, const std::vector< bool > &returnShadows, llvm::ArrayRef< DIFFE_TYPE > ReturnActivity, llvm::ArrayRef< DIFFE_TYPE > ArgActivity) |
| Operation * | clone (Operation *src, IRMapping &mapper, Operation::CloneOptions options, std::map< Operation *, Operation * > &opMap) |
| void | cloneInto (Region *src, Region *dest, IRMapping &mapper, std::map< Operation *, Operation * > &opMap) |
| void | cloneInto (Region *src, Region *dest, Region::iterator destPos, IRMapping &mapper, std::map< Operation *, Operation * > &opMap) |
| Clone this region into 'dest' before the given position in 'dest'. | |
| FunctionOpInterface | CloneFunctionWithReturns (DerivativeMode mode, unsigned width, FunctionOpInterface F, IRMapping &ptrInputs, ArrayRef< DIFFE_TYPE > ArgActivity, SmallPtrSetImpl< mlir::Value > &constants, SmallPtrSetImpl< mlir::Value > &nonconstants, SmallPtrSetImpl< mlir::Value > &returnvals, const std::vector< bool > &returnPrimals, const std::vector< bool > &returnShadows, ArrayRef< DIFFE_TYPE > RetActivity, Twine name, IRMapping &VMap, std::map< Operation *, Operation * > &OpMap, mlir::Type additionalArg) |
| Operation * clone | ( | Operation * | src, |
| IRMapping & | mapper, | ||
| Operation::CloneOptions | options, | ||
| std::map< Operation *, Operation * > & | opMap ) |
| FunctionOpInterface CloneFunctionWithReturns | ( | DerivativeMode | mode, |
| unsigned | width, | ||
| FunctionOpInterface | F, | ||
| IRMapping & | ptrInputs, | ||
| ArrayRef< DIFFE_TYPE > | ArgActivity, | ||
| SmallPtrSetImpl< mlir::Value > & | constants, | ||
| SmallPtrSetImpl< mlir::Value > & | nonconstants, | ||
| SmallPtrSetImpl< mlir::Value > & | returnvals, | ||
| const std::vector< bool > & | returnPrimals, | ||
| const std::vector< bool > & | returnShadows, | ||
| ArrayRef< DIFFE_TYPE > | RetActivity, | ||
| Twine | name, | ||
| IRMapping & | VMap, | ||
| std::map< Operation *, Operation * > & | OpMap, | ||
| mlir::Type | additionalArg ) |
Definition at line 203 of file CloneFunction.cpp.
References cloneInto(), CONSTANT, DUP_ARG, DUP_NONEED, getFunctionTypeForClone(), getShadowType(), and OUT_DIFF.
Referenced by mlir::enzyme::MGradientUtilsReverse::CreateFromClone().
| void cloneInto | ( | Region * | src, |
| Region * | dest, | ||
| IRMapping & | mapper, | ||
| std::map< Operation *, Operation * > & | opMap ) |
Definition at line 118 of file CloneFunction.cpp.
References cloneInto().
Referenced by clone(), CloneFunctionWithReturns(), cloneInto(), cloneInto(), and mlir::impulse::ImpulseUtils::CreateFromClone().
| void cloneInto | ( | Region * | src, |
| Region * | dest, | ||
| Region::iterator | destPos, | ||
| IRMapping & | mapper, | ||
| std::map< Operation *, Operation * > & | opMap ) |
Clone this region into 'dest' before the given position in 'dest'.
Definition at line 124 of file CloneFunction.cpp.
References clone(), and cloneInto().
| mlir::FunctionType getFunctionTypeForClone | ( | T | FTy, |
| DerivativeMode | mode, | ||
| unsigned | width, | ||
| mlir::Type | additionalArg, | ||
| const std::vector< bool > & | returnPrimals, | ||
| const std::vector< bool > & | returnShadows, | ||
| llvm::ArrayRef< DIFFE_TYPE > | ReturnActivity, | ||
| llvm::ArrayRef< DIFFE_TYPE > | ArgActivity ) |
Definition at line 19 of file CloneFunction.cpp.
References CONSTANT, DUP_ARG, DUP_NONEED, getShadowType(), and OUT_DIFF.
Referenced by CloneFunctionWithReturns().
| Type getShadowType | ( | Type | type, |
| unsigned | width ) |
Definition at line 10 of file CloneFunction.cpp.
Referenced by CloneFunctionWithReturns(), mlir::enzyme::MDiffeGradientUtils::diffe(), EnzymeVectorSplitPhi(), getFunctionTypeForClone(), mlir::enzyme::MGradientUtils::setInvertedPointer(), GradientUtils::usedInRooting(), and mlir::enzyme::MDiffeGradientUtils::zeroDiffe().