xref: /llvm-project/mlir/utils/tree-sitter-mlir/dialect/bufferization.js (revision 10f8be19e7562624c0e63872e28cc963e03e56a5)
1'use strict';
2
3module.exports = {
4  bufferization_dialect : $ => choice(
5                            seq('bufferization.alloc_tensor',
6                                field('in', $._value_use_list_parens),
7                                field('copy', optional(seq(token('copy'), '(',
8                                                           $.value_use, ')'))),
9                                field('size_hint',
10                                      optional(seq(token('size_hint'), '=',
11                                                   $.value_use))),
12                                field('attributes', optional($.attribute)),
13                                field('return', $._type_annotation)),
14
15                            // operation ::= `bufferization.to_memref` $tensor
16                            // attr-dict `:` type($memref)
17                            seq('bufferization.to_memref',
18                                field('tensor', $.value_use),
19                                field('attributes', optional($.attribute)),
20                                field('return', $._type_annotation)),
21
22                            // operation ::= `bufferization.to_tensor` $memref
23                            //               (`restrict` $restrict^)?
24                            //               (`writable` $writable^)? attr-dict
25                            //               `:` type($memref)
26                            seq('bufferization.to_tensor',
27                                field('memref', $.value_use),
28                                field('restrict', optional($.restrict_attr)),
29                                field('writable', optional($.writable_attr)),
30                                field('attributes', optional($.attribute)),
31                                field('return', $._type_annotation)))
32}
33