#include "Dialect/Ops.h"
#include "Interfaces/AutoDiffOpInterface.h"
#include "Interfaces/AutoDiffTypeInterface.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/Interfaces/LoopLikeInterface.h"
#include "mlir/Transforms/LoopInvariantCodeMotionUtils.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include "mlir/IR/Matchers.h"
Go to the source code of this file.
|
| void | mlir::enzyme::minCutCache (Block *forward, Block *reverse, SmallVector< CacheInfo > &caches, PatternRewriter &rewriter, const IRMapping &fwdrevmap, Operation *lastFwd=nullptr) |
| |
| static LoopCacheType | mlir::enzyme::getCacheType (Operation *op) |
| |
| static bool | mlir::enzyme::hasMinCut (Operation *op) |
| |
| static bool | mlir::enzyme::hasLICM (Operation *op) |
| |
| void | mlir::enzyme::localizeGradients (OpBuilder &builder, MGradientUtilsReverse *gutils, Block *fwd) |
| |
| void | mlir::enzyme::removalBlockExplore (Block *block, IRMapping &mapping, PatternRewriter &rewriter, llvm::SetVector< Value > &gradients, llvm::MapVector< Value, CacheInfo > &caches) |
| |