mlir-hlo/lib/Dialect/mhlo/transforms
Wenyi Zhao ade873a5e0 PR #49970: [MLIR][DISC] bufferize DynamicReshape and DynamicBroadcastInDim
Imported from GitHub PR https://github.com/tensorflow/tensorflow/pull/49970

1, add hlo-to-lhlo support for DynamicReshape and DynamicBroadcastInDim

2, add a flag `convert-to-lmhlo-only` to seperate following two case:
   - hlo-to-lhlo only. Simply lowers all mhlo ops to their lmhlo
     counterparts, do not apply any optimization (e.g. elide any
     buffer copy). Buffer optimization is not easy in dynamic
     shape world especially when involving control flow, thus we
     leave this to another dedicated pass.

   - hlo-to-lhlo-or-memref-directly. Lowers some metadata-only mhlo
     ops (e.g. reshape) to memref dialect directly and Lowers others
     to their lmhlo counterparts.
Copybara import of the project:

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

[MLIR][DISC] bufferize DynamicReshape and DynamicBroadcastInDim

1, add hlo-to-lhlo support for DynamicReshape and DynamicBroadcastInDim

2, add a flag `convert-to-lmhlo-only` to seperate following two case:
   - hlo-to-lhlo only. Simply lowers all mhlo ops to their lmhlo
     counterparts, do not apply any optimization (e.g. elide any
     buffer copy). Buffer optimization is not easy in dynamic
     shape world especially when involving control flow, thus we
     leave this to another dedicated pass.

   - hlo-to-lhlo-or-memref-directly. Lowers some metadata-only mhlo
     ops (e.g. reshape) to memref dialect directly and Lowers others
     to their lmhlo counterparts.

PiperOrigin-RevId: 377603395
2021-06-04 15:36:03 -07:00
..
CMakeLists.txt PR #49598: [MLIR][DISC] legalize tensor_load inserted during hlo-to-lhlo conversion 2021-06-01 16:27:56 -07:00
chlo_legalize_to_hlo.cc Separate CHLO transforms for expanding compositions and lowering broadcasts. 2021-05-18 13:33:59 -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 Separate CHLO transforms for expanding compositions and lowering broadcasts. 2021-05-18 13:33:59 -07:00
hlo_legalize_to_lhlo.cc PR #49970: [MLIR][DISC] bufferize DynamicReshape and DynamicBroadcastInDim 2021-06-04 15:36:03 -07:00
legalize_control_flow.cc Fix MLIR include paths. 2020-12-17 00:56:04 -08: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 Integrate LLVM at llvm/llvm-project@da3ed58b97 2021-06-03 20:45:18 -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 Integrate LLVM at llvm/llvm-project@678241795c 2021-03-16 13:33:00 -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 Integrate LLVM at llvm/llvm-project@37e1458128 2021-04-22 22:57:08 -07:00
mhlo_fusion.cc Integrate LLVM at llvm/llvm-project@37e1458128 2021-04-22 22:57:08 -07:00
move_up_dynamic_broadcasts_for_fusion.cc [MLIR][KernelGen] Add MLIR-generated Xlogy kernel 2021-06-01 04:48:18 -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
rank_specialization.cc [MLIR][KernelGen] Fix Windows build failure 2021-06-02 05:34:44 -07:00
sink_constants_to_control_flow.cc Enable fallback legalization for MaxPoolGradGrad and MaxPool3DGradGrad ops 2020-11-13 13:49:05 -08: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