Stephan Herhut
60e1b6882c
Add kernel definition for zeta operation.
...
PiperOrigin-RevId: 355575619
2021-02-04 01:27:43 -08:00
Mahesh Ravishankar
44d0464d16
Use linalg.fill on tensors instead of tensor.generate in MHLO -> Linalg conversion.
...
linalg.fill on tensors is a structured op that allows use tile + fuse
to reduce the fill overhead.
PiperOrigin-RevId: 355490400
2021-02-03 15:03:49 -08:00
Stephan Herhut
6cd1875ee4
Implement lowering of chlo::zeta to mhlo dialect.
...
PiperOrigin-RevId: 355395581
2021-02-03 07:50:05 -08:00
A. Unique TensorFlower
3b67b207c4
[MLIR][CHLO] Use CHLO lowering for `is_inf` op
...
PiperOrigin-RevId: 355189054
2021-02-02 09:53:13 -08:00
A. Unique TensorFlower
0458ae9a22
[MLIR][KernelGen] Add `tf.Digamma` kernels
...
PiperOrigin-RevId: 355129028
2021-02-02 03:07:39 -08:00
A. Unique TensorFlower
f40ccc5b4b
[MLIR][CHLO] Add `chlo.digamma` and lowering to MHLO
...
PiperOrigin-RevId: 355122765
2021-02-02 02:10:17 -08:00
Adrian Kuegel
96f8771ed7
Add MLIR generated kernel for Angle kernel.
...
This also requires a canonicalization pattern to remove a redundant dynamic
reshape from rank 1 to rank 1.
PiperOrigin-RevId: 355113135
2021-02-02 00:47:20 -08:00
A. Unique TensorFlower
816d279be3
[MLIR][CHLO] Simplify conversions with upcast
...
PiperOrigin-RevId: 354975366
2021-02-01 10:48:10 -08:00
Rahul Joshi
8e3890e8e8
[MLIR:HLO] Add AllGather and AllToAll operations to LMHLO dialect.
...
- Use a common base class to for AllReduce, AllGather, and AllToAll in the ODS spec.
- Add basic verification for replica groups attribute.
PiperOrigin-RevId: 354969654
2021-02-01 10:23:46 -08:00
A. Unique TensorFlower
2b72ddc6b2
[MLIR][KernelGen] Add `lgamma` kernels
...
PiperOrigin-RevId: 354519407
2021-01-29 06:14:17 -08:00
Stephan Herhut
e61ef86fdb
Add zeta and broadcasting_zeta to chlo dialect.
...
PiperOrigin-RevId: 354500879
2021-01-29 03:22:52 -08:00
Hanhan Wang
30ce82790d
Upstream mhlo.reduce lowering to Linalg to MHLO repo.
...
In IREE, we use indexed generic op to handle the initial value. However, we
lower it to a generic op that carries an init_tensor here, and leave the handle
of initialization problem to later passes.
PiperOrigin-RevId: 354294807
2021-01-28 05:46:09 -08:00
Lei Zhang
39589add22
Use the correct shape when converting mhlo.reshape
...
If mhlo.reshape is not purely collapsing some consecutive operand
dimensions into result dimensions, we will generate two linalg
reshape op for it: the first one collapses all operand dimensions
into one dimension, and the second one expands it to all result
dimensions. For this case, the number of collapsed/expanded dimensions
should be coming strictly from the operand/result. It is different
from the case where we can generate one linalg reshape. For that case,
the reassociation map should have rank equal to the largest among
operand/result shape.
PiperOrigin-RevId: 354293826
2021-01-28 05:37:54 -08:00
A. Unique TensorFlower
e0a7be7fb1
[MLIR][CHLO] Add `chlo.lgamma` and lowering to `hlo`
...
PiperOrigin-RevId: 354287316
2021-01-28 04:35:03 -08:00
A. Unique TensorFlower
c3ddcd6c7f
[MLIR][CHLO] Implement type inference for `is_inf`-like operations in CHLO
...
PiperOrigin-RevId: 354265834
2021-01-28 01:37:04 -08:00
A. Unique TensorFlower
fe2e5a175f
[MLIR][HLO] Implement type inference for `is_finite` op
...
PiperOrigin-RevId: 354261420
2021-01-28 00:56:12 -08:00
A. Unique TensorFlower
c653db73c5
Integrate LLVM at llvm/llvm-project@c85b6bf33c
...
Updates LLVM usage to match
[c85b6bf33c47](https://github.com/llvm/llvm-project/commit/c85b6bf33c47 )
PiperOrigin-RevId: 354136678
2021-01-27 11:46:07 -08:00
A. Unique TensorFlower
d77c9ad6fa
[MLIR][CHLO] Add `is_inf`, `is_pos_inf`, and `is_neg_inf` to CHLO dialect
...
Also add the respective lowerings to MHLO.
PiperOrigin-RevId: 354101955
2021-01-27 09:00:56 -08:00
Adrian Kuegel
fa059259bc
Add template for tf.Cast
...
Also generate the kernels for all types of casts between signed int and float types.
This requires some adaptations to our build macros so that we can also specify the
output type of a kernel.
PiperOrigin-RevId: 354067727
2021-01-27 04:49:55 -08:00
Rahul Joshi
44deae2aa1
[MLIR:HLO] Extend AllReduce to support multiple inputs and results (to model tuples).
...
- Instead of SameTypeOperands, add custom verification to check if operands and
results pairwise have the same type.
PiperOrigin-RevId: 353986341
2021-01-26 17:25:22 -08:00
A. Unique TensorFlower
ae2d46414d
[MLIR][KernelGen] Add erfc kernel for f16
...
PiperOrigin-RevId: 353209468
2021-01-22 03:38:30 -08:00
A. Unique TensorFlower
ef8ccdaebc
[MLIR] Add mhlo.logistic lowering to linalg
...
PiperOrigin-RevId: 353205440
2021-01-22 03:03:16 -08:00
A. Unique TensorFlower
c846f925d4
[MLIR][KernelGen] Add chlo.erfc lowering for f32
...
PiperOrigin-RevId: 353201886
2021-01-22 02:33:21 -08:00
Hanhan Wang
e2d60e01ba
Fix CMakeLists.txt
...
This is the followup of `7aa64ee0b791` The dep was added in BUILD, but not CMakeLists.txt
PiperOrigin-RevId: 353078811
2021-01-21 12:42:35 -08:00
A. Unique TensorFlower
1a37078132
[MLIR][KernelGen] Add chlo.erfc lowerings for f64
...
PiperOrigin-RevId: 352993223
2021-01-21 04:42:56 -08:00
A. Unique TensorFlower
bec2e625a2
[MLIR][KernelGen] Add approximation lowering for mhlo.erf operation on f64
...
PiperOrigin-RevId: 352977456
2021-01-21 02:48:43 -08:00
Alexander Belyaev
7aa64ee0b7
[MLIR] Migrate TF from STD complex ops to ComplexDialect.
...
PiperOrigin-RevId: 352966408
2021-01-21 01:22:25 -08:00
Stephan Herhut
70a351f301
Add chlo.acosh operation and associated lowerings.
...
PiperOrigin-RevId: 352839289
2021-01-20 11:43:44 -08:00
Jacques Pienaar
a7e645f37e
Fix incorrect include
...
PiperOrigin-RevId: 352820426
2021-01-20 10:24:41 -08:00
Tres Popp
ba0346b071
Integrate LLVM at llvm/llvm-project@96ef4f307d
...
Updates LLVM usage to match
[96ef4f307df2](https://github.com/llvm/llvm-project/commit/96ef4f307df2 )
PiperOrigin-RevId: 352786460
2021-01-20 07:09:47 -08:00
A. Unique TensorFlower
ec5f5667e1
[MLIR][KernelGen] Add `tf.Asinh` kernels and complete their lowerings
...
PiperOrigin-RevId: 352773540
2021-01-20 05:31:15 -08:00
A. Unique TensorFlower
0e85b4d511
[MLIR][KernelGen] Add `tf.Asinh` kernels and complete their lowerings
...
PiperOrigin-RevId: 352604725
2021-01-19 10:51:41 -08:00
A. Unique TensorFlower
96fb617413
[MLIR][KernelGen] Add erf kernel and missing lowering for f16 type
...
PiperOrigin-RevId: 352416184
2021-01-18 08:21:15 -08:00
A. Unique TensorFlower
c11ea4ef5a
[MLIR][KernelGen] Add `tf.Atanh` kernels
...
PiperOrigin-RevId: 352393602
2021-01-18 05:14:09 -08:00
A. Unique TensorFlower
3763740910
[MLIR][KernelGen] Add erf kernel for f32 arguments and missing lowerings
...
PiperOrigin-RevId: 352381016
2021-01-18 03:35:13 -08:00
A. Unique TensorFlower
bcdb3c3548
[MLIR] Lower mhlo.clamp to linalg
...
PiperOrigin-RevId: 351998800
2021-01-15 06:45:38 -08:00
A. Unique TensorFlower
791d5afd28
[MLIR][KernelGen] Add `tf.Asinh` kernels and complete their lowerings
...
PiperOrigin-RevId: 351989552
2021-01-15 05:26:57 -08:00
A. Unique TensorFlower
316f630728
[MLIR][KernelGen] Add cosh kernels and tests
...
Allow for relative tolerance in unary kernel tests. In case of the cosh kernels,
this allows to accept an observed difference of 5.6e-8 between the kernel and
the `std::cosh` reference (32829984.568665262 vs. 32829984.568665318) in one of
the test cases.
PiperOrigin-RevId: 351983698
2021-01-15 04:31:30 -08:00
A. Unique TensorFlower
181d2cad31
[MLIR][KernelGen] Add `tf.Log1p` kernel and tests
...
PiperOrigin-RevId: 351566460
2021-01-13 05:37:25 -08:00
Hanhan Wang
300a7c11ce
Upstream mhlo.dot_general lowering to Linalg to MHLO repo
...
PiperOrigin-RevId: 351514250
2021-01-12 22:08:46 -08:00
A. Unique TensorFlower
97a618f91a
Integrate LLVM at llvm/llvm-project@6f4d460762
...
Updates LLVM usage to match
[6f4d46076200](https://github.com/llvm/llvm-project/commit/6f4d46076200 )
PiperOrigin-RevId: 351474229
2021-01-12 16:38:25 -08:00
A. Unique TensorFlower
0b85d5c510
[MLIR][KernelGen] Add asin kernels and tests
...
PiperOrigin-RevId: 351381423
2021-01-12 09:02:46 -08:00
Hanhan Wang
8f58f844e5
Upstream mhlo.dot lowering to Linalg to MHLO repo.
...
We prototyped the lowering from mhlo.dot to linalg.matmul in IREE. Since Linalg
now supports matmul in tensors world, we can move the lowering logic to tensors
world, and upstream to legalize_to_linalg.cc. The patch lowers the mhlo.dot to
the linalg.matmul/matvec/dot in tensors world.
PiperOrigin-RevId: 351184911
2021-01-11 10:35:24 -08:00
Alexander Belyaev
180f917446
[KERNEL_GEN] Add a pattern for hlo.dyn_broadcast->linalg to enable is_inf kernel.
...
PiperOrigin-RevId: 351179620
2021-01-11 10:13:31 -08:00
Alexander Belyaev
ecf1bf5132
[KERNEL_GEN] Add a canonicalization pattern to drop a redundant dynamic reshape.
...
PiperOrigin-RevId: 351141868
2021-01-11 06:38:03 -08:00
Alexander Belyaev
6c42f54298
[KERNEL_GEN] Restrict broadcast -> reshape canonicalization to identity dims.
...
This is needed to avoid the case, when the broadcast_in_dims also performs permutation.
PiperOrigin-RevId: 350650342
2021-01-07 15:30:28 -08:00
Alexander Belyaev
095dc28e5c
[KERNEL_GEN] Add canonicalizaton pattern to drop a redundant broadcast op.
...
PiperOrigin-RevId: 350105790
2021-01-05 03:01:00 -08:00
Adrian Kuegel
50fc56a208
Fix header include.
...
It should not have the third_party prefix, this doesn't work in open source.
PiperOrigin-RevId: 348905548
2020-12-24 01:40:31 -08:00
A. Unique TensorFlower
b0bf2ef45b
Integrate LLVM at llvm/llvm-project@c3acda0798
...
Updates LLVM usage to match
[c3acda0798f9](https://github.com/llvm/llvm-project/commit/c3acda0798f9 )
PiperOrigin-RevId: 348896724
2020-12-23 23:53:54 -08:00
Stephan Herhut
ccdd07f8e4
Prepare to remove tensor_load and tensor_store special handling from hlo to lhlo legalization.
...
This updates the tests to no longer rely on tensor_store. Once all users of this behavior have adopted, the tensor_store support will be removed.
PiperOrigin-RevId: 348624899
2020-12-22 06:29:12 -08:00
A. Unique TensorFlower
c4accdcc41
Integrate LLVM at llvm/llvm-project@1b97cdf885
...
Updates LLVM usage to match
[1b97cdf885d6](https://github.com/llvm/llvm-project/commit/1b97cdf885d6 )
PiperOrigin-RevId: 348587513
2020-12-21 23:49:18 -08:00
Tres Popp
a42213b870
Define lowering of [l]mhlo.pow.
...
For floating point operations, this uses std.pow.
For integer operations, this lowers to a loop.
This adds a dependency on scf.
PiperOrigin-RevId: 348537232
2020-12-21 15:27:40 -08:00
Smit Hinsu
9466cffaf3
Restrict CHLO Acos and Sinh op lowering to non complex types
...
These are failing for complex types. Complex types require special handling. We have a fallback lowering for these ops so we can disable complex element types for now.
PiperOrigin-RevId: 348205002
2020-12-18 11:32:10 -08:00
Smit Hinsu
8d051723c0
Use InferTypeOpInterface for HLO AbsOp and fix result shape inference
...
Shape inference in case of ops with complex element types need to use the element type of complex as the result element type and not the full operand type.
Before:
"mhlo.abs"(%arg0) : (tensor<4xcomplex<f32>>) -> tensor<4xtensor<4xcomplex<f32>>>
After:
"mhlo.abs"(%arg0) : (tensor<4xcomplex<f32>>) -> tensor<4xf32>
PiperOrigin-RevId: 348123967
2020-12-17 17:37:07 -08:00
Smit Hinsu
737d15ded5
Handle operands with zero elements in HLO PadOp folder
...
PiperOrigin-RevId: 348034821
2020-12-17 09:27:36 -08:00
Christian Sigg
dc7e63f74c
Use mlir::OpState::operator->() to get to methods of mlir::Operation.
...
This is a preparation step to remove those methods from OpState.
PiperOrigin-RevId: 348010582
2020-12-17 06:29:33 -08:00
Christian Sigg
099c130daf
Fix MLIR include paths.
...
PiperOrigin-RevId: 347976151
2020-12-17 00:56:04 -08:00
A. Unique TensorFlower
5da9190dd9
Integrate LLVM at llvm/llvm-project@0cf7e4b252
...
Updates LLVM usage to match
[0cf7e4b252fe](https://github.com/llvm/llvm-project/commit/0cf7e4b252fe )
PiperOrigin-RevId: 347948887
2020-12-16 20:30:17 -08:00
Adrian Kuegel
61244b136c
Try to avoid a segfault if we don't support a lowering.
...
It can happen that a lowering for a certain type is not implemented yet.
We should not segfault in such a case, but instead return a failure().
PiperOrigin-RevId: 347801106
2020-12-16 04:58:17 -08:00
Alexander Belyaev
e6e8920921
[KERNEL_GEN] Switch the pipeline to Linalg-on-Tensors.
...
PiperOrigin-RevId: 347781190
2020-12-16 01:51:15 -08:00
Tres Popp
6d7812bbc5
Correct non ConversionRewriter transformation in LegalizeToLinalg
...
PiperOrigin-RevId: 347622657
2020-12-15 08:56:58 -08:00
Alexander Belyaev
ddda2699fb
[KERNEL_GEN] Switch the pipeline to Linalg-on-Tensors.
...
PiperOrigin-RevId: 347600145
2020-12-15 06:32:25 -08:00
River Riddle
9540e51617
[mlir][NFC] Replace usages or mlir/IR/StandardTypes.h with mlir/IR/BuiltinTypes.h
...
StandardTypes.h was moved to BuiltinTypes.h and is being removed.
PiperOrigin-RevId: 347559927
2020-12-15 00:59:29 -08:00
Tres Popp
9df327d88f
Forward listeners in LhloLegalizeToParallelLoops builders
...
PiperOrigin-RevId: 347554379
2020-12-15 00:13:15 -08:00
Hanhan Wang
1a58f19664
[NFC] Make function names follow style guide.
...
Functions should start with a capital letter and have a capital letter for each
new word. See https://google.github.io/styleguide/cppguide.html#Function_Names
PiperOrigin-RevId: 347420402
2020-12-14 10:46:55 -08:00
Alexander Belyaev
8b35a75d4a
[KERNEL_GEN] Switch the pipeline to Linalg-on-Tensors.
...
PiperOrigin-RevId: 347368063
2020-12-14 05:46:47 -08:00
River Riddle
6b439f7eee
[mlir][NFC] Replace usages or mlir/IR/StandardTypes.h with mlir/IR/BuiltinTypes.h
...
StandardTypes.h was moved to BuiltinTypes.h and is being removed.
PiperOrigin-RevId: 347115952
2020-12-11 19:01:25 -08:00
Smit Hinsu
ab6ee11813
Fix folding of HLO SliceOp with zero elements
...
This was causing division by zero in this case.
PiperOrigin-RevId: 346920942
2020-12-10 20:22:48 -08:00
Rahul Joshi
f232da1f9d
[MLIR:HLO] Add window_reversal attribute to convolution attributes.
...
- Add this attribute to match the corresponding XLA HLO attribute on convolution
operations.
- A true value indicates a reversal of the corresponding kernel spatial dimension.
- Since XLA builder does not support this attribute, use a custom HLO converted to map
from mlir::mhlo::ConvOp to XLA.
PiperOrigin-RevId: 346891737
2020-12-10 16:39:19 -08:00
Christian Sigg
51f535454d
Use OpState::operator->() to get to member functions in Operation so we can remove the corresponding methods from OpState.
...
PiperOrigin-RevId: 346721668
2020-12-09 23:54:07 -08:00
Alexander Belyaev
c36afd275e
[HLO] Add a pattern for HLO ConstOp to HLO -> Linalg conversion.
...
PiperOrigin-RevId: 346718273
2020-12-09 23:24:57 -08:00
Alexander Belyaev
e9057cbd93
[mlir] Enable conversion of HLO SignOp to Linalg.
...
PiperOrigin-RevId: 346380514
2020-12-08 12:08:26 -08:00
Stephan Herhut
c3790af758
Add plumbing for or and xor to hlo to lhlo and linalg lowerings.
...
PiperOrigin-RevId: 346311314
2020-12-08 06:39:02 -08:00
Stephan Herhut
dd5895d083
Extend unranked hlo transformations to also support and, or and xor.
...
PiperOrigin-RevId: 346270393
2020-12-08 01:00:26 -08:00
Benjamin Kramer
5235eceea0
Lower mhlo shifts to linalg
...
PiperOrigin-RevId: 346161253
2020-12-07 13:02:32 -08:00
Tres Popp
d327fc5737
[kernel_gen] Lower max rank specialization from 6 to 5
...
We don't care much about rank 6 broadcasting operations and this lowers compile times significantly.
PiperOrigin-RevId: 346046601
2020-12-07 02:18:38 -08:00
Smit Hinsu
bc7b6374c8
Fix handling of negative seeds in random number generator op kernels for XLA
...
Casting negative s32 number to u64 directly will have leading 1s in the representation which is not what we want to get a single u64 out of two s32 seeds. Fixed this by first getting unsigned number of the same bit-width.
PiperOrigin-RevId: 345902167
2020-12-05 18:55:41 -08:00
Phoenix Meadowlark
c33bdcbd03
Remove fold of `mhlo.compare(%arg0, %arg0)` for floating types.
...
Two tensors having the same SSA-value isn't sufficient for equality for floating types, as `NaN != NaN`. As written this causes `tf.IsNan` to [miscompile](https://github.com/google/iree/issues/4061 ).
PiperOrigin-RevId: 345730640
2020-12-04 12:15:02 -08:00
Smit Hinsu
9bd1995f90
Legalize XlaReplicaId to HLO replica-id op
...
Also, define shape inference function for HLO replica-id op.
PiperOrigin-RevId: 345714342
2020-12-04 11:04:40 -08:00
A. Unique TensorFlower
e87d53742b
Fix handling of negative seeds in random number generator op kernels for XLA
...
Casting negative s32 number to u64 directly will have leading 1s in the representation which is not what we want to get a single u64 out of two s32 seeds. Fixed this by first getting unsigned number of the same bit-width.
PiperOrigin-RevId: 345618958
2020-12-04 00:04:10 -08:00
Smit Hinsu
9456af5880
Fix handling of negative seeds in random number generator op kernels for XLA
...
Casting negative s32 number to u64 directly will have leading 1s in the representation which is not what we want to get a single u64 out of two s32 seeds. Fixed this by first getting unsigned number of the same bit-width.
PiperOrigin-RevId: 345605910
2020-12-03 22:09:56 -08:00
Tres Popp
7c3f049c8e
[kernel_gen] Lower max rank specialization from 6 to 5
...
We don't care much about rank 6 broadcasting operations and this lowers compile times significantly.
PiperOrigin-RevId: 345466476
2020-12-03 09:19:25 -08:00
Rahul Joshi
dbbdfea95b
[MLIR:HLO] Generate enum decls for HLO and LHLO GPU dialects.
...
- Split out enum definitions in hlo dialect into a separate .td file (similar to structs)
and generate enum decl/defs for these enums.
- Also split out the LHLO GPU enums into a separate .td file and generate enum
decl/defs for these enums as well.
- Remove unused dialect from ConvolutionAttributes and generate lhlo_gpu enums.
- Add appropriate namespace for all the enums.
PiperOrigin-RevId: 345277240
2020-12-02 11:39:23 -08:00
A. Unique TensorFlower
1b711670bc
Fix handling of negative seeds in random number generator op kernels for XLA
...
Casting negative s32 number to u64 directly will have leading 1s in the representation which is not what we want to get a single u64 out of two s32 seeds. Fixed this by first getting unsigned number of the same bit-width.
PiperOrigin-RevId: 345239817
2020-12-02 08:42:07 -08:00
Smit Hinsu
733fc6d032
Fix handling of negative seeds in random number generator op kernels for XLA
...
Casting negative s32 number to u64 directly will have leading 1s in the representation which is not what we want to get a single u64 out of two s32 seeds. Fixed this by first getting unsigned number of the same bit-width.
PiperOrigin-RevId: 345227848
2020-12-02 07:24:10 -08:00
River Riddle
f89244381d
[mlir][NFC] Replace usages of Function.h and Module.h with BuiltinOps.h
...
This is part of a larger refactoring cleaning up the BuiltinDialect of MLIR.
PiperOrigin-RevId: 345085278
2020-12-01 13:18:06 -08:00
A. Unique TensorFlower
dd15c6cd84
[MLIR][KernelGen] Generate assertion message in `transform_unranked_hlo` pass
...
Use constant to generate the correct assertion message. This avoids
confusion when lowering the max rank specialization for debugging.
PiperOrigin-RevId: 344769021
2020-11-30 01:41:09 -08:00
Adrian Kuegel
d14c63da54
Add a canonicalization pattern to remove redundant dynamic_reshapes.
...
PiperOrigin-RevId: 344517381
2020-11-27 04:46:50 -08:00
Stephan Herhut
f183e95e69
Register the new branch op rewrite patterns in hlo to lhlo conversion
...
for good measure.
PiperOrigin-RevId: 344512196
2020-11-27 03:44:28 -08:00
Adrian Kuegel
6a71a84302
Support different input/output type for TransformUnrankedHlo.
...
Also generate the tf.Equal kernel, now that it works.
PiperOrigin-RevId: 344402014
2020-11-26 04:20:34 -08:00
Alexander Belyaev
5583c63cab
[KERNEL_GEN] Add unranked Conj kernel.
...
PiperOrigin-RevId: 344243271
2020-11-25 06:37:26 -08:00
Lucy Fox
85f92a1651
[KernelGen] Lower tf.Erf and tf.Erfc ops to CHLO.
...
This does not include the lowerings from CHLO to LMHLO.
PiperOrigin-RevId: 344091604
2020-11-24 10:55:43 -08:00
A. Unique TensorFlower
7f239c7ba2
Add canonicalizer for Reshape(Broadcast(X)) pattern when it is an identity sequence
...
PiperOrigin-RevId: 343251257
2020-11-19 02:32:45 -08:00
A. Unique TensorFlower
bba9968ff0
Integrate LLVM at llvm/llvm-project@499bce3aba
...
Updates LLVM usage to match
[499bce3abab8](https://github.com/llvm/llvm-project/commit/499bce3abab8 )
PiperOrigin-RevId: 342921326
2020-11-17 12:30:18 -08:00
A. Unique TensorFlower
7a6a6ffa40
Integrate LLVM at llvm/llvm-project@65f3e121fe
...
Updates LLVM usage to match
[65f3e121fe4f](https://github.com/llvm/llvm-project/commit/65f3e121fe4f )
PiperOrigin-RevId: 342859791
2020-11-17 07:38:03 -08:00
Stephan Herhut
0c7152e65c
Extend fusion root heuristic to also work in partially bufferized programs.
...
We now follow data flow though tensor_cast, tensor_load and tensor_to_memref
operations.
PiperOrigin-RevId: 342851104
2020-11-17 06:34:48 -08:00
Tres Popp
be9ae88eaa
Consider aliases through control flow for lhlo-fuse-linalg.
...
This should handle scf.if and shape.assuming regions,
which we care about in kernel_gen.
PiperOrigin-RevId: 342584762
2020-11-16 01:12:45 -08:00
Ben Vanik
88a5bde51f
Fixing M_PI compile error on MSVC.
...
M_PI and other math constants (used in chlo_legalize_hlo_patterns.td)
are not part of the C++ standard and must be enabled on MSVC
(similar to _GNU_SOURCE adding glibc symbols to posix headers).
PiperOrigin-RevId: 342432987
2020-11-14 10:02:04 -08:00
Smit Hinsu
d0901a83e5
Enable fallback legalization for MaxPoolGradGrad and MaxPool3DGradGrad ops
...
Requires,
* Override for ReducePrecision in HloMlirBuilder
* Sinking of constants for ReduceWindow op
PiperOrigin-RevId: 342330848
2020-11-13 13:49:05 -08:00
Stephan Herhut
c344695bca
Properly configure patterns in hlo to lhlo conversion with typeconverter.
...
Otherwise, materializations for partial conversions do not work.
PiperOrigin-RevId: 342215962
2020-11-13 00:58:51 -08:00