#include "mlir/Dialect/Affine/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/Transforms/Transforms.h"
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEEXPANDINDEXOPS
#include "mlir/Dialect/Affine/Passes.h.inc"
}
}
usingnamespacemlir;
usingnamespacemlir::affine;
namespace {
struct LowerDelinearizeIndexOps
: public OpRewritePattern<AffineDelinearizeIndexOp> { … };
class ExpandAffineIndexOpsPass
: public affine::impl::AffineExpandIndexOpsBase<ExpandAffineIndexOpsPass> { … };
}
void mlir::affine::populateAffineExpandIndexOpsPatterns(
RewritePatternSet &patterns) { … }
std::unique_ptr<Pass> mlir::affine::createAffineExpandIndexOpsPass() { … }