llvm-project/mlir/lib/IR
Alex Zinenko 6841e6afba [mlir] support max/min lower/upper bounds in affine.parallel
This enables to express more complex parallel loops in the affine framework,
for example, in cases of tiling by sizes not dividing loop trip counts perfectly
or inner wavefront parallelism, among others. One can't use affine.max/min
and supply values to the nested loop bounds since the results of such
affine.max/min operations aren't valid symbols. Making them valid symbols
isn't an option since they would introduce selection trees into memref
subscript arithmetic as an unintended and undesired consequence. Also
add support for converting such loops to SCF. Drop some API that isn't used in
the core repo from AffineParallelOp since its semantics becomes ambiguous in
presence of max/min bounds. Loop normalization is currently unavailable for
such loops.

Depends On D101171

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D101172
2021-04-29 13:16:25 +02:00
..
AffineExpr.cpp s[mlir] Tighten computation of inferred SubView result type. 2021-02-11 22:38:16 +00:00
AffineExprDetail.h [mlir] Remove the use of "kinds" from Attributes and Types 2020-08-18 16:20:14 -07:00
AffineMap.cpp [mlir] support max/min lower/upper bounds in affine.parallel 2021-04-29 13:16:25 +02:00
AffineMapDetail.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
AsmPrinter.cpp [mlir] support max/min lower/upper bounds in affine.parallel 2021-04-29 13:16:25 +02:00
AttributeDetail.h [mlir][IR] Move the remaining builtin attributes to ODS. 2021-03-16 16:31:53 -07:00
Attributes.cpp [mlir] Remove the MutableDictionaryAttr class 2020-12-17 17:18:42 -08:00
Block.cpp Remove unused function, fix warning (NFC) 2021-03-25 18:37:57 +00:00
Builders.cpp [mlir][linalg] lower index operations during linalg to vector lowering. 2021-04-20 11:55:44 +00:00
BuiltinAttributes.cpp [MLIR] Fix `isValidIndex` 2021-04-16 14:58:54 +02:00
BuiltinDialect.cpp Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00:00
BuiltinTypes.cpp [mlir][tensors] Introduce attribute interface/attribute for tensor encoding 2021-04-26 18:31:54 -07:00
CMakeLists.txt [mlir][tensors] Introduce attribute interface/attribute for tensor encoding 2021-04-26 18:31:54 -07:00
Diagnostics.cpp [mlir] Add support for walking locations similarly to Operations 2021-04-15 16:09:34 -07:00
Dialect.cpp Add a mechanism for Dialects to customize printing/parsing operations when they are unregistered 2021-03-23 00:40:03 +00:00
Dominance.cpp [mlir] Fix post-dominance between blocks of different regions. 2020-11-11 11:20:53 -08:00
FunctionImplementation.cpp [MLIR] Disallow `sym_visibility`, `sym_name` and `type` attributes in the parsed attribute dictionary. 2021-01-12 09:11:02 -08:00
FunctionSupport.cpp [mlir] Support FuncOpSignatureConversion for more FunctionLike ops. 2021-01-21 18:35:09 -07:00
IntegerSet.cpp [MLIR][NFC] drop some unnecessary includes 2020-03-27 09:17:27 +05:30
IntegerSetDetail.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
Location.cpp [mlir] Add support for walking locations similarly to Operations 2021-04-15 16:09:34 -07:00
MLIRContext.cpp [mlir] some iwyu fixes after ba7a92c01e 2021-04-21 10:48:54 -04:00
Operation.cpp Fix deletion of operations through the rewriter in a pattern matching a consumer operation 2021-03-30 22:02:14 +00:00
OperationSupport.cpp Add workaround for false positive in -Wfree-nonheap-object 2021-04-03 14:03:43 -07:00
PatternMatch.cpp [mlir][Pattern] Add better support for using interfaces/traits to match root operations in rewrite patterns 2021-03-23 14:05:33 -07:00
Region.cpp [NFC] Add getArgumentTypes() to Region 2020-07-28 18:27:42 -07:00
RegionKindInterface.cpp [MLIR] Add RegionKindInterface 2020-07-15 14:27:05 -07:00
SymbolTable.cpp [mlir][NFC] Add a using directive for llvm::SetVector 2021-04-15 16:09:34 -07:00
TensorEncoding.cpp [mlir][tensors] Introduce attribute interface/attribute for tensor encoding 2021-04-26 18:31:54 -07:00
TypeDetail.h [mlir] Compare elements directly rather than creating pair first 2021-03-24 14:39:11 -07:00
TypeRange.cpp [mlir][IR] Refactor the internal implementation of Value 2021-03-03 14:33:37 -08:00
TypeUtilities.cpp [mlir] Correct verifyCompatibleShapes 2021-03-11 13:04:10 +01:00
Types.cpp [mlir] Add better support for f80 and f128 2021-01-15 10:29:48 -05:00
Value.cpp [mlir][IR] Refactor the internal implementation of Value 2021-03-03 14:33:37 -08:00
Verifier.cpp [Verifier] Tidy up the code a bit, NFC. 2021-04-26 11:54:02 -07:00
Visitors.cpp [mlir] Add 'Skip' result to Operation visitor 2021-03-06 00:02:20 +02:00