MLIR
20.0.0git
|
#include "mlir/Dialect/SCF/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/Dialect/SCF/Transforms/Patterns.h"
#include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "llvm/ADT/TypeSwitch.h"
#include "mlir/Dialect/SCF/Transforms/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
mlir | |
Include the generated interface declarations. | |
Macros | |
#define | GEN_PASS_DEF_SCFFORLOOPCANONICALIZATION |
Functions | |
static bool | isShapePreserving (ForOp forOp, int64_t arg) |
A simple, conservative analysis to determine if the loop is shape conserving. More... | |
#define GEN_PASS_DEF_SCFFORLOOPCANONICALIZATION |
Definition at line 27 of file LoopCanonicalization.cpp.
|
static |
A simple, conservative analysis to determine if the loop is shape conserving.
I.e., the type of the arg-th yielded value is the same as the type of the corresponding basic block argument of the loop. Note: This function handles only simple cases. Expand as needed.
Definition at line 38 of file LoopCanonicalization.cpp.
References mlir::OpResult::getOwner(), and mlir::OpResult::getResultNumber().