[all-commits] [llvm/llvm-project] 408607: Reland "[mlir][linalg] Support parsing attributes ...

Lei Zhang via All-commits all-commits at lists.llvm.org
Tue Jan 12 08:00:39 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4086072f8a9200216088c435c9aa90a2d8ed74a5
      https://github.com/llvm/llvm-project/commit/4086072f8a9200216088c435c9aa90a2d8ed74a5
  Author: Lei Zhang <antiagainst at google.com>
  Date:   2021-01-12 (Tue, 12 Jan 2021)

  Changed paths:
    M mlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
    M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp

  Log Message:
  -----------
  Reland "[mlir][linalg] Support parsing attributes in named op spec"

With this, now we can specify a list of attributes on named ops
generated from the spec. The format is defined as

```
attr-id ::= bare-id (`?`)?
attr-typedef ::= type (`[` `]`)?
attr-def ::= attr-id `:` attr-typedef

tc-attr-def ::= `attr` `(` attr-def-list `)`
tc-def ::= `def` bare-id
  `(`tensor-def-list`)` `->` `(` tensor-def-list`)`
  (tc-attr-def)?
```

For example,

```
ods_def<SomeCppOp>
def some_op(...) -> (...)
attr(
  f32_attr: f32,
  i32_attr: i32,
  array_attr : f32[],
  optional_attr? : f32
)
```

where `?` means optional attribute and `[]` means array type.

Reviewed By: hanchung, nicolasvasilache

Differential Revision: https://reviews.llvm.org/D94240




More information about the All-commits mailing list