summaryrefslogtreecommitdiff
path: root/mlir/utils/tree-sitter-mlir/dialect/bufferization.js
blob: d5c99263f8ec46d7df28fabe5311fe6e7b8680e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';

module.exports = {
  bufferization_dialect : $ => choice(
      seq('bufferization.alloc_tensor', field('in', $._value_use_list_parens),
          field('copy', optional(seq(token('copy'), '(', $.value_use, ')'))),
          field('size_hint',
                optional(seq(token('size_hint'), '=', $.value_use))),
          field('attributes', optional($.attribute)),
          field('return', $._type_annotation)),

      // operation ::= `bufferization.to_buffer` $tensor
      // attr-dict `:` type($memref)
      seq('bufferization.to_buffer', field('tensor', $.value_use),
          field('attributes', optional($.attribute)),
          field('return', $._type_annotation)),

      // operation ::= `bufferization.to_tensor` $memref
      //               (`restrict` $restrict^)?
      //               (`writable` $writable^)? attr-dict
      //               `:` type($memref)
      seq('bufferization.to_tensor', field('memref', $.value_use),
          field('restrict', optional($.restrict_attr)),
          field('writable', optional($.writable_attr)),
          field('attributes', optional($.attribute)),
          field('return', $._type_annotation)))
}