My Project
AffineToStandard.h
Go to the documentation of this file.
1 //===- AffineToStandard.h - Convert Affine to Standard dialect --*- C++ -*-===//
2 //
3 // Part of the MLIR Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef MLIR_CONVERSION_AFFINETOSTANDARD_AFFINETOSTANDARD_H
10 #define MLIR_CONVERSION_AFFINETOSTANDARD_AFFINETOSTANDARD_H
11 
12 #include "mlir/Support/LLVM.h"
13 
14 namespace mlir {
15 class AffineExpr;
16 class AffineForOp;
17 class Location;
18 struct LogicalResult;
19 class MLIRContext;
20 class OpBuilder;
21 class RewritePattern;
22 class Value;
23 
24 // Owning list of rewriting patterns.
25 class OwningRewritePatternList;
26 
29 Value expandAffineExpr(OpBuilder &builder, Location loc, AffineExpr expr,
30  ArrayRef<Value> dimValues, ArrayRef<Value> symbolValues);
31 
35 void populateAffineToStdConversionPatterns(OwningRewritePatternList &patterns,
36  MLIRContext *ctx);
37 
40 Value lowerAffineLowerBound(AffineForOp op, OpBuilder &builder);
41 
44 Value lowerAffineUpperBound(AffineForOp op, OpBuilder &builder);
45 } // namespace mlir
46 
47 #endif // MLIR_CONVERSION_AFFINETOSTANDARD_AFFINETOSTANDARD_H
Definition: InferTypeOpInterface.cpp:20
Value expandAffineExpr(OpBuilder &builder, Location loc, AffineExpr expr, ArrayRef< Value > dimValues, ArrayRef< Value > symbolValues)
Definition: AffineToStandard.cpp:211
Value lowerAffineLowerBound(AffineForOp op, OpBuilder &builder)
Definition: AffineToStandard.cpp:264
void populateAffineToStdConversionPatterns(OwningRewritePatternList &patterns, MLIRContext *ctx)
Definition: AffineToStandard.cpp:521
Value lowerAffineUpperBound(AffineForOp op, OpBuilder &builder)
Definition: AffineToStandard.cpp:277