llvm/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
..
CallInterfaces.cpp
CastInterfaces.cpp
CMakeLists.txt
ControlFlowInterfaces.cpp [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>. 2021-07-26 06:39:31 +02:00
CopyOpInterface.cpp
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
InferTypeOpInterface.cpp [mlir] Enable specifying querying function in ValueShapeRange 2021-08-10 11:44:20 -07:00
LoopLikeInterface.cpp
SideEffectInterfaces.cpp
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