Commit Graph

917 Commits

Author SHA1 Message Date
Rahul Joshi c75cbf4ac7 [MLIR][NFC] Rename ReduceOp operands() => inputs().
- Rename to avoid confusion as operands generally includes all operands of an operation

PiperOrigin-RevId: 368479524
2021-04-14 12:08:23 -07:00
Prashant Kumar 236e7db5c0 PR #47315: [MLIR] Add concatenateOp lowering from lmhlo to Affine.
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/47315

Lowering of `concatenateOp` is added from lmhlo to Affine. The lowering
has been added as a part of `lhlo-legalize-to-affine` pass.

Signed-off-by: Prashant Kumar <prashantk@polymagelabs.com>
Copybara import of the project:

--
15314e4579f7a6901cf3475eff25962a34772eaf by Prashant Kumar <prashantk@polymagelabs.com>:

[MLIR] Add concatenateOp lowering from lmhlo to Affine.

Lowering of `concatenateOp` is added from lmhlo to Affine. The lowering
has been added as a part of `lhlo-legalize-to-affine` pass.

Signed-off-by: Prashant Kumar <prashantk@polymagelabs.com>
PiperOrigin-RevId: 368465992
2021-04-14 11:06:38 -07:00
A. Unique TensorFlower c10167d4a8 Integrate LLVM at llvm/llvm-project@c4c9e4d6df
Updates LLVM usage to match
[c4c9e4d6df3c](https://github.com/llvm/llvm-project/commit/c4c9e4d6df3c)

PiperOrigin-RevId: 368450496
2021-04-14 09:54:28 -07:00
A. Unique TensorFlower 2db0e6280d Integrate LLVM at llvm/llvm-project@7975dd033c
Updates LLVM usage to match
[7975dd033cb9](https://github.com/llvm/llvm-project/commit/7975dd033cb9)

PiperOrigin-RevId: 368399684
2021-04-14 04:06:34 -07:00
A. Unique TensorFlower 79c7c48989 Integrate LLVM at llvm/llvm-project@32e264921b
Updates LLVM usage to match
[32e264921b7a](https://github.com/llvm/llvm-project/commit/32e264921b7a)

PiperOrigin-RevId: 368352219
2021-04-13 20:55:55 -07:00
Jacques Pienaar fdd75daed6 Add shape function for MHLO RngNormal and RngUniform
PiperOrigin-RevId: 368276963
2021-04-13 12:59:42 -07:00
A. Unique TensorFlower c01e96d095 Integrate LLVM at llvm/llvm-project@dad5caa59e
Updates LLVM usage to match
[dad5caa59e6b](https://github.com/llvm/llvm-project/commit/dad5caa59e6b)

PiperOrigin-RevId: 368257770
2021-04-13 11:28:38 -07:00
Hanhan Wang a3fc99efe0 Add support for lowering mhlo.dynamic_slice to Linalg ops.
PiperOrigin-RevId: 368033540
2021-04-12 10:34:55 -07:00
A. Unique TensorFlower 0ec0a23e61 [MLIR][HLO] Generalize merged witnesses in `move-up-dynamic-broadcasts-for-fusion`
PiperOrigin-RevId: 368012460
2021-04-12 08:55:29 -07:00
A. Unique TensorFlower 1007995ea2 Integrate LLVM at llvm/llvm-project@5a5a94ed34
Updates LLVM usage to match
[5a5a94ed34b0](https://github.com/llvm/llvm-project/commit/5a5a94ed34b0)

PiperOrigin-RevId: 368012265
2021-04-12 08:53:33 -07:00
A. Unique TensorFlower 7965f7fa79 Integrate LLVM at llvm/llvm-project@67b39661c8
Updates LLVM usage to match
[67b39661c847](https://github.com/llvm/llvm-project/commit/67b39661c847)

PiperOrigin-RevId: 367984223
2021-04-12 05:43:23 -07:00
A. Unique TensorFlower bc95a4652f Integrate LLVM at llvm/llvm-project@2dd22da965
Updates LLVM usage to match
[2dd22da965ff](https://github.com/llvm/llvm-project/commit/2dd22da965ff)

PiperOrigin-RevId: 367965285
2021-04-12 03:11:45 -07:00
Alexander Belyaev 8a9bf05d78 Integrate LLVM at llvm/llvm-project@6ce76ff7eb
Updates LLVM usage to match
[6ce76ff7eb76](https://github.com/llvm/llvm-project/commit/6ce76ff7eb76)

PiperOrigin-RevId: 367678843
2021-04-09 12:11:56 -07:00
A. Unique TensorFlower 6d2209e301 [MLIR][HLO] Canonicalize chained broadcasts
Compose two subsequent `dynamic_broadcast_in_dim` ops into one.

PiperOrigin-RevId: 367630360
2021-04-09 07:35:34 -07:00
Hanhan Wang fdb653788c Add support for lowering and/or within mhlo.reduce op body.
PiperOrigin-RevId: 367627034
2021-04-09 07:09:13 -07:00
Alexander Belyaev 2ef77c1c0c Integrate LLVM at llvm/llvm-project@39ae25fb8c
Updates LLVM usage to match
[39ae25fb8c64](https://github.com/llvm/llvm-project/commit/39ae25fb8c64)

PiperOrigin-RevId: 367597627
2021-04-09 02:35:49 -07:00
Hanhan Wang 768234b077 [NFC] Fix a typo in ScalarLimit comments.
PiperOrigin-RevId: 367593932
2021-04-09 01:57:50 -07:00
Alexander Belyaev bf487d51d4 Integrate LLVM at llvm/llvm-project@1b589172bd
Updates LLVM usage to match
[1b589172bd19](https://github.com/llvm/llvm-project/commit/1b589172bd19)

PiperOrigin-RevId: 367482146
2021-04-08 12:23:42 -07:00
Alexander Belyaev 39430e04da Integrate LLVM at llvm/llvm-project@b601c67192
Updates LLVM usage to match
[b601c6719226](https://github.com/llvm/llvm-project/commit/b601c6719226)

PiperOrigin-RevId: 367413533
2021-04-08 05:56:16 -07:00
Adrian Kuegel cc607bc72d Support up to rank 8 in rank specialization for SelectOp.
PiperOrigin-RevId: 367406557
2021-04-08 04:55:41 -07:00
Alexander Belyaev f068d26843 Integrate LLVM at llvm/llvm-project@6e8601ff4a
Updates LLVM usage to match
[6e8601ff4ae1](https://github.com/llvm/llvm-project/commit/6e8601ff4ae1)

PiperOrigin-RevId: 367406032
2021-04-08 04:52:04 -07:00
Alexander Belyaev 11c1bc4bd2 Integrate LLVM at llvm/llvm-project@628dda08b8
Updates LLVM usage to match
[628dda08b82f](https://github.com/llvm/llvm-project/commit/628dda08b82f)

PiperOrigin-RevId: 367238750
2021-04-07 09:47:33 -07:00
Alexander Belyaev f003df084b Integrate LLVM at llvm/llvm-project@c0ef93bec8
Updates LLVM usage to match
[c0ef93bec85a](https://github.com/llvm/llvm-project/commit/c0ef93bec85a)

PiperOrigin-RevId: 367215596
2021-04-07 07:30:33 -07:00
Hanhan Wang c466f08993 Add checks in ReduceWindowOpOnTensorsConversion.
The pattern does not support ops with non-zero padding config. Add a check to
prevent unexpected lowering.

It is not easy to add tests because other patterns will convert body ops, and
it causes issues like invalid IRs.

PiperOrigin-RevId: 367202450
2021-04-07 05:46:01 -07:00
Alexander Belyaev c6894333b9 Integrate LLVM at llvm/llvm-project@f37ea62e57
Updates LLVM usage to match
[f37ea62e57b5](https://github.com/llvm/llvm-project/commit/f37ea62e57b5)

PiperOrigin-RevId: 367189460
2021-04-07 03:56:23 -07:00
Alexander Belyaev f3295324e1 Integrate LLVM at llvm/llvm-project@000cf84cf1
Updates LLVM usage to match
[000cf84cf1bb](https://github.com/llvm/llvm-project/commit/000cf84cf1bb)

PiperOrigin-RevId: 367179026
2021-04-07 02:23:20 -07:00
A. Unique TensorFlower a62382cf1f Integrate LLVM at llvm/llvm-project@0e92cbd6a6
Updates LLVM usage to match
[0e92cbd6a652](https://github.com/llvm/llvm-project/commit/0e92cbd6a652)

PiperOrigin-RevId: 367062980
2021-04-06 12:40:51 -07:00
Rahul Joshi 0800423d27 [LMHLO] Simplify FusionOp::getInputBuffers() and friends.
- No need to walk the entire region, instead just iterate over the top level operations in
  the region attached to the fusion op.

PiperOrigin-RevId: 366528833
2021-04-02 15:55:49 -07:00
Geoffrey Martin-Noble 38d0f96709 Switch deps AllPassesAndDialectsNoRegistration -> AllPassesAndDialects
These targets are now identical as all registration is explicit.
Temporarily leaving the old target as a (deprecated) alias while
changes propagate.

PiperOrigin-RevId: 366513211
2021-04-02 14:26:13 -07:00
A. Unique TensorFlower c315b07d9c Integrate LLVM at llvm/llvm-project@8e5f3d04f2
Updates LLVM usage to match
[8e5f3d04f269](https://github.com/llvm/llvm-project/commit/8e5f3d04f269)

PiperOrigin-RevId: 366508804
2021-04-02 14:02:15 -07:00
A. Unique TensorFlower ad442fd99a Integrate LLVM at llvm/llvm-project@17800f900d
Updates LLVM usage to match
[17800f900dca](https://github.com/llvm/llvm-project/commit/17800f900dca)

PiperOrigin-RevId: 366356934
2021-04-01 16:46:09 -07:00
Geoffrey Martin-Noble 763ff55970 Restore SingleBlockImplicitTerminator verification to mhlo.while
The internal users have been cleaned up, so we can roll this forward again.

PiperOrigin-RevId: 366313960
2021-04-01 13:04:26 -07:00
A. Unique TensorFlower f1bed7b340 Integrate LLVM at llvm/llvm-project@d61b40ed27
Updates LLVM usage to match
[d61b40ed2750](https://github.com/llvm/llvm-project/commit/d61b40ed2750)

PiperOrigin-RevId: 366288494
2021-04-01 11:05:39 -07:00
Rahul Joshi ff2cbfa2ec [MLIR] Add support for representing variadic reduce-window in HLO/LMHLO dialect.
-  Fixed a subset of transformations to handle variadic reduce-window.

PiperOrigin-RevId: 366278650
2021-04-01 10:24:50 -07:00
A. Unique TensorFlower d1f697e618 Integrate LLVM at llvm/llvm-project@abbe80fa52
Updates LLVM usage to match
[abbe80fa52c5](https://github.com/llvm/llvm-project/commit/abbe80fa52c5)

PiperOrigin-RevId: 366236030
2021-04-01 05:58:20 -07:00
A. Unique TensorFlower c23be1841c [MLIR] Add example test case for `move-up-dynamic-broadcasts-for-fusion` pass
Add exemplary test case as it appears in the lowering of two subsequent `tf.Sub`
ops.

PiperOrigin-RevId: 366219139
2021-04-01 03:24:43 -07:00
A. Unique TensorFlower eb4d20ba04 Integrate LLVM at llvm/llvm-project@e1d4fb1ebf
Updates LLVM usage to match
[e1d4fb1ebfff](https://github.com/llvm/llvm-project/commit/e1d4fb1ebfff)

PiperOrigin-RevId: 366207149
2021-04-01 01:51:23 -07:00
A. Unique TensorFlower f25ef97943 Integrate LLVM at llvm/llvm-project@777a58e05b
Updates LLVM usage to match
[777a58e05b22](https://github.com/llvm/llvm-project/commit/777a58e05b22)

PiperOrigin-RevId: 366149625
2021-03-31 17:18:25 -07:00
A. Unique TensorFlower 7b0a6bfeee Integrate LLVM at llvm/llvm-project@fcf6800506
Updates LLVM usage to match
[fcf680050686](https://github.com/llvm/llvm-project/commit/fcf680050686)

PiperOrigin-RevId: 366101230
2021-03-31 13:16:11 -07:00
A. Unique TensorFlower af3bc47a8b Integrate LLVM at llvm/llvm-project@8396aeb07c
Updates LLVM usage to match
[8396aeb07cdd](https://github.com/llvm/llvm-project/commit/8396aeb07cdd)

PiperOrigin-RevId: 366034463
2021-03-31 08:01:34 -07:00
A. Unique TensorFlower bbe0aa204c [MLIR][MHLO] Merge assuming ops with compatible witnesses
PiperOrigin-RevId: 366018349
2021-03-31 06:11:38 -07:00
Adrian Kuegel c8157ba4df Move code from helper struct to the only user.
We don't need the separate helper struct anymore, because it is now only used
in one place.

PiperOrigin-RevId: 366012639
2021-03-31 05:21:34 -07:00
Adrian Kuegel 4033a56750 Add special cases for SelectOp rank specialization.
We now use the same special cases for all ops with arity >= 2.
For binary ops, we now have only one special case if at least one of the
operands has exactly one element. In that case, we reshape both operands to
rank 1. Before, we had separate special cases whether the left-hand side
or the right-hand side have a scalar shape.

PiperOrigin-RevId: 366005835
2021-03-31 04:28:51 -07:00
A. Unique TensorFlower 9206805c58 [MLIR][MHLO] Do not yield results of ops that were moved out of assuming regions
When an op is moved out of an assuming region we already know statically that it
is independent of the assuming region. Hence, there is no need to yield its
results.

PiperOrigin-RevId: 366001405
2021-03-31 03:50:27 -07:00
A. Unique TensorFlower 8ade5d78c8 [MLIR][MHLO] Move `cstr_broadcastable` and `shape_of` out of `assuming` regions
Add pattern to move operations out of assuming op. This only valid for
constraint-independent ops, like `cstr_broadcastable` and `shape_of`. It will
eventually allow to make assuming regions' constraints independent from each
other so that they can be merged.

PiperOrigin-RevId: 365993145
2021-03-31 02:39:07 -07:00
A. Unique TensorFlower af2aaa6144 Integrate LLVM at llvm/llvm-project@afed50a14b
Updates LLVM usage to match
[afed50a14b34](https://github.com/llvm/llvm-project/commit/afed50a14b34)

PiperOrigin-RevId: 365986449
2021-03-31 01:37:43 -07:00
A. Unique TensorFlower eade942635 [MLIR][MHLO] Add pattern to move ops into the assuming region
This will eventually allow to make assuming regions' constraints independent
from each other.

PiperOrigin-RevId: 365985081
2021-03-31 01:23:31 -07:00
Geoffrey Martin-Noble 5ec66775d4 Temporarily relax restriction on mhlo.while terminator
Some internal tests are failing, so relaxing this restriction
temporarily while we investigate.

PiperOrigin-RevId: 365949611
2021-03-30 19:44:07 -07:00
Geoffrey Martin-Noble 5d65758e8c Canonicalize MHLO Case and If Ops with constant conditions
ReplaceOpWithRegion was taken directly from ScfOps. We should maybe put that somewhere common in core.

PiperOrigin-RevId: 365936724
2021-03-30 17:58:01 -07:00
Geoffrey Martin-Noble 2fb2a92c6e Verify mhlo.if region return types match op
This matches the behavior of mhlo.case. Additionally, fix the verification of CaseOp in the case of nested ops with mhlo.return-containing regions.

PiperOrigin-RevId: 365936672
2021-03-30 17:57:20 -07:00