mlir-hlo/lib/Dialect/mhlo/transforms
Wenyi Zhao 34dc5f2a79 PR #50020: [MLIR][DISC] support fusion on buffer
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/50020

This pass implements the logic to group kLoop/kInput fusion patterns on
buffer level. The reason for this is that we can avoid a lot of
headaches to handle `shape-only` consumers specially (e.g. memref.dim,
shape.shapeOf) since shapes are already resolved in buffer world. It may
be better to move this pass to tensor level after more shape
inference/constraint infras are ready on mhlo level.
Copybara import of the project:

--
e31f8344b59aa9860097197585215ea1689b8ff4 by Wenyi Zhao <reyizero@gmail.com>:

[MLIR][DISC] support fusion on buffer

This pass implements the logic to group kLoop/kInput fusion patterns on
buffer level. The reason for this is that we can avoid a lot of
headaches to handle `shape-only` consumers specially (e.g. memref.dim,
shape.shapeOf) since shapes are already resolved in buffer world. It may
be better to move this pass to tensor level after more shape
inference/constraint infras are ready on mhlo level.

--
35f2eb2791241b0ab5db1ddcaf1b4006278ddccf by Wenyi Zhao <reyizero@gmail.com>:

fix

--
923c8d61f7fe00a2a0df22d5be396508f0667964 by Wenyi Zhao <reyizero@gmail.com>:

fix sanity check failure

PiperOrigin-RevId: 379743424
2021-06-16 09:51:29 -07:00
..
CMakeLists.txt PR #50020: [MLIR][DISC] support fusion on buffer 2021-06-16 09:51:29 -07:00
broadcast_propagation.cc [MLIR][HLO] Annotate `mhlo.clamp` and `mhlo.select` as element-wise broadcasting 2021-06-16 07:59:26 -07:00
chlo_legalize_to_hlo.cc Fix Cosh approximation for F16. 2021-06-10 06:16:44 -07:00
chlo_legalize_to_hlo_pass.cc Separate CHLO transforms for expanding compositions and lowering broadcasts. 2021-05-18 13:33:59 -07:00
chlo_legalize_to_hlo_patterns.td Fix Cosh approximation for F16. 2021-06-10 06:16:44 -07:00
fusion_utils.cc PR #50020: [MLIR][DISC] support fusion on buffer 2021-06-16 09:51:29 -07:00
hlo_legalize_to_lhlo.cc PR #50236: [MLIR][DISC] Bufferize TransposeOp and ConcatenateOp 2021-06-14 12:37:45 -07:00
legalize_control_flow.cc Allow variadic operands/result in MHLO while 2021-06-11 13:08:28 -07:00
legalize_gather_to_torch_index_select.cc Integrate LLVM at llvm/llvm-project@b24436ac96 2021-03-23 12:20:17 -07:00
legalize_tensor_load_op.cc PR #49598: [MLIR][DISC] legalize tensor_load inserted during hlo-to-lhlo conversion 2021-06-01 16:27:56 -07:00
legalize_to_linalg.cc Add support for lowering DataMovementOp ops to Linalg on unsigned types. 2021-06-15 10:58:22 -07:00
legalize_to_standard.cc Integrate LLVM at llvm/llvm-project@b24436ac96 2021-03-23 12:20:17 -07:00
legalize_to_standard_patterns.td Lowering for mhlo.ceil to std.ceil 2020-08-12 16:15:35 -07:00
legalize_trigonometric_to_approximation.cc Fix tanh lowering for NaN input. 2021-03-24 06:34:36 -07:00
lhlo_fuse_linalg.cc Update lhlo to use the new structured op interface. 2021-06-07 03:11:03 -07:00
lhlo_fusion.cc PR #50020: [MLIR][DISC] support fusion on buffer 2021-06-16 09:51:29 -07:00
lhlo_legalize_to_affine.cc PR #47315: [MLIR] Add concatenateOp lowering from lmhlo to Affine. 2021-04-14 11:06:38 -07:00
lhlo_legalize_to_gpu.cc [MLIR][NFC] Rename ReduceOp operands() => inputs(). 2021-04-14 12:08:23 -07:00
lhlo_legalize_to_parallel_loops.cc [MLIR][NFC] Rename ReduceOp operands() => inputs(). 2021-04-14 12:08:23 -07:00
lower_complex.cc Integrate LLVM at llvm/llvm-project@b24436ac96 2021-03-23 12:20:17 -07:00
lower_complex_patterns.td Generate Equal and NotEqual kernels for complex types. 2021-04-15 00:35:52 -07:00
lower_general_dot.cc Integrate LLVM at llvm/llvm-project@b24436ac96 2021-03-23 12:20:17 -07:00
materialize_broadcasts.cc More cleanup in mlir-hlo to prepare for the standalone build 2020-08-03 19:28:00 -07:00
materialize_broadcasts_pass.cc Integrate LLVM at llvm/llvm-project@b24436ac96 2021-03-23 12:20:17 -07:00
mhlo_control_flow_to_scf.cc Allow variadic operands/result in MHLO while 2021-06-11 13:08:28 -07:00
mhlo_fusion.cc Integrate LLVM at llvm/llvm-project@37e1458128 2021-04-22 22:57:08 -07:00
optimize_mhlo.cc More cleanup in mlir-hlo to prepare for the standalone build 2020-08-03 19:28:00 -07:00
optimize_mhlo_pass.cc Integrate LLVM at llvm/llvm-project@b24436ac96 2021-03-23 12:20:17 -07:00
ral_inject_execution_context.cc PR #50191: [MLIR][DISC] Add RAL (Runtime abstraction layer) Dialect 2021-06-14 11:27:43 -07:00
rank_specialization.cc [MLIR][HLO] Annotate `mhlo.clamp` and `mhlo.select` as element-wise broadcasting 2021-06-16 07:59:26 -07:00
sink_constants_to_control_flow.cc [MLIR][HLO] Annotate `mhlo.clamp` and `mhlo.select` as element-wise broadcasting 2021-06-16 07:59:26 -07:00
test_infer_shaped_type_pass.cc [mlir][hlo] Avoid dyn_cast_or_null when called with getDefiningOp result (NFC) 2021-05-27 00:20:42 -07:00
transform_unranked_hlo.cc Replace !any_of with none_of 2021-05-04 01:55:36 -07:00
unfuse_batch_norm.cc Integrate LLVM at llvm/llvm-project@678241795c 2021-03-16 13:33:00 -07:00
unfuse_batch_norm_pass.cc mlir-hlo-opt: set preloadDialectsInContext to false. 2021-03-30 01:07:14 -07:00