<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/mlir/lib/Dialect/Linalg/Transforms, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-01-14T22:25:28+00:00</updated>
<entry>
<title>[mlir][Linalg] Update the semantics, verifier and test for Linalg with tensors.</title>
<updated>2020-01-14T22:25:28+00:00</updated>
<author>
<name>Nicolas Vasilache</name>
<email>ntv@google.com</email>
</author>
<published>2020-01-11T07:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f52d71736b10e87b1aa1880b777dc9462a0085ce'/>
<id>urn:sha1:f52d71736b10e87b1aa1880b777dc9462a0085ce</id>
<content type='text'>
Summary:
This diff fixes issues with the semantics of linalg.generic on tensors that appeared when converting directly from HLO to linalg.generic.
The changes are self-contained within MLIR and can be captured and tested independently of XLA.

The linalg.generic and indexed_generic are updated to:

To allow progressive lowering from the value world (a.k.a tensor values) to
the buffer world (a.k.a memref values), a linalg.generic op accepts
mixing input and output ranked tensor values with input and output memrefs.

```
%1 = linalg.generic #trait_attribute %A, %B {other-attributes} :
  tensor&lt;?x?xf32&gt;,
  memref&lt;?x?xf32, stride_specification&gt;
  -&gt; (tensor&lt;?x?xf32&gt;)
```

In this case, the number of outputs (args_out) must match the sum of (1) the
number of output buffer operands and (2) the number of tensor return values.
The semantics is that the linalg.indexed_generic op produces (i.e.
allocates and fills) its return values.

Tensor values must be legalized by a buffer allocation pass before most
transformations can be applied. Such legalization moves tensor return values
into output buffer operands and updates the region argument accordingly.

Transformations that create control-flow around linalg.indexed_generic
operations are not expected to mix with tensors because SSA values do not
escape naturally. Still, transformations and rewrites that take advantage of
tensor SSA values are expected to be useful and will be added in the near
future.

Subscribers: bmahjour, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72555
</content>
</entry>
<entry>
<title>Make helper functions static or move them into anonymous namespaces.  NFC.</title>
<updated>2020-01-14T13:06:37+00:00</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2020-01-14T13:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=df186507e1d07c3ddba091a076ba7a33dbdc5867'/>
<id>urn:sha1:df186507e1d07c3ddba091a076ba7a33dbdc5867</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[mlir] NFC: Remove Value::operator* and Value::operator-&gt; now that Value is properly value-typed.</title>
<updated>2020-01-11T16:54:39+00:00</updated>
<author>
<name>River Riddle</name>
<email>riverriddle@google.com</email>
</author>
<published>2020-01-11T16:54:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2bdf33cc4c733342fc83081bc7410ac5e9a24f55'/>
<id>urn:sha1:2bdf33cc4c733342fc83081bc7410ac5e9a24f55</id>
<content type='text'>
Summary: These were temporary methods used to simplify the transition.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D72548
</content>
</entry>
<entry>
<title>[mlir][linalg] Lower linalg to affine loops</title>
<updated>2020-01-03T18:21:10+00:00</updated>
<author>
<name>Ahmed Taei</name>
<email>ataei@google.com</email>
</author>
<published>2020-01-03T18:20:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=14ee51581af016b868e5425ec4d77c2f205634b4'/>
<id>urn:sha1:14ee51581af016b868e5425ec4d77c2f205634b4</id>
<content type='text'>
Reviewers: nicolasvasilache

Reviewed By: nicolasvasilache

