@@ -921,6 +921,11 @@ function optimization_passes(
921921 " dus_dynamic_slice_simplify" ,
922922 " while_dus_ds_simplify" ,
923923 " reshape_slice_reshape" ,
924+ " dot_general_remove_batch_dimensions" ,
925+ " delete_dims_reduce" ,
926+ " reduce_delete_dims" ,
927+ " dot_general_insert_dim_contraction_simplification" ,
928+ " fuse_reshape_collapse_or_expand_dims_into_reduce" ,
924929 ]
925930
926931 if ! is_sharded
@@ -982,7 +987,10 @@ function optimization_passes(
982987 end
983988
984989 if ! compile_options. disable_loop_raising_passes
985- append! (transform_passes_list, [" greedy_while_loop_batch_fission" ])
990+ append! (
991+ transform_passes_list,
992+ [" greedy_while_loop_batch_fission" , " while_elementwise_reduction_to_reduce" ],
993+ )
986994 end
987995
988996 if ! compile_options. disable_licm_optimization_passes
@@ -1002,6 +1010,7 @@ function optimization_passes(
10021010 " reduce_window_licm(0)" ,
10031011 " reverse_licm(0)" ,
10041012 " convolution_licm(0)" ,
1013+ " dynamic_slice_licm(0)" ,
10051014 ],
10061015 )
10071016 end
@@ -1199,6 +1208,11 @@ function optimization_passes(
11991208 " elementwise_reshape_like" ,
12001209 ],
12011210 )
1211+ if AGGRESSIVE_PROPAGATION[]
1212+ push! (transform_passes_list, " reshape_elementwise_only_fusible(0)" )
1213+ else
1214+ push! (transform_passes_list, " reshape_elementwise_only_fusible(1)" )
1215+ end
12021216 end
12031217
12041218 if compile_options. transpose_propagate === :up
@@ -1240,6 +1254,7 @@ function optimization_passes(
12401254 " reorder_elementwise_and_shape_op<16>" ,
12411255 " elementwise_all_transpose_operands_simplify" ,
12421256 " slice_transpose" ,
1257+ " dynamic_slice_transpose" ,
12431258 " einsum_transpose<1>" ,
12441259 " slice_reshape_transpose<1>" ,
12451260 " reduce_transpose_simplify" ,
0 commit comments