llvm-project/mlir/tools/mlir-tblgen
Jacques Pienaar fa26a37d36 [mlir] Add shaped container component type interface
Summary:
* Add shaped container type interface which allows infering the shape, element
  type and attribute of shaped container type separately. Show usage by way of
  tensor type inference trait which combines the shape & element type in
  infering a tensor type;
  - All components need not be specified;
  - Attribute is added to allow for layout attribute that was previously
    discussed;
* Expand the test driver to make it easier to test new creation instances
  (adding new operands or ops with attributes or regions would trigger build
  functions/type inference methods);
  - The verification part will be moved out of the test and to verify method
    instead of ops implementing the type inference interface in a follow up;
* Add MLIRContext as arg to possible to create type for ops without arguments,
  region or location;
* Also move out the section in OpDefinitions doc to separate ShapeInference doc
  where the shape function requirements can be captured;
  - Part of this would move to the shape dialect and/or shape dialect ops be
    included as subsection of this doc;
* Update ODS's variable usage to match camelBack format for builder,
  state and arg variables;
  - I could have split this out, but I had to make some changes around
    these and the inconsistency bugged me :)

Differential Revision: https://reviews.llvm.org/D72432
2020-01-15 13:28:39 -08:00
..
CMakeLists.txt Added a TableGen generator for structured data 2019-08-30 12:52:13 -07:00
DocGenUtilities.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
EnumsGen.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
LLVMIRConversionGen.cpp [mlir] NFC: Remove Value::operator* and Value::operator-> now that Value is properly value-typed. 2020-01-11 08:54:39 -08:00
OpDefinitionsGen.cpp [mlir] Add shaped container component type interface 2020-01-15 13:28:39 -08:00
OpDocGen.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
OpInterfacesGen.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
ReferenceImplGen.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
RewriterGen.cpp [mlir] NFC: Remove Value::operator* and Value::operator-> now that Value is properly value-typed. 2020-01-11 08:54:39 -08:00
SPIRVUtilsGen.cpp [mlir] Only generate default for uncovered cases 2020-01-02 12:55:14 -08:00
StructsGen.cpp [mlir] Enhance classof() checks in StructsGen 2020-01-03 15:13:16 -05:00
mlir-tblgen.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00