|
Enzyme main
|
todiff is the function to differentiate retType is the activity info of the return.
More...
#include "MLIR/Interfaces/EnzymeLogic.h"

Public Member Functions | |
| ReverseCacheKey | replaceTypeInfo (const FnTypeInfo &newTypeInfo) const |
| bool | operator< (const ReverseCacheKey &rhs) const |
Public Attributes | |
| llvm::Function * | todiff |
| DIFFE_TYPE | retType |
| const std::vector< DIFFE_TYPE > | constant_args |
| bool | subsequent_calls_may_write |
| std::vector< bool > | overwritten_args |
| bool | returnUsed |
| bool | shadowReturnUsed |
| DerivativeMode | mode |
| unsigned | width |
| bool | freeMemory |
| bool | AtomicAdd |
| llvm::Type * | additionalType |
| bool | forceAnonymousTape |
| const FnTypeInfo | typeInfo |
| bool | runtimeActivity |
| bool | strongZero |
todiff is the function to differentiate retType is the activity info of the return.
Only allowed to be DUP_ARG or CONSTANT. DUP_NONEED is not allowed, set returnValue to false instead. constant_args is the activity info of the arguments subsequent_calls_may_write denotes whether some followup call may write to accessible memory (and thus can potentially overwrite a load made in this function). overwritten_args marks whether an argument may be overwritten before loads in the generated function (and thus cannot be cached). returnValue is whether the primal's return should also be returned. dretUsed is whether the shadow return value should also be returned. Only allowed to be true if retType is CDIFFE_TYPE::DUP_ARG. additionalArg is the type (or null) of an additional type in the signature to hold the tape. typeInfo is the type info information about the calling context AtomicAdd is whether to perform all adjoint updates to memory in an atomic way
Definition at line 160 of file EnzymeLogic.h.
|
inline |
Definition at line 212 of file EnzymeLogic.h.
|
inline |
Definition at line 178 of file EnzymeLogic.h.
| llvm::Type* ReverseCacheKey::additionalType |
Definition at line 172 of file EnzymeLogic.h.
| bool ReverseCacheKey::AtomicAdd |
Definition at line 171 of file EnzymeLogic.h.
| const std::vector<DIFFE_TYPE> ReverseCacheKey::constant_args |
Definition at line 163 of file EnzymeLogic.h.
| bool ReverseCacheKey::forceAnonymousTape |
Definition at line 173 of file EnzymeLogic.h.
| bool ReverseCacheKey::freeMemory |
Definition at line 170 of file EnzymeLogic.h.
| DerivativeMode ReverseCacheKey::mode |
Definition at line 168 of file EnzymeLogic.h.
| std::vector<bool> ReverseCacheKey::overwritten_args |
Definition at line 165 of file EnzymeLogic.h.
| DIFFE_TYPE ReverseCacheKey::retType |
Definition at line 162 of file EnzymeLogic.h.
| bool ReverseCacheKey::returnUsed |
Definition at line 166 of file EnzymeLogic.h.
| bool ReverseCacheKey::runtimeActivity |
Definition at line 175 of file EnzymeLogic.h.
| bool ReverseCacheKey::shadowReturnUsed |
Definition at line 167 of file EnzymeLogic.h.
| bool ReverseCacheKey::strongZero |
Definition at line 176 of file EnzymeLogic.h.
| bool ReverseCacheKey::subsequent_calls_may_write |
Definition at line 164 of file EnzymeLogic.h.
| llvm::Function* ReverseCacheKey::todiff |
Definition at line 161 of file EnzymeLogic.h.
| const FnTypeInfo ReverseCacheKey::typeInfo |
Definition at line 174 of file EnzymeLogic.h.
| unsigned ReverseCacheKey::width |
Definition at line 169 of file EnzymeLogic.h.