Commit Graph

442 Commits

Author SHA1 Message Date
Robert Suderman a926e0f040 Removed Op(Complex, Real) lowering to address complex type inference issue
Lowerings that depended on operations between real and complex types may
not infer the correct intermediate type. Removing these operations as
they are not technically legally generated operations. Updated tests
to validate this.

PiperOrigin-RevId: 341128903
2020-11-06 15:24:23 -08:00
A. Unique TensorFlower 3dcd8b4ba2 Integrate LLVM at llvm/llvm-project@d0b8810fe4
Updates LLVM usage to match
[d0b8810fe4ec](https://github.com/llvm/llvm-project/commit/d0b8810fe4ec)

PiperOrigin-RevId: 341081862
2020-11-06 11:09:07 -08:00
A. Unique TensorFlower d72a022063 Integrate LLVM at llvm/llvm-project@0e76a9bc58
Updates LLVM usage to match
[0e76a9bc5834](https://github.com/llvm/llvm-project/commit/0e76a9bc5834)

PiperOrigin-RevId: 341056157
2020-11-06 08:49:12 -08:00
Marius Brehler f09db1fea0 PR #44589: Introduce MHLO_BUILD_EMBEDDED build option
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/44589

This option allows to skip calling `find_package(MLIR)`, enabling to
embed MHLO into other project, e.g. IREE.
Copybara import of the project:

--
715299e594c95ce9d4f45dc154ba8a4acb196289 by Marius Brehler <marius.brehler@iml.fraunhofer.de>:

Introduce MHLO_BUILD_EMBEDDED build option

This option allows to skip calling `find_package(MLIR)`, enabling to
embed MHLO into other project, e.g. IREE.

--
6a9cd1adb69dfd27e4306566085c2edcb9e266bf by Marius Brehler <marius.brehler@iml.fraunhofer.de>:

Update tensorflow/compiler/mlir/hlo/CMakeLists.txt

Co-authored-by: Geoffrey Martin-Noble <gcmn@google.com>
PiperOrigin-RevId: 341046504
2020-11-06 07:40:28 -08:00
Tres Popp af4c9774dc Handle rank 1 broadcasts in unranked kernel lowering.
Previously this started at rank 2 after checking for scalars and equal shapes. This resulted in cases such as <1xf32> + <2xf32> being treated as impossible.

PiperOrigin-RevId: 341043965
2020-11-06 07:22:43 -08:00
A. Unique TensorFlower c30ea47682 Integrate LLVM at llvm/llvm-project@4d79ef814a
Updates LLVM usage to match
[4d79ef814aed](https://github.com/llvm/llvm-project/commit/4d79ef814aed)

PiperOrigin-RevId: 341037948
2020-11-06 06:26:56 -08:00
A. Unique TensorFlower 209dc24a44 Integrate LLVM at llvm/llvm-project@624d3fe0e4
Updates LLVM usage to match
[624d3fe0e41e](https://github.com/llvm/llvm-project/commit/624d3fe0e41e)

PiperOrigin-RevId: 341030651
2020-11-06 05:18:35 -08:00
A. Unique TensorFlower d134a92e2d Integrate LLVM at llvm/llvm-project@930cf1cb9f
Updates LLVM usage to match
[930cf1cb9fdb](https://github.com/llvm/llvm-project/commit/930cf1cb9fdb)

PiperOrigin-RevId: 340985671
2020-11-05 21:45:35 -08:00
A. Unique TensorFlower 88a3bcbc72 Integrate LLVM at llvm/llvm-project@bb43a0cd4a
Updates LLVM usage to match
[bb43a0cd4adc](https://github.com/llvm/llvm-project/commit/bb43a0cd4adc)

PiperOrigin-RevId: 340963390
2020-11-05 18:04:21 -08:00
A. Unique TensorFlower 2d9022497f Integrate LLVM at llvm/llvm-project@2eadbc8614
Updates LLVM usage to match
[2eadbc86142b](https://github.com/llvm/llvm-project/commit/2eadbc86142b)

PiperOrigin-RevId: 340930608
2020-11-05 14:37:20 -08:00
A. Unique TensorFlower 7858fe51af Integrate LLVM at llvm/llvm-project@2f84b59a4c
Updates LLVM usage to match
[2f84b59a4cf9](https://github.com/llvm/llvm-project/commit/2f84b59a4cf9)

PiperOrigin-RevId: 340842817
2020-11-05 06:53:35 -08:00
A. Unique TensorFlower 4c58c6a7cd Integrate LLVM at llvm/llvm-project@b715fa330d
Updates LLVM usage to match
[b715fa330dfa](https://github.com/llvm/llvm-project/commit/b715fa330dfa)

PiperOrigin-RevId: 340833409
2020-11-05 05:35:30 -08:00
Dmitry Volodin 1821c69910 PR #44405: Fix typos in compiler directory
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/44405

Splitting #43857 by top-level directories.
Copybara import of the project:

--
fa5da7d5478649d11321dcac9f867b0a57e4798a by Dmitry Volodin <mr.molkree@gmail.com>:

fix typos in compiler dir

--
4d3c9f047f7ecb8ab299f1bf28a86fd39096eee7 by Dmitry Volodin <mr.molkree@gmail.com>:

fix one test as "atleast" in it comes from Bazel

--
9440ebaaa9fc4a735f7f72f0c8f0de4ec58afbd6 by Dmitry Volodin <mr.molkree@gmail.com>:

a bit more

PiperOrigin-RevId: 340819994
2020-11-05 03:31:54 -08:00
A. Unique TensorFlower 5f9c75c273 Integrate LLVM at llvm/llvm-project@5b29d26b21
Updates LLVM usage to match
[5b29d26b21bb](https://github.com/llvm/llvm-project/commit/5b29d26b21bb)

PiperOrigin-RevId: 340714785
2020-11-04 13:19:10 -08:00
Alexander Belyaev 3d930d08c2 [HLO] Delete LHLO memref cast ops and migrate to STD ones.
PiperOrigin-RevId: 340663578
2020-11-04 09:26:34 -08:00
Richard Uhler 82031b356c Improve error message for improperly shaped slice indices.
The slice indices must be rank-1 and have the same number of elements of the
rank of the operand. Give reasonable error messages for violations of these
requirements instead of a misleading error message that the types of the
indices don't all match.

PiperOrigin-RevId: 340660822
2020-11-04 09:10:51 -08:00
A. Unique TensorFlower f9c87731d9 Integrate LLVM at llvm/llvm-project@76313288cd
Updates LLVM usage to match
[76313288cd7d](https://github.com/llvm/llvm-project/commit/76313288cd7d)

PiperOrigin-RevId: 340648011
2020-11-04 07:56:48 -08:00
A. Unique TensorFlower 52b8c9e4c4 Integrate LLVM at llvm/llvm-project@8475fa6ed6
Updates LLVM usage to match
[8475fa6ed6bb](https://github.com/llvm/llvm-project/commit/8475fa6ed6bb)

PiperOrigin-RevId: 340635950
2020-11-04 06:22:16 -08:00
A. Unique TensorFlower 2cc16c5f71 Integrate LLVM at llvm/llvm-project@33945cdd62
Updates LLVM usage to match
[33945cdd62c4](https://github.com/llvm/llvm-project/commit/33945cdd62c4)

PiperOrigin-RevId: 340556042
2020-11-03 17:26:06 -08:00
Marius Brehler ff9b8c6f65 PR #44499: Add missing dep on MLIRMhloPassIncGen target
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/44499

The file `sink_constants_to_control_flow.cc` includes the header
`PassDetail.h`, which itself includes `mhlo_passes.h.inc`. The latter is
not guaranteed to be already generated since there was no dependency set
to MLIRMhloPassIncGen.
Copybara import of the project:

--
0ff51ccc88c1ba049eb2e9555afb54079bea39c9 by Marius Brehler <marius.brehler@iml.fraunhofer.de>:

Add missing dep on MLIRMhloPassIncGen target

The file `sink_constants_to_control_flow.cc` includes the header
`PassDetail.h`, which itself includes `mhlo_passes.h.inc`. The latter is
not guaranteed to be already generated since there was no dependency set
to MLIRMhloPassIncGen.

PiperOrigin-RevId: 340485068
2020-11-03 11:18:48 -08:00
A. Unique TensorFlower 880ebcffbb Integrate LLVM at llvm/llvm-project@701456b523
Updates LLVM usage to match
[701456b52355](https://github.com/llvm/llvm-project/commit/701456b52355)

PiperOrigin-RevId: 340477025
2020-11-03 10:43:14 -08:00
Sean Silva d3ea3abdec Remove `results_escape_functions` from HloLegalizeToLhlo
PiperOrigin-RevId: 340464958
2020-11-03 09:49:56 -08:00
A. Unique TensorFlower 46dac6955b Integrate LLVM at llvm/llvm-project@756f597841
Updates LLVM usage to match
[756f59784108](https://github.com/llvm/llvm-project/commit/756f59784108)

PiperOrigin-RevId: 340340747
2020-11-02 16:32:38 -08:00
A. Unique TensorFlower e866aac3ac Integrate LLVM at llvm/llvm-project@72ddd559b8
Updates LLVM usage to match
[72ddd559b8aa](https://github.com/llvm/llvm-project/commit/72ddd559b8aa)

PiperOrigin-RevId: 340292055
2020-11-02 12:29:52 -08:00
Tres Popp 81e8d778c4 Fix bug using std.rank instead of shape.rank
PiperOrigin-RevId: 339890070
2020-10-30 09:59:24 -07:00
Tres Popp 76b30fd426 Move unranked chlo lowering to transform_unranked_hlo.
Additionally:
- Forward listeners through new if/else op builders.
This corrects an error that led to incomplete legalization of broadcasted op
lowering.
- Use OpConversionPattern to ensure up to date operand values are used.
PiperOrigin-RevId: 339838833
2020-10-30 02:56:44 -07:00
A. Unique TensorFlower e188ef10f2 Integrate LLVM at llvm/llvm-project@9bb9b737c5
Updates LLVM usage to match
[9bb9b737c557](https://github.com/llvm/llvm-project/commit/9bb9b737c557)

PiperOrigin-RevId: 339799862
2020-10-29 20:28:56 -07:00
Thomas Joerg e888b04a5c Integrate LLVM at llvm/llvm-project@6648414b2b
Updates LLVM usage to match
[6648414b2b7d](https://github.com/llvm/llvm-project/commit/6648414b2b7d)

PiperOrigin-RevId: 339727680
2020-10-29 12:53:05 -07:00
Nicolas Vasilache 880f603239 Drop OperationFolder usage with Linalg fusion.
PiperOrigin-RevId: 339653466
2020-10-29 06:10:14 -07:00
Thomas Joerg 3a6580bf75 Integrate LLVM at llvm/llvm-project@4d11daa659
Updates LLVM usage to match
[4d11daa659a1](https://github.com/llvm/llvm-project/commit/4d11daa659a1)

PiperOrigin-RevId: 339631220
2020-10-29 03:02:38 -07:00
A. Unique TensorFlower fcb6b5d395 Integrate LLVM at llvm/llvm-project@23ed570af1
Updates LLVM usage to match
[23ed570af1cc](https://github.com/llvm/llvm-project/commit/23ed570af1cc)

PiperOrigin-RevId: 339608894
2020-10-28 23:25:33 -07:00
Benjamin Kramer 3bf4277ea4 [MLIR] Add a lmhlo.reduce -> linalg.generic converter
Doesn't support tensors right now, as it's somewhat hairy to support both at
the same time. Since we use a generic lowering the result is messy
and needs a mem2reg pass to eliminate extra load/store/allocas.

PiperOrigin-RevId: 339562971
2020-10-28 16:38:19 -07:00
A. Unique TensorFlower e58bfd48e6 Integrate LLVM at llvm/llvm-project@87f03e13ce
Updates LLVM usage to match
[87f03e13ce0e](https://github.com/llvm/llvm-project/commit/87f03e13ce0e)

PiperOrigin-RevId: 339528247
2020-10-28 13:38:56 -07:00
Alex Zinenko e77b5ae534 Update MLIR ODS syntax to use OpBuidlerDAG instead of OpBuilder
The latter has been deprecated in favor of the former and will be removed.

PiperOrigin-RevId: 339523966
2020-10-28 13:16:46 -07:00
Adrian Kuegel 0052913775 Integrate LLVM at llvm/llvm-project@c56bbb3961
Updates LLVM usage to match
[c56bbb3961e4](https://github.com/llvm/llvm-project/commit/c56bbb3961e4)

PiperOrigin-RevId: 339442735
2020-10-28 05:47:50 -07:00
A. Unique TensorFlower 91b8e58cc1 Integrate LLVM at llvm/llvm-project@2e1a737f46
Updates LLVM usage to match
[2e1a737f4646](https://github.com/llvm/llvm-project/commit/2e1a737f4646)

PiperOrigin-RevId: 339375372
2020-10-27 18:54:52 -07:00
Kazuaki Ishizaki 5f2b7a74be PR #44277: NFC - minor spelling tweaks of documents under compiler directory
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/44277

This PR addresses minor spelling tweaks of md/td files under compiler directory
Copybara import of the project:

--
4fedebde8f7d48ce2917642ebaab966c9ce49f3e by Kazuaki Ishizaki <ishizaki@jp.ibm.com>:

minor spelling tweaks

PiperOrigin-RevId: 339260830
2020-10-27 09:08:22 -07:00
Thomas Joerg 7363748bae Integrate LLVM at llvm/llvm-project@0fc1aa22ee
Updates LLVM usage to match
[0fc1aa22ee6a](https://github.com/llvm/llvm-project/commit/0fc1aa22ee6a)

PiperOrigin-RevId: 339239851
2020-10-27 06:56:16 -07:00
Benjamin Kramer b7aa01dbe0 Integrate LLVM at llvm/llvm-project@26750a1264
Updates LLVM usage to match
[26750a1264b3](https://github.com/llvm/llvm-project/commit/26750a1264b3)

PiperOrigin-RevId: 339127601
2020-10-26 15:11:52 -07:00
Smit Hinsu 6eda9ed273 Add compare_type optional attribute to CompareOp in HLO dialects
If unspecified, `compare_type` is FLOAT for float element types, SIGNED for signed element types and UNSIGNED for unsigned element types. compare_type can be TOTALORDER for float element types.

- Added import and export support the attribute.
- Restricted legalization from HLO to TF to the default compare types.
- Updated existing usage of the CompareOp

PiperOrigin-RevId: 339099219
2020-10-26 12:58:29 -07:00
Richard Uhler f9843fabe1 Use InferTypeOpInterface for HLO_SliceOp.
Instead of having a custom builder to construct a slice op without an explicit
return type.

PiperOrigin-RevId: 339058864
2020-10-26 09:54:13 -07:00
Hanhan Wang 444fae9bac [NFC] Make naming style consistent.
Use lowercase with underscores between words instead of camelStyle.

PiperOrigin-RevId: 338722328
2020-10-23 12:23:25 -07:00
Benjamin Kramer 31c1c3aa1f Integrate LLVM at llvm/llvm-project@c89447b659
Updates LLVM usage to match
[c89447b65984](https://github.com/llvm/llvm-project/commit/c89447b65984)

PiperOrigin-RevId: 338560059
2020-10-22 15:23:24 -07:00
A. Unique TensorFlower 639324cf99 Internal change
PiperOrigin-RevId: 338486689
2020-10-22 09:22:38 -07:00
Sean Silva c3f4ab06d3 Use OpConversionPattern instead of BufferizeOpConversionPattern
As described in mlir/Transforms/Bufferize.h, patterns that don't need the special methods on a BufferizeTypeConverter should use a regular OpConversionPattern.

PiperOrigin-RevId: 338424819
2020-10-22 01:20:43 -07:00
A. Unique TensorFlower 51684a3833 Internal change
PiperOrigin-RevId: 338280259
2020-10-21 09:39:51 -07:00
A. Unique TensorFlower 7c45388930 Integrate LLVM at llvm/llvm-project@6154c4115c
Updates LLVM usage to match
[6154c4115cd4](https://github.com/llvm/llvm-project/commit/6154c4115cd4)

PiperOrigin-RevId: 338262655
2020-10-21 07:56:48 -07:00
Roman Dzhabarov ae00ae487c [mlir] Simplify DDR matching patterns with equal operands for operators.
This https://reviews.llvm.org/D89254 diff introduced implicit matching between same name arguments. Modify usages accordingly.

PiperOrigin-RevId: 338090110
2020-10-20 10:47:09 -07:00
A. Unique TensorFlower 33c450e4cb Fix the MHLO to LMHLO lowering of 'gather'
The lowering assumes that the 'gather' op attributes are identical in both MHLO and LMHLO. But that's not true; some time ago the MHLO version was changed to pack 4 of its attributes into a struct. By doing the same for the LMHLO version we both fix the lowering for this op and resolve a longstanding TODO.

PiperOrigin-RevId: 337943946
2020-10-19 15:14:05 -07:00
A. Unique TensorFlower 204cf7d544 Integrate LLVM at llvm/llvm-project@f402e682d0
Updates LLVM usage to match
[f402e682d0ef](https://github.com/llvm/llvm-project/commit/f402e682d0ef)

PiperOrigin-RevId: 337872985
2020-10-19 09:34:40 -07:00