|
Enzyme main
|
Functions | |
| const std::set< std::string > & | getNonCapturingFunctions () |
| bool | isCaptured (Value v, Operation *potentialUser, bool *seenuse) |
| Value | inactiveStoredValueShadow (Operation *orig, MGradientUtils &gutils, Value stored, OpBuilder &builder) |
| Value | getBaseObject (Value v, bool offsetAllowed) |
| static bool | isStackAlloca (Value v) |
| bool | mayAlias (Value v1, Value v2) |
| bool | mayAlias (MemoryEffects::EffectInstance a, Value v2) |
| bool | mayAlias (MemoryEffects::EffectInstance &a, MemoryEffects::EffectInstance &b) |
| bool | isReadOnly (Operation *op) |
| bool | isReadNone (Operation *op) |
| bool | collectOpEffects (Operation *rootOp, SmallVector< MemoryEffects::EffectInstance > &effects) |
Returns the side effects of an operation(similar to mlir::getEffectsRecursively). | |
| SmallVector< MemoryEffects::EffectInstance > | collectFnEffects (FunctionOpInterface fnOp) |
| MemoryEffects::EffectInstance | getEffectOfVal (Value val, MemoryEffects::Effect *effect, SideEffects::Resource *resource) |
| bool | mayAlias (mlir::MemoryEffects::EffectInstance a, mlir::Value v2) |
| SmallVector< MemoryEffects::EffectInstance > mlir::enzyme::oputils::collectFnEffects | ( | FunctionOpInterface | fnOp | ) |
Definition at line 418 of file Utils.cpp.
References collectOpEffects().
Referenced by mlir::enzyme::batchutils::pruneMemoryEffects().
| bool mlir::enzyme::oputils::collectOpEffects | ( | Operation * | rootOp, |
| SmallVector< MemoryEffects::EffectInstance > & | effects ) |
Returns the side effects of an operation(similar to mlir::getEffectsRecursively).
If the operation has RecursiveMemoryEffects, include all side effects of child operations.
Also accounts for LLVM and autodiff-specific memory effects which are not captured by the default mlir::getEffectsRecursively
Definition at line 306 of file Utils.cpp.
Referenced by collectFnEffects(), and mlir::enzyme::batchutils::pruneMemoryEffects().
| Value mlir::enzyme::oputils::getBaseObject | ( | Value | v, |
| bool | offsetAllowed ) |
Definition at line 123 of file Utils.cpp.
Referenced by mlir::enzyme::MGradientUtils::getBaseObject(), mlir::enzyme::ActivityAnalyzer::isConstantValue(), and mayAlias().
| MemoryEffects::EffectInstance mlir::enzyme::oputils::getEffectOfVal | ( | Value | val, |
| MemoryEffects::Effect * | effect, | ||
| SideEffects::Resource * | resource ) |
Definition at line 431 of file Utils.cpp.
Referenced by mlir::enzyme::batchutils::findCallerEffects().
| const std::set< std::string > & mlir::enzyme::oputils::getNonCapturingFunctions | ( | ) |
Definition at line 31 of file Utils.cpp.
Referenced by isCaptured().
| Value mlir::enzyme::oputils::inactiveStoredValueShadow | ( | Operation * | orig, |
| MGradientUtils & | gutils, | ||
| Value | stored, | ||
| OpBuilder & | builder ) |
Definition at line 104 of file Utils.cpp.
References mlir::enzyme::getConcatValue(), mlir::enzyme::MGradientUtils::getNewFromOriginal(), mlir::enzyme::MGradientUtils::getShadowType(), and mlir::enzyme::MGradientUtils::width.
Referenced by mlir::enzyme::detail::memoryIdentityForwardHandler().
| bool mlir::enzyme::oputils::isCaptured | ( | Value | v, |
| Operation * | potentialUser, | ||
| bool * | seenuse ) |
Definition at line 42 of file Utils.cpp.
References getNonCapturingFunctions().
Referenced by mayAlias().
| bool mlir::enzyme::oputils::isReadNone | ( | Operation * | op | ) |
| bool mlir::enzyme::oputils::isReadOnly | ( | Operation * | op | ) |
|
static |
Definition at line 139 of file Utils.cpp.
Referenced by mayAlias().
| bool mlir::enzyme::oputils::mayAlias | ( | MemoryEffects::EffectInstance & | a, |
| MemoryEffects::EffectInstance & | b ) |
Definition at line 230 of file Utils.cpp.
References mayAlias().
| bool mlir::enzyme::oputils::mayAlias | ( | MemoryEffects::EffectInstance | a, |
| Value | v2 ) |
Definition at line 223 of file Utils.cpp.
References mayAlias().
| bool mlir::enzyme::oputils::mayAlias | ( | mlir::MemoryEffects::EffectInstance | a, |
| mlir::Value | v2 ) |
| bool mlir::enzyme::oputils::mayAlias | ( | Value | v1, |
| Value | v2 ) |
Definition at line 145 of file Utils.cpp.
References getBaseObject(), isCaptured(), and isStackAlloca().
Referenced by mayAlias(), mayAlias(), and mlir::enzyme::batchutils::pruneMemoryEffects().