#
4e103a12 |
| 23-Aug-2021 |
River Riddle <riddleriver@gmail.com> |
[mlir] Add support for VariadicOfVariadic operands
This revision adds native ODS support for VariadicOfVariadic operand groups. An example of this is the SwitchOp, which has a variadic number of nes
[mlir] Add support for VariadicOfVariadic operands
This revision adds native ODS support for VariadicOfVariadic operand groups. An example of this is the SwitchOp, which has a variadic number of nested operand ranges for each of the case statements, where the number of case statements is variadic. Builtin ODS support allows for generating proper accessors for the nested operand ranges, builder support, and declarative format support. VariadicOfVariadic operands are supported by providing a segment attribute to use to store the operand groups, mapping similarly to the AttrSizedOperand trait (but with a user defined attribute name).
`build` methods for VariadicOfVariadic operand expect inputs of the form `ArrayRef<ValueRange>`. Accessors for the variadic ranges return a new `OperandRangeRange` type, which represents a contiguous range of `OperandRange`. In the declarative assembly format, VariadicOfVariadic operands and types are by default formatted as a comma delimited list of value lists: `(<value>, <value>), (), (<value>)`.
Differential Revision: https://reviews.llvm.org/D107774
show more ...
|
#
12d16de5 |
| 12-Aug-2020 |
Rahul Joshi <jurahul@google.com> |
[MLIR][NFC] Remove tblgen:: prefix in TableGen/*.cpp files
- Add "using namespace mlir::tblgen" in several of the TableGen/*.cpp files and eliminate the tblgen::prefix to reduce code clutter.
Dif
[MLIR][NFC] Remove tblgen:: prefix in TableGen/*.cpp files
- Add "using namespace mlir::tblgen" in several of the TableGen/*.cpp files and eliminate the tblgen::prefix to reduce code clutter.
Differential Revision: https://reviews.llvm.org/D85800
show more ...
|
#
aba1acc8 |
| 10-Apr-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][ODS] Add support for optional operands and results with a new Optional directive.
Summary: This revision adds support for specifying operands or results as "optional". This is a special case
[mlir][ODS] Add support for optional operands and results with a new Optional directive.
Summary: This revision adds support for specifying operands or results as "optional". This is a special case of variadic where the number of elements is either 0 or 1. Operands and results of this kind will have accessors generated using Value instead of the range types, making it more natural to interface with.
Differential Revision: https://reviews.llvm.org/D77863
show more ...
|
#
30857107 |
| 26-Jan-2020 |
Mehdi Amini <aminim@google.com> |
Mass update the MLIR license header to mention "Part of the LLVM project"
This is an artifact from merging MLIR into LLVM, the file headers are now aligned with the rest of the project.
|
#
56222a06 |
| 23-Dec-2019 |
Mehdi Amini <aminim@google.com> |
Adjust License.txt file to use the LLVM license
PiperOrigin-RevId: 286906740
|
#
cde4d5a6 |
| 14-May-2019 |
Jacques Pienaar <jpienaar@google.com> |
Remove unnecessary C++ specifier in CPP files. NFC.
These are only required in .h files to disambiguate between C and C++ header files.
--
PiperOrigin-RevId: 248219135
|
#
6749c21d |
| 25-Apr-2019 |
Lei Zhang <antiagainst@google.com> |
[TableGen] Support multiple variadic operands/results
Certain ops can have multiple variadic operands/results, e.g., `tf.DynamicStitch`. Even if an op has only one variadic operand/result, i
[TableGen] Support multiple variadic operands/results
Certain ops can have multiple variadic operands/results, e.g., `tf.DynamicStitch`. Even if an op has only one variadic operand/result, it is not necessarily the very last one, e.g., `tf.RaggedGather`. This CL enhances TableGen subsystem to be able to represent such cases.
In order to deduce the operand/result value range for each variadic operand, currently we only support variadic operands/results all of the same size. So two new traits, `SameVariadicOperandSize` and `SameVariadicResultSize` are introduced.
--
PiperOrigin-RevId: 245310628
show more ...
|
#
0047ef97 |
| 12-Apr-2019 |
Smit Hinsu <hinsu@google.com> |
NFC: Simplify named attribute in TableGen generators
Now, op attribute names don't have '.' in their names so the special handling for it can be removed. Attributes for functions still have
NFC: Simplify named attribute in TableGen generators
Now, op attribute names don't have '.' in their names so the special handling for it can be removed. Attributes for functions still have dialect prefix with '.' as separator but TableGen does not deal with functions.
TESTED with existing unit tests
--
PiperOrigin-RevId: 243287462
show more ...
|
#
509cd739 |
| 18-Mar-2019 |
Jacques Pienaar <jpienaar@google.com> |
Change Value to NamedTypeConstraint and use TypeConstraint.
Previously Value was a pair of name & Type, but for operands/result a TypeConstraint rather then a Type is specified. Update C++ side to m
Change Value to NamedTypeConstraint and use TypeConstraint.
Previously Value was a pair of name & Type, but for operands/result a TypeConstraint rather then a Type is specified. Update C++ side to match declarative side.
PiperOrigin-RevId: 238984799
show more ...
|
#
73e0297d |
| 05-Mar-2019 |
River Riddle <riverriddle@google.com> |
Change the TensorFlow attribute prefix from "tf$" to "tf." to match the specification of dialect attributes. This also fixes tblgen generation of dialect attributes that used the sugared name "tf$att
Change the TensorFlow attribute prefix from "tf$" to "tf." to match the specification of dialect attributes. This also fixes tblgen generation of dialect attributes that used the sugared name "tf$attr" as c++ identifiers.
PiperOrigin-RevId: 236924392
show more ...
|
#
08129933 |
| 15-Feb-2019 |
Lei Zhang <antiagainst@google.com> |
[TableGen] Rename Operand to Value to prepare sharing between operand and result
We specify op operands and results in TableGen op definition using the same syntax. They should be modelled similarly
[TableGen] Rename Operand to Value to prepare sharing between operand and result
We specify op operands and results in TableGen op definition using the same syntax. They should be modelled similarly in TableGen driver wrapper classes.
PiperOrigin-RevId: 234153332
show more ...
|
#
66647a31 |
| 30-Jan-2019 |
Lei Zhang <antiagainst@google.com> |
[tablegen] Use tblgen:: classes for NamedAttribute and Operand fields
This is another step towards hiding raw TableGen API calls.
PiperOrigin-RevId: 231580827
|
#
ba1715f4 |
| 25-Jan-2019 |
Lei Zhang <antiagainst@google.com> |
Pull TableGen op argument definitions into their own files
PiperOrigin-RevId: 230923050
|