#include "circt/Conversion/AffineToLoopSchedule.h"
#include "circt/Analysis/DependenceAnalysis.h"
#include "circt/Analysis/SchedulingAnalysis.h"
#include "circt/Dialect/LoopSchedule/LoopScheduleOps.h"
#include "circt/Scheduling/Algorithms.h"
#include "circt/Scheduling/Problems.h"
#include "mlir/Conversion/AffineToStandard/AffineToStandard.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
#include "mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/LoopUtils.h"
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/BuiltinDialect.h"
#include "mlir/IR/Dominance.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/Debug.h"
#include <cassert>
#include <limits>
#include "circt/Conversion/Passes.h.inc"
Go to the source code of this file.
|
class | AffineLoadLowering |
| Apply the affine map from an 'affine.load' operation to its operands, and feed the results to a newly created 'memref.load' operation (which replaces the original 'affine.load'). More...
|
|
class | AffineStoreLowering |
| Apply the affine map from an 'affine.store' operation to its operands, and feed the results to a newly created 'memref.store' operation (which replaces the original 'affine.store'). More...
|
|
struct | IfOpHoisting |
| Helper to hoist computation out of scf::IfOp branches, turning it into a mux-like operation, and exposing potentially concurrent execution of its branches. More...
|
|
|
| circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
|
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "affine-to-loopschedule" |
◆ GEN_PASS_DEF_AFFINETOLOOPSCHEDULE
#define GEN_PASS_DEF_AFFINETOLOOPSCHEDULE |
◆ ifOpLegalityCallback()
static bool ifOpLegalityCallback |
( |
IfOp |
op | ) |
|
|
static |
◆ yieldOpLegalityCallback()
static bool yieldOpLegalityCallback |
( |
AffineYieldOp |
op | ) |
|
|
static |
Helper to mark AffineYieldOp legal, unless it is inside a partially converted scf::IfOp.
Definition at line 247 of file AffineToLoopSchedule.cpp.