Commit Graph

955 Commits

Author SHA1 Message Date
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
Russell Power 3be9874d82 Remove comments for license declarations. These can get out of date/stale.
PiperOrigin-RevId: 365936646
2021-03-30 17:55:42 -07:00
A. Unique TensorFlower 00552afdd3 Integrate LLVM at llvm/llvm-project@c06a8f9caa
Updates LLVM usage to match
[c06a8f9caa51](https://github.com/llvm/llvm-project/commit/c06a8f9caa51)

PiperOrigin-RevId: 365935998
2021-03-30 17:52:35 -07:00
Geoffrey Martin-Noble 7a9394dca5 Restrict MHLO control flow ops to single-block regions
PiperOrigin-RevId: 365935824
2021-03-30 17:51:03 -07:00
A. Unique TensorFlower e78c59d927 Integrate LLVM at llvm/llvm-project@73adc05ced
Updates LLVM usage to match
[73adc05cedb2](https://github.com/llvm/llvm-project/commit/73adc05cedb2)

PiperOrigin-RevId: 365901717
2021-03-30 14:49:19 -07:00
A. Unique TensorFlower 3d8095a5ec Integrate LLVM at llvm/llvm-project@77d81c2270
Updates LLVM usage to match
[77d81c2270c6](https://github.com/llvm/llvm-project/commit/77d81c2270c6)

PiperOrigin-RevId: 365870238
2021-03-30 12:27:56 -07:00
A. Unique TensorFlower f90042321a Integrate LLVM at llvm/llvm-project@c51e91e046
Updates LLVM usage to match
[c51e91e04681](https://github.com/llvm/llvm-project/commit/c51e91e04681)

PiperOrigin-RevId: 365802786
2021-03-30 07:06:04 -07:00
Adrian Kuegel c1a6ae8994 Generalize the HloBinaryElementwiseAdaptor
We can use it also for ternary ops like Select if we change the signature so
that a ValueRange is passed in.
Also remove special casing for HloComplexAdaptor. It can be handled with the
generic adaptor as well.

PiperOrigin-RevId: 365777493
2021-03-30 03:53:53 -07:00
Adrian Kuegel 6388e8d9ee mlir-hlo-opt: set preloadDialectsInContext to false.
This requires specifying dependent dialects in several passes.

PiperOrigin-RevId: 365758084
2021-03-30 01:07:14 -07:00
A. Unique TensorFlower 9ebadc4c4d Integrate LLVM at llvm/llvm-project@482283042f
Updates LLVM usage to match
[482283042f79](https://github.com/llvm/llvm-project/commit/482283042f79)

PiperOrigin-RevId: 365710568
2021-03-29 18:29:48 -07:00
A. Unique TensorFlower 12a82dfe44 Integrate LLVM at llvm/llvm-project@20d5c42e0e
Updates LLVM usage to match
[20d5c42e0ef5](https://github.com/llvm/llvm-project/commit/20d5c42e0ef5)

PiperOrigin-RevId: 365666232
2021-03-29 14:37:03 -07:00
A. Unique TensorFlower 85a306d356 [MLIR][MHLO] Add pattern to inline broadcasted shapes
Simplify reasoning about `cstr_broadcastable` ops in the
`mhlo-move-up-dynamic-broadcasts-for-fusion` pass.

PiperOrigin-RevId: 365560893
2021-03-29 06:32:32 -07:00
A. Unique TensorFlower fb819c1de8 [MLIR][MHLO] Apply patterns in MoveUpDynamicBroadcastsForFusionPass greedily
PiperOrigin-RevId: 365556488
2021-03-29 06:02:06 -07:00