#include "Interfaces/Utils.h"
#include "Dialect/Ops.h"
#include "Interfaces/AutoDiffTypeInterface.h"
#include "Interfaces/GradientUtils.h"
#include "Interfaces/OffsetViewInterface.h"
#include "Passes/Utils.h"
#include "mlir/Analysis/AliasAnalysis.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include "mlir/Interfaces/ViewLikeInterface.h"
#include <optional>
Go to the source code of this file.
|
| const std::set< std::string > & | mlir::enzyme::oputils::getNonCapturingFunctions () |
| |
| bool | mlir::enzyme::oputils::isCaptured (Value v, Operation *potentialUser, bool *seenuse) |
| |
| Value | mlir::enzyme::oputils::inactiveStoredValueShadow (Operation *orig, MGradientUtils &gutils, Value stored, OpBuilder &builder) |
| |
| Value | mlir::enzyme::oputils::getBaseObject (Value v, bool offsetAllowed) |
| |
| static bool | mlir::enzyme::oputils::isStackAlloca (Value v) |
| |
| bool | mlir::enzyme::oputils::mayAlias (Value v1, Value v2) |
| |
| bool | mlir::enzyme::oputils::mayAlias (MemoryEffects::EffectInstance a, Value v2) |
| |
| bool | mlir::enzyme::oputils::mayAlias (MemoryEffects::EffectInstance &a, MemoryEffects::EffectInstance &b) |
| |
| bool | mlir::enzyme::oputils::isReadOnly (Operation *op) |
| |
| bool | mlir::enzyme::oputils::isReadNone (Operation *op) |
| |
| bool | mlir::enzyme::oputils::collectOpEffects (Operation *rootOp, SmallVector< MemoryEffects::EffectInstance > &effects) |
| | Returns the side effects of an operation(similar to mlir::getEffectsRecursively).
|
| |
| SmallVector< MemoryEffects::EffectInstance > | mlir::enzyme::oputils::collectFnEffects (FunctionOpInterface fnOp) |
| |
| MemoryEffects::EffectInstance | mlir::enzyme::oputils::getEffectOfVal (Value val, MemoryEffects::Effect *effect, SideEffects::Resource *resource) |
| |