Subscribers: mgester, lucyrfox, merge_guards_bot, AlexEichenberger, mravishankar, ftynse, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72094
</content>
</entry>
<entry>
<title>    [mlir][Linalg] Extend generic ops to allow tensors</title>
<updated>2020-01-02T18:54:57+00:00</updated>
<author>
<name>Nicolas Vasilache</name>
<email>ntv@google.com</email>
</author>
<published>2019-12-31T14:28:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2140a973f272969b5391532f3c0b7c90aafd803b'/>
<id>urn:sha1:2140a973f272969b5391532f3c0b7c90aafd803b</id>
<content type='text'>
    Summary:
    This diff adds support to allow `linalg.generic` and
    `linalg.indexed_generic` to take tensor input and output
    arguments.

    The subset of output tensor operand types must appear
    verbatim in the result types after an arrow. The parser,
    printer and verifier are extended to accomodate this
    behavior.

    The Linalg operations now support variadic ranked tensor
    return values. This extension exhibited issues with the
    current handling of NativeCall in RewriterGen.cpp. As a
    consequence, an explicit cast to `SmallVector&lt;Value, 4&gt;`
    is added in the proper place to support the new behavior
    (better suggestions are welcome).

    Relevant cleanups and name uniformization are applied.

    Relevant invalid and roundtrip test are added.

    Reviewers: mehdi_amini, rriddle, jpienaar, antiagainst, ftynse

    Subscribers: burmako, shauheen, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D72022
</content>
</entry>
<entry>
<title>[mlir][Linalg] NFC - Make consistent use of op.emitOpError</title>
<updated>2020-01-02T15:12:14+00:00</updated>
<author>
<name>Nicolas Vasilache</name>
<email>ntv@google.com</email>
</author>
<published>2020-01-02T15:06:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cd17c0698993142120fb6167bac99bfd5b1add31'/>
<id>urn:sha1:cd17c0698993142120fb6167bac99bfd5b1add31</id>
<content type='text'>
Summary: This is part of an ongoing cleanup and uniformization work.

Reviewers: ftynse

Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72084
</content>
</entry>
<entry>
<title>[mlir][Linalg] NFC - Cleanup Linalg Declarative Transformations</title>
<updated>2020-01-02T15:11:37+00:00</updated>
<author>
<name>Nicolas Vasilache</name>
<email>ntv@google.com</email>
</author>
<published>2020-01-02T14:54:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a9d9aadcdfa28aef8b276af416aaa69686ee9b69'/>
<id>urn:sha1:a9d9aadcdfa28aef8b276af416aaa69686ee9b69</id>
<content type='text'>
Summary:
This is part of an ongoing cleanup and uniformization work.

This diff performs 3 types of cleanups:
1. Uniformize transformation names.
2. Replace all pattern operands that need not be captured by `$_`
3. Replace all usage of pattern captured op by the normalized `op` name (instead of positional parameters such as `$0`)

Reviewers: ftynse

Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72081
</content>
</entry>
<entry>
<title>NFC: Replace ValuePtr with Value and remove it now that Value is value-typed.</title>
<updated>2019-12-24T00:36:53+00:00</updated>
<author>
<name>River Riddle</name>
<email>riverriddle@google.com</email>
</author>
<published>2019-12-23T22:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e62a69561fb9d7b1013d2853da68d79a7907fead'/>
<id>urn:sha1:e62a69561fb9d7b1013d2853da68d79a7907fead</id>
<content type='text'>
ValuePtr was a temporary typedef during the transition to a value-typed Value.

PiperOrigin-RevId: 286945714
</content>
</entry>
<entry>
<title>Adjust License.txt file to use the LLVM license</title>
<updated>2019-12-23T23:33:37+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>aminim@google.com</email>
</author>
<published>2019-12-23T17:35:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=56222a0694e4caf35e892d70591417c39fef1185'/>
<id>urn:sha1:56222a0694e4caf35e892d70591417c39fef1185</id>
<content type='text'>
PiperOrigin-RevId: 286906740
</content>
</entry>
<entry>
<title>NFC: Introduce new ValuePtr/ValueRef typedefs to simplify the transition to Value being value-typed.</title>
<updated>2019-12-23T06:00:23+00:00</updated>
<author>
<name>River Riddle</name>
<email>riverriddle@google.com</email>
</author>
<published>2019-12-23T05:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=35807bc4c5c9d8abc31ba0b2f955a82abf276e12'/>
<id>urn:sha1:35807bc4c5c9d8abc31ba0b2f955a82abf276e12</id>
<content type='text'>
This is an initial step to refactoring the representation of OpResult as proposed in: https://groups.google.com/a/tensorflow.org/g/mlir/c/XXzzKhqqF_0/m/v6bKb08WCgAJ

This change will make it much simpler to incrementally transition all of the existing code to use value-typed semantics.

PiperOrigin-RevId: 286844725
</content>
</entry>
</feed>
