llvm-project/mlir/lib/Interfaces
Jacques Pienaar 093493032d [mlir] Enable specifying querying function in ValueShapeRange
This enables querying shapes/values as shapes without mutating the IR
directly (e.g., towards enabling doing inference in analysis &
application steps, inferring function shape with constant from callsite,
...). Add a new ShapeAdaptor that abstracts over whether shape is from
Type or ShapedTypeComponents or DenseIntElementsAttribute. This adds new
accessors to ValueShapeRange to get Shape and value as shape, but
doesn't restrict or remove the previous way of accessing Type via the
Value for now, that does mean a less refined shape could be accidentally
queried and will be restricted in follow up.

Currently restricted Value query to what can be represented as Shape. So
only supports cases where constant subgraph evaluation's output is a
shape. I had considered making it more general, but without TBD extern
attribute concept or some such a user cannot today uniformly avoid
overhead.

Update TOSA ops and also the shape inference pass.

Differential Revision: https://reviews.llvm.org/D107768
2021-08-10 11:44:20 -07:00
..
CMakeLists.txt [mlir] Introduce data layout modeling subsystem 2021-03-11 16:54:47 +01:00
CallInterfaces.cpp [mlir] Update SCCP and the Inliner to use SymbolTableCollection for symbol lookups 2020-10-16 12:08:48 -07:00
CastInterfaces.cpp [mlir] Add an interface for Cast-Like operations 2021-01-20 16:28:17 -08:00
ControlFlowInterfaces.cpp [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>. 2021-07-26 06:39:31 +02:00
CopyOpInterface.cpp [mlir] Add redundant copy removal transform 2020-07-03 15:36:25 +02:00
DataLayoutInterfaces.cpp [mlir] Change ABI breaking use of NDEBUG to LLVM_ENABLE_ABI_BREAKING_CHECKS 2021-08-01 14:01:36 +02:00
DerivedAttributeOpInterface.cpp [mlir] Add derived attribute op interface 2020-03-12 10:32:24 -07:00
InferTypeOpInterface.cpp [mlir] Enable specifying querying function in ValueShapeRange 2021-08-10 11:44:20 -07:00
LoopLikeInterface.cpp [mlir][NFC] Move the LoopLike interface out of Transforms/ and into Interfaces/ 2020-03-14 13:37:56 -07:00
SideEffectInterfaces.cpp [mlir][IR] Remove the concept of `OperationProperties` 2021-02-09 12:00:15 -08:00
VectorInterfaces.cpp [mlir] Unrolled progressive-vector-to-scf. 2021-05-13 13:08:48 +09:00
ViewLikeInterface.cpp [mlir][Linalg] Add comprehensive bufferization support for subtensor (5/n) 2021-05-27 12:48:08 +00:00