Integrate llvm-project @0cc3fe460105c4c0c78139d7a78da557c3502298 (#17770)
Bump llvm-project to
https://github.com/llvm/llvm-project/commit/0cc3fe460105c4c0c78139d7a78da557c3502298
- revert
https://github.com/llvm/llvm-project/commit/2c06fb899966b49ff0fe4adf55fceb7d1941fbca
- revert
https://github.com/llvm/llvm-project/commit/fa0666876cdf11162af341911b99311a56be2274
- revert
https://github.com/llvm/llvm-project/commit/137a7451f458cf7d8e1d88df93dbd8da6888886d
Bump torch-mlir to
https://github.com/llvm/torch-mlir/commit/6fece25ff3203bbc538756beb83fd513c19bcd7d
---------
Signed-off-by: Max Dawkins <max.dawkins@gmail.com>
diff --git a/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json b/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json
index ffa9067..1064d2a 100644
--- a/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json
+++ b/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json
@@ -29,15 +29,9 @@
"onnx/node/generated/test_ai_onnx_ml_label_encoder_string_int",
"onnx/node/generated/test_ai_onnx_ml_label_encoder_string_int_no_default",
"onnx/node/generated/test_ai_onnx_ml_label_encoder_tensor_value_only_mapping",
- "onnx/node/generated/test_averagepool_2d_dilations",
"onnx/node/generated/test_averagepool_2d_precomputed_same_upper",
"onnx/node/generated/test_averagepool_2d_same_lower",
"onnx/node/generated/test_averagepool_2d_same_upper",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_small",
"onnx/node/generated/test_basic_deform_conv_with_padding",
"onnx/node/generated/test_basic_deform_conv_without_padding",
"onnx/node/generated/test_batchnorm_epsilon_training_mode",
@@ -183,21 +177,14 @@
"onnx/node/generated/test_image_decoder_decode_tiff_rgb",
"onnx/node/generated/test_image_decoder_decode_webp_rgb",
"onnx/node/generated/test_loop11",
- "onnx/node/generated/test_lppool_1d_default",
- "onnx/node/generated/test_lppool_2d_default",
"onnx/node/generated/test_lppool_2d_dilations",
- "onnx/node/generated/test_lppool_2d_pads",
"onnx/node/generated/test_lppool_2d_same_lower",
"onnx/node/generated/test_lppool_2d_same_upper",
- "onnx/node/generated/test_lppool_2d_strides",
- "onnx/node/generated/test_lppool_3d_default",
- "onnx/node/generated/test_lrn",
- "onnx/node/generated/test_lrn_default",
"onnx/node/generated/test_lstm_batchwise",
"onnx/node/generated/test_lstm_defaults",
"onnx/node/generated/test_lstm_with_initial_bias",
"onnx/node/generated/test_lstm_with_peepholes",
- "onnx/node/generated/test_maxpool_1d_default",
+ "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_maxpool_2d_precomputed_same_upper",
"onnx/node/generated/test_maxpool_2d_same_lower",
"onnx/node/generated/test_maxpool_2d_same_upper",
@@ -213,7 +200,6 @@
"onnx/node/generated/test_momentum_multiple",
"onnx/node/generated/test_mvn",
"onnx/node/generated/test_nesterov_momentum",
- "onnx/node/generated/test_nllloss_NC",
"onnx/node/generated/test_nllloss_NCd1",
"onnx/node/generated/test_nllloss_NCd1_ii",
"onnx/node/generated/test_nllloss_NCd1_mean_weight_negative_ii",
@@ -243,11 +229,6 @@
"onnx/node/generated/test_nonzero_example",
"onnx/node/generated/test_onehot_with_axis",
"onnx/node/generated/test_onehot_with_negative_axis",
- "onnx/node/generated/test_optional_get_element_tensor",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_tensor_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_tensor_input",
"onnx/node/generated/test_pow_types_int32_float32",
"onnx/node/generated/test_pow_types_int32_int32",
"onnx/node/generated/test_pow_types_int64_float32",
@@ -387,8 +368,6 @@
"onnx/node/generated/test_resize_upsample_sizes_nearest_axes_3_2",
"onnx/node/generated/test_resize_upsample_sizes_nearest_floor_align_corners",
"onnx/node/generated/test_resize_upsample_sizes_nearest_not_larger",
- "onnx/node/generated/test_reversesequence_batch",
- "onnx/node/generated/test_reversesequence_time",
"onnx/node/generated/test_rnn_seq_length",
"onnx/node/generated/test_roialign_aligned_false",
"onnx/node/generated/test_roialign_aligned_true",
@@ -427,8 +406,6 @@
"onnx/node/generated/test_sce_mean_3d_expanded",
"onnx/node/generated/test_sce_mean_3d_log_prob",
"onnx/node/generated/test_sce_mean_3d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_expanded",
- "onnx/node/generated/test_sce_mean_log_prob_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_log_prob",
@@ -437,8 +414,6 @@
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight",
"onnx/node/generated/test_sce_mean_weight_expanded",
"onnx/node/generated/test_sce_mean_weight_ii",
@@ -455,14 +430,10 @@
"onnx/node/generated/test_sce_mean_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight_log_prob",
"onnx/node/generated/test_sce_mean_weight_log_prob_expanded",
- "onnx/node/generated/test_sce_none_expanded",
- "onnx/node/generated/test_sce_none_log_prob_expanded",
"onnx/node/generated/test_sce_none_weights",
"onnx/node/generated/test_sce_none_weights_expanded",
"onnx/node/generated/test_sce_none_weights_log_prob",
"onnx/node/generated/test_sce_none_weights_log_prob_expanded",
- "onnx/node/generated/test_sce_sum_expanded",
- "onnx/node/generated/test_sce_sum_log_prob_expanded",
"onnx/node/generated/test_shrink_hard",
"onnx/node/generated/test_shrink_soft",
"onnx/node/generated/test_simple_rnn_batchwise",
@@ -529,6 +500,7 @@
],
"expected_run_failures": [
"onnx/node/generated/test_asin",
+ "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
"onnx/node/generated/test_bernoulli",
"onnx/node/generated/test_bernoulli_double",
"onnx/node/generated/test_bernoulli_double_expanded",
@@ -565,12 +537,7 @@
"onnx/node/generated/test_gridsample_nearest",
"onnx/node/generated/test_gridsample_nearest_align_corners_0_additional_1",
"onnx/node/generated/test_gridsample_nearest_align_corners_1_additional_1",
- "onnx/node/generated/test_hardsigmoid",
- "onnx/node/generated/test_hardsigmoid_default",
- "onnx/node/generated/test_hardsigmoid_example",
- "onnx/node/generated/test_hardswish_expanded",
"onnx/node/generated/test_max_float64",
- "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_min_float64",
"onnx/node/generated/test_mod_mixed_sign_int16",
"onnx/node/generated/test_mod_mixed_sign_int32",
@@ -596,7 +563,9 @@
"onnx/node/generated/test_resize_downsample_scales_linear_align_corners",
"onnx/node/generated/test_scatter_elements_with_negative_indices",
"onnx/node/generated/test_sce_mean_no_weight_ii",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_log_prob",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_shape_end_1",
"onnx/node/generated/test_shape_start_1",
"onnx/node/generated/test_shape_start_1_end_2",
diff --git a/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json b/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json
index 4b80d56..00e059b 100644
--- a/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json
+++ b/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json
@@ -35,15 +35,9 @@
"onnx/node/generated/test_ai_onnx_ml_label_encoder_string_int",
"onnx/node/generated/test_ai_onnx_ml_label_encoder_string_int_no_default",
"onnx/node/generated/test_ai_onnx_ml_label_encoder_tensor_value_only_mapping",
- "onnx/node/generated/test_averagepool_2d_dilations",
"onnx/node/generated/test_averagepool_2d_precomputed_same_upper",
"onnx/node/generated/test_averagepool_2d_same_lower",
"onnx/node/generated/test_averagepool_2d_same_upper",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_small",
"onnx/node/generated/test_basic_deform_conv_with_padding",
"onnx/node/generated/test_basic_deform_conv_without_padding",
"onnx/node/generated/test_batchnorm_epsilon_training_mode",
@@ -189,21 +183,14 @@
"onnx/node/generated/test_image_decoder_decode_tiff_rgb",
"onnx/node/generated/test_image_decoder_decode_webp_rgb",
"onnx/node/generated/test_loop11",
- "onnx/node/generated/test_lppool_1d_default",
- "onnx/node/generated/test_lppool_2d_default",
"onnx/node/generated/test_lppool_2d_dilations",
- "onnx/node/generated/test_lppool_2d_pads",
"onnx/node/generated/test_lppool_2d_same_lower",
"onnx/node/generated/test_lppool_2d_same_upper",
- "onnx/node/generated/test_lppool_2d_strides",
- "onnx/node/generated/test_lppool_3d_default",
- "onnx/node/generated/test_lrn",
- "onnx/node/generated/test_lrn_default",
"onnx/node/generated/test_lstm_batchwise",
"onnx/node/generated/test_lstm_defaults",
"onnx/node/generated/test_lstm_with_initial_bias",
"onnx/node/generated/test_lstm_with_peepholes",
- "onnx/node/generated/test_maxpool_1d_default",
+ "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_maxpool_2d_precomputed_same_upper",
"onnx/node/generated/test_maxpool_2d_same_lower",
"onnx/node/generated/test_maxpool_2d_same_upper",
@@ -216,7 +203,6 @@
"onnx/node/generated/test_momentum_multiple",
"onnx/node/generated/test_mvn",
"onnx/node/generated/test_nesterov_momentum",
- "onnx/node/generated/test_nllloss_NC",
"onnx/node/generated/test_nllloss_NCd1",
"onnx/node/generated/test_nllloss_NCd1_ii",
"onnx/node/generated/test_nllloss_NCd1_mean_weight_negative_ii",
@@ -246,11 +232,6 @@
"onnx/node/generated/test_nonzero_example",
"onnx/node/generated/test_onehot_with_axis",
"onnx/node/generated/test_onehot_with_negative_axis",
- "onnx/node/generated/test_optional_get_element_tensor",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_tensor_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_tensor_input",
"onnx/node/generated/test_pow_types_int32_float32",
"onnx/node/generated/test_pow_types_int32_int32",
"onnx/node/generated/test_pow_types_int64_float32",
@@ -390,8 +371,6 @@
"onnx/node/generated/test_resize_upsample_sizes_nearest_axes_3_2",
"onnx/node/generated/test_resize_upsample_sizes_nearest_floor_align_corners",
"onnx/node/generated/test_resize_upsample_sizes_nearest_not_larger",
- "onnx/node/generated/test_reversesequence_batch",
- "onnx/node/generated/test_reversesequence_time",
"onnx/node/generated/test_rnn_seq_length",
"onnx/node/generated/test_roialign_aligned_false",
"onnx/node/generated/test_roialign_aligned_true",
@@ -430,8 +409,6 @@
"onnx/node/generated/test_sce_mean_3d_expanded",
"onnx/node/generated/test_sce_mean_3d_log_prob",
"onnx/node/generated/test_sce_mean_3d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_expanded",
- "onnx/node/generated/test_sce_mean_log_prob_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_log_prob",
@@ -440,8 +417,6 @@
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight",
"onnx/node/generated/test_sce_mean_weight_expanded",
"onnx/node/generated/test_sce_mean_weight_ii",
@@ -458,14 +433,10 @@
"onnx/node/generated/test_sce_mean_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight_log_prob",
"onnx/node/generated/test_sce_mean_weight_log_prob_expanded",
- "onnx/node/generated/test_sce_none_expanded",
- "onnx/node/generated/test_sce_none_log_prob_expanded",
"onnx/node/generated/test_sce_none_weights",
"onnx/node/generated/test_sce_none_weights_expanded",
"onnx/node/generated/test_sce_none_weights_log_prob",
"onnx/node/generated/test_sce_none_weights_log_prob_expanded",
- "onnx/node/generated/test_sce_sum_expanded",
- "onnx/node/generated/test_sce_sum_log_prob_expanded",
"onnx/node/generated/test_shrink_hard",
"onnx/node/generated/test_shrink_soft",
"onnx/node/generated/test_simple_rnn_batchwise",
@@ -532,6 +503,7 @@
],
"expected_run_failures": [
"onnx/node/generated/test_asin",
+ "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
"onnx/node/generated/test_bernoulli",
"onnx/node/generated/test_bernoulli_double",
"onnx/node/generated/test_bernoulli_double_expanded",
@@ -567,12 +539,7 @@
"onnx/node/generated/test_gridsample_nearest",
"onnx/node/generated/test_gridsample_nearest_align_corners_0_additional_1",
"onnx/node/generated/test_gridsample_nearest_align_corners_1_additional_1",
- "onnx/node/generated/test_hardsigmoid",
- "onnx/node/generated/test_hardsigmoid_default",
- "onnx/node/generated/test_hardsigmoid_example",
- "onnx/node/generated/test_hardswish_expanded",
"onnx/node/generated/test_max_float64",
- "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_min_float64",
"onnx/node/generated/test_mod_mixed_sign_float64",
"onnx/node/generated/test_mod_mixed_sign_int16",
@@ -613,7 +580,9 @@
"onnx/node/generated/test_reduce_sum_square_default_axes_keepdims_random",
"onnx/node/generated/test_reduce_sum_square_default_axes_keepdims_random_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_log_prob",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_shape_end_1",
"onnx/node/generated/test_shape_start_1",
"onnx/node/generated/test_shape_start_1_end_2",
diff --git a/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json b/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json
index f3b4db4..424aed2 100644
--- a/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json
+++ b/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json
@@ -30,15 +30,9 @@
"onnx/node/generated/test_ai_onnx_ml_label_encoder_string_int",
"onnx/node/generated/test_ai_onnx_ml_label_encoder_string_int_no_default",
"onnx/node/generated/test_ai_onnx_ml_label_encoder_tensor_value_only_mapping",
- "onnx/node/generated/test_averagepool_2d_dilations",
"onnx/node/generated/test_averagepool_2d_precomputed_same_upper",
"onnx/node/generated/test_averagepool_2d_same_lower",
"onnx/node/generated/test_averagepool_2d_same_upper",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_small",
"onnx/node/generated/test_basic_deform_conv_with_padding",
"onnx/node/generated/test_basic_deform_conv_without_padding",
"onnx/node/generated/test_batchnorm_epsilon_training_mode",
@@ -184,21 +178,14 @@
"onnx/node/generated/test_image_decoder_decode_tiff_rgb",
"onnx/node/generated/test_image_decoder_decode_webp_rgb",
"onnx/node/generated/test_loop11",
- "onnx/node/generated/test_lppool_1d_default",
- "onnx/node/generated/test_lppool_2d_default",
"onnx/node/generated/test_lppool_2d_dilations",
- "onnx/node/generated/test_lppool_2d_pads",
"onnx/node/generated/test_lppool_2d_same_lower",
"onnx/node/generated/test_lppool_2d_same_upper",
- "onnx/node/generated/test_lppool_2d_strides",
- "onnx/node/generated/test_lppool_3d_default",
- "onnx/node/generated/test_lrn",
- "onnx/node/generated/test_lrn_default",
"onnx/node/generated/test_lstm_batchwise",
"onnx/node/generated/test_lstm_defaults",
"onnx/node/generated/test_lstm_with_initial_bias",
"onnx/node/generated/test_lstm_with_peepholes",
- "onnx/node/generated/test_maxpool_1d_default",
+ "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_maxpool_2d_precomputed_same_upper",
"onnx/node/generated/test_maxpool_2d_same_lower",
"onnx/node/generated/test_maxpool_2d_same_upper",
@@ -211,7 +198,6 @@
"onnx/node/generated/test_momentum_multiple",
"onnx/node/generated/test_mvn",
"onnx/node/generated/test_nesterov_momentum",
- "onnx/node/generated/test_nllloss_NC",
"onnx/node/generated/test_nllloss_NCd1",
"onnx/node/generated/test_nllloss_NCd1_ii",
"onnx/node/generated/test_nllloss_NCd1_mean_weight_negative_ii",
@@ -241,11 +227,6 @@
"onnx/node/generated/test_nonzero_example",
"onnx/node/generated/test_onehot_with_axis",
"onnx/node/generated/test_onehot_with_negative_axis",
- "onnx/node/generated/test_optional_get_element_tensor",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_tensor_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_tensor_input",
"onnx/node/generated/test_pow_types_int32_float32",
"onnx/node/generated/test_pow_types_int32_int32",
"onnx/node/generated/test_pow_types_int64_float32",
@@ -385,8 +366,6 @@
"onnx/node/generated/test_resize_upsample_sizes_nearest_axes_3_2",
"onnx/node/generated/test_resize_upsample_sizes_nearest_floor_align_corners",
"onnx/node/generated/test_resize_upsample_sizes_nearest_not_larger",
- "onnx/node/generated/test_reversesequence_batch",
- "onnx/node/generated/test_reversesequence_time",
"onnx/node/generated/test_rnn_seq_length",
"onnx/node/generated/test_roialign_aligned_false",
"onnx/node/generated/test_roialign_aligned_true",
@@ -425,8 +404,6 @@
"onnx/node/generated/test_sce_mean_3d_expanded",
"onnx/node/generated/test_sce_mean_3d_log_prob",
"onnx/node/generated/test_sce_mean_3d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_expanded",
- "onnx/node/generated/test_sce_mean_log_prob_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_log_prob",
@@ -435,8 +412,6 @@
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight",
"onnx/node/generated/test_sce_mean_weight_expanded",
"onnx/node/generated/test_sce_mean_weight_ii",
@@ -453,14 +428,10 @@
"onnx/node/generated/test_sce_mean_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight_log_prob",
"onnx/node/generated/test_sce_mean_weight_log_prob_expanded",
- "onnx/node/generated/test_sce_none_expanded",
- "onnx/node/generated/test_sce_none_log_prob_expanded",
"onnx/node/generated/test_sce_none_weights",
"onnx/node/generated/test_sce_none_weights_expanded",
"onnx/node/generated/test_sce_none_weights_log_prob",
"onnx/node/generated/test_sce_none_weights_log_prob_expanded",
- "onnx/node/generated/test_sce_sum_expanded",
- "onnx/node/generated/test_sce_sum_log_prob_expanded",
"onnx/node/generated/test_shrink_hard",
"onnx/node/generated/test_shrink_soft",
"onnx/node/generated/test_simple_rnn_batchwise",
@@ -527,6 +498,7 @@
],
"expected_run_failures": [
"onnx/node/generated/test_asin",
+ "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
"onnx/node/generated/test_bernoulli",
"onnx/node/generated/test_bernoulli_double",
"onnx/node/generated/test_bernoulli_double_expanded",
@@ -572,12 +544,7 @@
"onnx/node/generated/test_gridsample_nearest_align_corners_0_additional_1",
"onnx/node/generated/test_gridsample_nearest_align_corners_1_additional_1",
"onnx/node/generated/test_gridsample_zeros_padding",
- "onnx/node/generated/test_hardsigmoid",
- "onnx/node/generated/test_hardsigmoid_default",
- "onnx/node/generated/test_hardsigmoid_example",
- "onnx/node/generated/test_hardswish_expanded",
"onnx/node/generated/test_max_float64",
- "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_min_float64",
"onnx/node/generated/test_mod_mixed_sign_float64",
"onnx/node/generated/test_mod_mixed_sign_int16",
@@ -626,7 +593,9 @@
"onnx/node/generated/test_resize_downsample_scales_linear_half_pixel_symmetric",
"onnx/node/generated/test_scatter_elements_with_negative_indices",
"onnx/node/generated/test_sce_mean_no_weight_ii",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_log_prob",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_shape",
"onnx/node/generated/test_shape_clip_end",
"onnx/node/generated/test_shape_clip_start",
diff --git a/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json b/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json
index a13d881..132e3bb 100644
--- a/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json
+++ b/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json
@@ -10,7 +10,9 @@
"skip_compile_tests": [
"onnx/node/generated/test_dequantizelinear"
],
- "skip_run_tests": [],
+ "skip_run_tests": [
+ "onnx/node/generated/test_det_nd"
+ ],
"expected_compile_failures": [
"onnx/node/generated/test_adagrad",
"onnx/node/generated/test_adagrad_multiple",
@@ -57,11 +59,6 @@
"onnx/node/generated/test_averagepool_2d_same_lower",
"onnx/node/generated/test_averagepool_2d_same_upper",
"onnx/node/generated/test_averagepool_2d_strides",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_False",
- "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_True",
- "onnx/node/generated/test_averagepool_3d_dilations_small",
"onnx/node/generated/test_basic_deform_conv_with_padding",
"onnx/node/generated/test_basic_deform_conv_without_padding",
"onnx/node/generated/test_batchnorm_epsilon_training_mode",
@@ -138,8 +135,6 @@
"onnx/node/generated/test_constant_pad_axes",
"onnx/node/generated/test_constant_pad_negative_axes",
"onnx/node/generated/test_conv_with_autopad_same",
- "onnx/node/generated/test_convinteger_with_padding",
- "onnx/node/generated/test_convinteger_without_padding",
"onnx/node/generated/test_convtranspose_autopad_same",
"onnx/node/generated/test_convtranspose_kernel_shape",
"onnx/node/generated/test_convtranspose_output_shape",
@@ -159,7 +154,6 @@
"onnx/node/generated/test_dequantizelinear_e4m3fn_zero_point",
"onnx/node/generated/test_dequantizelinear_e5m2",
"onnx/node/generated/test_det_2d",
- "onnx/node/generated/test_det_nd",
"onnx/node/generated/test_dft",
"onnx/node/generated/test_dft_axis",
"onnx/node/generated/test_dft_axis_opset19",
@@ -218,23 +212,16 @@
"onnx/node/generated/test_image_decoder_decode_tiff_rgb",
"onnx/node/generated/test_image_decoder_decode_webp_rgb",
"onnx/node/generated/test_loop11",
- "onnx/node/generated/test_lppool_1d_default",
- "onnx/node/generated/test_lppool_2d_default",
"onnx/node/generated/test_lppool_2d_dilations",
- "onnx/node/generated/test_lppool_2d_pads",
"onnx/node/generated/test_lppool_2d_same_lower",
"onnx/node/generated/test_lppool_2d_same_upper",
- "onnx/node/generated/test_lppool_2d_strides",
- "onnx/node/generated/test_lppool_3d_default",
- "onnx/node/generated/test_lrn",
- "onnx/node/generated/test_lrn_default",
"onnx/node/generated/test_lstm_batchwise",
"onnx/node/generated/test_lstm_defaults",
"onnx/node/generated/test_lstm_with_initial_bias",
"onnx/node/generated/test_lstm_with_peepholes",
"onnx/node/generated/test_max_uint16",
"onnx/node/generated/test_max_uint8",
- "onnx/node/generated/test_maxpool_1d_default",
+ "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_maxpool_2d_precomputed_same_upper",
"onnx/node/generated/test_maxpool_2d_same_lower",
"onnx/node/generated/test_maxpool_2d_same_upper",
@@ -255,7 +242,6 @@
"onnx/node/generated/test_momentum_multiple",
"onnx/node/generated/test_mvn",
"onnx/node/generated/test_nesterov_momentum",
- "onnx/node/generated/test_nllloss_NC",
"onnx/node/generated/test_nllloss_NCd1",
"onnx/node/generated/test_nllloss_NCd1_ii",
"onnx/node/generated/test_nllloss_NCd1_mean_weight_negative_ii",
@@ -287,11 +273,6 @@
"onnx/node/generated/test_onehot_with_axis",
"onnx/node/generated/test_onehot_with_negative_axis",
"onnx/node/generated/test_onehot_without_axis",
- "onnx/node/generated/test_optional_get_element_tensor",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_name_tensor_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_optional_input",
- "onnx/node/generated/test_optional_has_element_empty_no_input_tensor_input",
"onnx/node/generated/test_pow_types_int32_float32",
"onnx/node/generated/test_pow_types_int32_int32",
"onnx/node/generated/test_pow_types_int64_float32",
@@ -444,8 +425,6 @@
"onnx/node/generated/test_resize_upsample_sizes_nearest_floor_align_corners",
"onnx/node/generated/test_resize_upsample_sizes_nearest_not_larger",
"onnx/node/generated/test_resize_upsample_sizes_nearest_round_prefer_ceil_asymmetric",
- "onnx/node/generated/test_reversesequence_batch",
- "onnx/node/generated/test_reversesequence_time",
"onnx/node/generated/test_rnn_seq_length",
"onnx/node/generated/test_roialign_aligned_false",
"onnx/node/generated/test_roialign_aligned_true",
@@ -484,8 +463,6 @@
"onnx/node/generated/test_sce_mean_3d_expanded",
"onnx/node/generated/test_sce_mean_3d_log_prob",
"onnx/node/generated/test_sce_mean_3d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_expanded",
- "onnx/node/generated/test_sce_mean_log_prob_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_3d_log_prob",
@@ -494,8 +471,6 @@
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob",
"onnx/node/generated/test_sce_mean_no_weight_ii_4d_log_prob_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
- "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight",
"onnx/node/generated/test_sce_mean_weight_expanded",
"onnx/node/generated/test_sce_mean_weight_ii",
@@ -512,14 +487,10 @@
"onnx/node/generated/test_sce_mean_weight_ii_log_prob_expanded",
"onnx/node/generated/test_sce_mean_weight_log_prob",
"onnx/node/generated/test_sce_mean_weight_log_prob_expanded",
- "onnx/node/generated/test_sce_none_expanded",
- "onnx/node/generated/test_sce_none_log_prob_expanded",
"onnx/node/generated/test_sce_none_weights",
"onnx/node/generated/test_sce_none_weights_expanded",
"onnx/node/generated/test_sce_none_weights_log_prob",
"onnx/node/generated/test_sce_none_weights_log_prob_expanded",
- "onnx/node/generated/test_sce_sum_expanded",
- "onnx/node/generated/test_sce_sum_log_prob_expanded",
"onnx/node/generated/test_shrink_hard",
"onnx/node/generated/test_shrink_soft",
"onnx/node/generated/test_simple_rnn_batchwise",
@@ -590,6 +561,7 @@
"onnx/node/generated/test_and_bcast4v2d",
"onnx/node/generated/test_and_bcast4v4d",
"onnx/node/generated/test_asin",
+ "onnx/node/generated/test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True",
"onnx/node/generated/test_bernoulli",
"onnx/node/generated/test_bernoulli_double",
"onnx/node/generated/test_bernoulli_double_expanded",
@@ -632,6 +604,8 @@
"onnx/node/generated/test_constantofshape_float_ones",
"onnx/node/generated/test_constantofshape_int_shape_zero",
"onnx/node/generated/test_constantofshape_int_zeros",
+ "onnx/node/generated/test_convinteger_with_padding",
+ "onnx/node/generated/test_convinteger_without_padding",
"onnx/node/generated/test_dequantizelinear_int16",
"onnx/node/generated/test_dequantizelinear_uint16",
"onnx/node/generated/test_dropout_default_mask_ratio",
@@ -641,10 +615,6 @@
"onnx/node/generated/test_elu_default",
"onnx/node/generated/test_eyelike_with_dtype",
"onnx/node/generated/test_gather_elements_negative_indices",
- "onnx/node/generated/test_hardsigmoid",
- "onnx/node/generated/test_hardsigmoid_default",
- "onnx/node/generated/test_hardsigmoid_example",
- "onnx/node/generated/test_hardswish_expanded",
"onnx/node/generated/test_isinf_float16",
"onnx/node/generated/test_isnan_float16",
"onnx/node/generated/test_matmulinteger",
@@ -652,7 +622,6 @@
"onnx/node/generated/test_max_float64",
"onnx/node/generated/test_max_int16",
"onnx/node/generated/test_max_int8",
- "onnx/node/generated/test_maxpool_2d_ceil_output_size_reduce_by_one",
"onnx/node/generated/test_min_float16",
"onnx/node/generated/test_min_float64",
"onnx/node/generated/test_min_int16",
@@ -705,7 +674,9 @@
"onnx/node/generated/test_reduce_sum_square_default_axes_keepdims_random_expanded",
"onnx/node/generated/test_scatter_elements_with_negative_indices",
"onnx/node/generated/test_sce_mean_no_weight_ii",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_expanded",
"onnx/node/generated/test_sce_mean_no_weight_ii_log_prob",
+ "onnx/node/generated/test_sce_mean_no_weight_ii_log_prob_expanded",
"onnx/node/generated/test_shape_end_1",
"onnx/node/generated/test_shape_start_1",
"onnx/node/generated/test_shape_start_1_end_2",
diff --git a/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_tile_reduction.mlir b/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_tile_reduction.mlir
index 8756433..e49d6aa 100644
--- a/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_tile_reduction.mlir
+++ b/compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_tile_reduction.mlir
@@ -22,7 +22,6 @@
}
// CHECK-DAG: #[[$MAP0:.+]] = affine_map<(d0, d1) -> (d0, d1)>
-// CHECK-DAG: #[[$MAP1:.+]] = affine_map<(d0, d1) -> (d0)>
// CHECK-LABEL: warp_reduction_dispatch()
// CHECK-DAG: %[[C0:.+]] = arith.constant 0 : index
// CHECK-DAG: %[[C2048:.+]] = arith.constant 2048 : index
@@ -37,9 +36,9 @@
// CHECK: } -> tensor<1x2048xf32>
// CHECK: scf.yield %[[A2]] : tensor<1x2048xf32>
// CHECK: }
-// CHECK: %[[A3:.+]] = linalg.generic {indexing_maps = [#[[$MAP0]], #[[$MAP1]]], iterator_types = ["parallel", "reduction"]} ins(%[[A1]] : tensor<1x2048xf32>) outs(%[[F0]] : tensor<1xf32>) {
-// CHECK: arith.addf %in, %out : f32
-// CHECK: } -> tensor<1xf32>
+// CHECK: %[[A3:.+]] = linalg.reduce ins(%[[A1]] : tensor<1x2048xf32>) outs(%[[F0]] : tensor<1xf32>) dimensions = [1]
+// CHECK-NEXT: (%[[IN:.+]]: f32, %[[INIT:.+]]: f32) {
+// CHECK-NEXT: arith.addf %[[IN]], %[[INIT]] : f32
// CHECK: flow.dispatch.tensor.store %[[A3]]
// -----
@@ -74,9 +73,10 @@
// CHECK-SAME: outs({{.*}} : tensor<1x1x1x64xf32>)
// CHECK: arith.mulf
// CHECK: arith.addf
-// CHECK: %[[FINAL:.+]] = linalg.generic
+// CHECK: %[[FINAL:.+]] = linalg.reduce
// CHECK-SAME: ins({{.*}} : tensor<1x1x1x64xf32>)
// CHECK-SAME: outs({{.*}} : tensor<1x1x1xf32>)
+// CHECK-SAME: dimensions = [3]
// CHECK: arith.addf
// CHECK: flow.dispatch.tensor.store %[[FINAL]]
@@ -129,9 +129,9 @@
// CHECK: } -> tensor<1x2048xf32>
// CHECK: scf.yield %[[A2]] : tensor<1x2048xf32>
// CHECK: }
-// CHECK: %[[A3:.+]] = linalg.generic {indexing_maps = [#[[$MAP0]], #[[$MAP1]]], iterator_types = ["parallel", "reduction"]} ins(%[[A1]] : tensor<1x2048xf32>) outs(%[[F0]] : tensor<1xf32>) {
-// CHECK: arith.addf %in, %out : f32
-// CHECK: } -> tensor<1xf32>
+// CHECK: %[[A3:.+]] = linalg.reduce ins(%[[A1]] : tensor<1x2048xf32>) outs(%[[F0]] : tensor<1xf32>) dimensions = [1]
+// CHECK-NEXT: (%[[IN:.+]]: f32, %[[INIT:.+]]: f32) {
+// CHECK-NEXT: arith.addf %[[IN]], %[[INIT]] : f32
// CHECK: %[[A4:.+]] = scf.for %[[IV2:.+]] = %[[C0]] to %[[C10240]] step %[[C2048]] iter_args(%[[INI:.+]] = %{{.*}}) -> (tensor<1x10240xf32>) {
// CHECK: %[[S2:.+]] = tensor.extract_slice %[[INI]][0, %[[IV2]]] [1, 2048] [1, 1] : tensor<1x10240xf32> to tensor<1x2048xf32>
// CHECK: %[[A5:.+]] = linalg.generic {indexing_maps = [#[[$MAP1]], #[[$MAP0]]], iterator_types = ["parallel", "parallel"]} ins(%[[A3]] : tensor<1xf32>) outs(%[[S2]] : tensor<1x2048xf32>)
@@ -192,7 +192,7 @@
// CHECK: scf.yield %{{.+}} : tensor<1x2x64xf32>
// CHECK: scf.yield %{{.+}} : tensor<1x2x64xf32>
-// CHECK: linalg.generic
-// CHECK-SAME: iterator_types = ["parallel", "reduction", "reduction"]
+// CHECK: linalg.reduce
// CHECK-SAME: ins(%[[LN]] : tensor<1x2x64xf32>)
// CHECK-SAME: outs(%{{.+}} : tensor<1xf32>)
+// CHECK-SAME: dimensions = [1, 2]
diff --git a/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp b/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp
index 57f3391..15a0c6a 100644
--- a/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp
@@ -304,8 +304,8 @@
void transform_dialect::CopyTensorOperandOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -436,8 +436,8 @@
void transform_dialect::FlattenForallMappingOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -569,7 +569,7 @@
void transform_dialect::ForallToWorkgroupOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -623,7 +623,7 @@
void transform_dialect::GpuDistributeSharedMemoryCopyOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -642,7 +642,7 @@
void transform_dialect::HoistStaticAllocOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -652,7 +652,7 @@
void transform_dialect::PopulateWorkgroupCountRegionUsingNumThreadsSliceOp::
getEffects(SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getForAllOp(), effects);
+ transform::onlyReadsHandle(getForAllOpMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -745,7 +745,7 @@
void transform_dialect::IREEApplyLoopIndependentCodeMotionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -994,7 +994,7 @@
void transform_dialect::IREEEliminateEmptyTensorsOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1016,7 +1016,7 @@
void transform_dialect::ReduceSharedMemoryBankConflictsOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1140,7 +1140,7 @@
void transform_dialect::TestGpuVectorDistribution::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1189,7 +1189,7 @@
void transform_dialect::TestVectorLayoutAnalysisOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1207,7 +1207,7 @@
void transform_dialect::WorkgroupSwizzleOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1259,9 +1259,8 @@
void transform_dialect::FuseConsumerOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- consumesHandle(getTarget(), effects);
- producesHandle(getConsumer(), effects);
- producesHandle(getFusedConsumer(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
diff --git a/compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/UKernelOps.cpp b/compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/UKernelOps.cpp
index 9d03f0d..b044244 100644
--- a/compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/UKernelOps.cpp
+++ b/compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/UKernelOps.cpp
@@ -7,6 +7,7 @@
#include "iree/compiler/Codegen/Dialect/Codegen/IR/UKernelOps.h"
#include "iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenDialect.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
@@ -184,22 +185,23 @@
void UKernelGenericOp::getEffects(
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
&effects) {
- SmallVector<Value> readOnlyOperands = getDpsInputs();
- readOnlyOperands.append(getOtherOperands().begin(), getOtherOperands().end());
- for (Value value : readOnlyOperands) {
- if (!llvm::isa<MemRefType>(value.getType())) {
+ SmallVector<OpOperand *> readOnlyOperands = getDpsInputOperands();
+ llvm::append_range(readOnlyOperands,
+ llvm::make_pointer_range(getOtherOperandsMutable()));
+ for (OpOperand *operand : readOnlyOperands) {
+ if (!llvm::isa<MemRefType>(operand->get().getType())) {
continue;
}
- effects.emplace_back(MemoryEffects::Read::get(), value,
+ effects.emplace_back(MemoryEffects::Read::get(), operand,
SideEffects::DefaultResource::get());
}
- for (Value value : getDpsInits()) {
- if (!llvm::isa<MemRefType>(value.getType())) {
+ for (OpOperand &operand : getDpsInitsMutable()) {
+ if (!llvm::isa<MemRefType>(operand.get().getType())) {
continue;
}
- effects.emplace_back(MemoryEffects::Read::get(), value,
+ effects.emplace_back(MemoryEffects::Read::get(), &operand,
SideEffects::DefaultResource::get());
- effects.emplace_back(MemoryEffects::Write::get(), value,
+ effects.emplace_back(MemoryEffects::Write::get(), &operand,
SideEffects::DefaultResource::get());
}
}
diff --git a/compiler/src/iree/compiler/Codegen/Dialect/GPU/TransformExtensions/IREEGPUExtensions.cpp b/compiler/src/iree/compiler/Codegen/Dialect/GPU/TransformExtensions/IREEGPUExtensions.cpp
index 2058d83..bf3724b 100644
--- a/compiler/src/iree/compiler/Codegen/Dialect/GPU/TransformExtensions/IREEGPUExtensions.cpp
+++ b/compiler/src/iree/compiler/Codegen/Dialect/GPU/TransformExtensions/IREEGPUExtensions.cpp
@@ -155,8 +155,8 @@
void transform_dialect::ConvertToMultiMmaOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -183,8 +183,8 @@
void transform_dialect::DistributeMultiMmaOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -202,7 +202,7 @@
void transform_dialect::ForallToLanesOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -267,9 +267,9 @@
void transform_dialect::FuseForallOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getProducer(), effects);
- transform::consumesHandle(getConsumer(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::consumesHandle(getProducerMutable(), effects);
+ transform::consumesHandle(getConsumerMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
diff --git a/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp b/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
index 68e76ea..22b4ce0 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
@@ -4,6 +4,7 @@
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#include "iree/compiler/Codegen/Common/PassUtils.h"
#include "iree/compiler/Codegen/LLVMCPU/DispatchABI.h"
#include "iree/compiler/Codegen/LLVMCPU/PassDetail.h"
#include "iree/compiler/Codegen/LLVMCPU/Passes.h"
@@ -59,6 +60,7 @@
#include "mlir/IR/Location.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Pass/Pass.h"
+#include "mlir/Pass/PassManager.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
namespace mlir::iree_compiler {
@@ -1050,7 +1052,6 @@
populateVectorToLLVMMatrixConversionPatterns(typeConverter, patterns);
populateVectorToLLVMConversionPatterns(
typeConverter, patterns, targetReassociateFpReductions.getValue());
- populateReconcileUnrealizedCastsPatterns(patterns);
if (isAArch64(targetAttr) &&
(hasAnySVEFeature(targetAttr) || hasSMEFeature(targetAttr))) {
@@ -1085,6 +1086,12 @@
return;
}
+ OpPassManager passManager(module.getOperationName());
+ FunctionLikeNest(passManager).addPass(createReconcileUnrealizedCastsPass);
+ if (failed(runPipeline(passManager, module))) {
+ return signalPassFailure();
+ }
+
// Rewrite any extern calls emitted to dynamic library imports.
{
RewritePatternSet patterns(&getContext());
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp
index 94e8a16..6c9f90a 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp
@@ -124,7 +124,7 @@
void transform_dialect::MapNestedForallToGpuThreadsOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -348,7 +348,7 @@
void transform_dialect::VectorWarpDistributionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -638,7 +638,7 @@
void transform_dialect::VectorToMMAConversionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -782,7 +782,7 @@
void transform_dialect::SynchronizeLoopOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getForOp(), effects);
+ transform::onlyReadsHandle(getForOpMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -801,7 +801,7 @@
void transform_dialect::CreateAsyncGroupsOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1445,7 +1445,7 @@
void transform_dialect::PackSharedMemoryAllocOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
transform::modifiesPayload(effects);
}
@@ -1512,8 +1512,8 @@
void transform_dialect::AMDGPUDistributeVectorsOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getTarget(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -1690,8 +1690,8 @@
void transform_dialect::SetContractionLayoutAttributes::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::onlyReadsHandle(getMmaType(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::onlyReadsHandle(getMmaTypeMutable(), effects);
transform::modifiesPayload(effects);
}
diff --git a/compiler/src/iree/compiler/Codegen/TransformStrategies/GPU/Common.cpp b/compiler/src/iree/compiler/Codegen/TransformStrategies/GPU/Common.cpp
index 4eedff4..3032226 100644
--- a/compiler/src/iree/compiler/Codegen/TransformStrategies/GPU/Common.cpp
+++ b/compiler/src/iree/compiler/Codegen/TransformStrategies/GPU/Common.cpp
@@ -212,8 +212,7 @@
if (splitPoint > 0) {
auto anyOpType = transform::AnyOpType::get(b.getContext());
auto split = b.create<transform::SplitOp>(
- anyOpType, anyOpType, opH, b.getI64IntegerAttr(mostMinorDim), Value(),
- b.getI64IntegerAttr(splitPoint));
+ anyOpType, anyOpType, opH, mostMinorDim, Value(), splitPoint);
opH = split.getFirst();
if (vectorSize > 1) {
auto res = iree_compiler::buildTileFuseToScfFor(
diff --git a/compiler/src/iree/compiler/Dialect/Flow/TransformExtensions/FlowExtensions.cpp b/compiler/src/iree/compiler/Dialect/Flow/TransformExtensions/FlowExtensions.cpp
index 8423a00..163badc 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/TransformExtensions/FlowExtensions.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/TransformExtensions/FlowExtensions.cpp
@@ -476,8 +476,8 @@
void IREE::transform_dialect::ForeachThreadToFlowDispatchWorkgroupsOp::
getEffects(SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getTarget(), effects);
- transform::producesHandle(getTransformed(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -495,8 +495,8 @@
void IREE::transform_dialect::RegionToWorkgroupsOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getTarget(), effects);
- transform::producesHandle(getTransformed(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -547,9 +547,9 @@
void IREE::transform_dialect::ClonePrecedingOpIntoDispatchRegionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::onlyReadsHandle(getDispatchRegion(), effects);
- transform::producesHandle(getCloned(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::onlyReadsHandle(getDispatchRegionMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -600,9 +600,9 @@
void IREE::transform_dialect::MovePrecedingOpIntoDispatchRegionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getTarget(), effects);
- transform::consumesHandle(getDispatchRegion(), effects);
- transform::producesHandle(getTransformed(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::consumesHandle(getDispatchRegionMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -792,9 +792,9 @@
void IREE::transform_dialect::CloneSucceedingOpIntoDispatchRegionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::onlyReadsHandle(getDispatchRegion(), effects);
- transform::producesHandle(getCloned(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::onlyReadsHandle(getDispatchRegionMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -835,9 +835,9 @@
void IREE::transform_dialect::MoveSucceedingOpIntoDispatchRegionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getTarget(), effects);
- transform::consumesHandle(getDispatchRegion(), effects);
- transform::producesHandle(getTransformed(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::consumesHandle(getDispatchRegionMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -856,8 +856,8 @@
void IREE::transform_dialect::WrapInDispatchRegionOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::consumesHandle(getTarget(), effects);
- transform::producesHandle(getTransformed(), effects);
+ transform::consumesHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
diff --git a/compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp b/compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp
index 846e72c..c7ca00f 100644
--- a/compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp
+++ b/compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp
@@ -57,21 +57,21 @@
static void getEffectsImpl(
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
&effects,
- ValueRange inputOperands, ValueRange outputOperands) {
- for (Value value : inputOperands) {
- if (!llvm::isa<MemRefType>(value.getType())) {
+ ArrayRef<OpOperand *> inputOperands, MutableOperandRange outputOperands) {
+ for (OpOperand *operand : inputOperands) {
+ if (!llvm::isa<MemRefType>(operand->get().getType())) {
continue;
}
- effects.emplace_back(MemoryEffects::Read::get(), value,
+ effects.emplace_back(MemoryEffects::Read::get(), operand,
SideEffects::DefaultResource::get());
}
- for (Value value : outputOperands) {
- if (!llvm::isa<MemRefType>(value.getType())) {
+ for (OpOperand &operand : outputOperands) {
+ if (!llvm::isa<MemRefType>(operand.get().getType())) {
continue;
}
- effects.emplace_back(MemoryEffects::Read::get(), value,
+ effects.emplace_back(MemoryEffects::Read::get(), &operand,
SideEffects::DefaultResource::get());
- effects.emplace_back(MemoryEffects::Write::get(), value,
+ effects.emplace_back(MemoryEffects::Write::get(), &operand,
SideEffects::DefaultResource::get());
}
}
@@ -1652,7 +1652,7 @@
void OP_NAME::getEffects( \
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>> \
&effects) { \
- getEffectsImpl(effects, getDpsInputs(), getDpsInits()); \
+ getEffectsImpl(effects, getDpsInputOperands(), getDpsInitsMutable()); \
}
DEFINE_OP_GET_EFFECTS(ScatterOp)
diff --git a/compiler/src/iree/compiler/Dialect/Util/TransformOps/UtilTransformOps.cpp b/compiler/src/iree/compiler/Dialect/Util/TransformOps/UtilTransformOps.cpp
index 312ba58..e43447d 100644
--- a/compiler/src/iree/compiler/Dialect/Util/TransformOps/UtilTransformOps.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/TransformOps/UtilTransformOps.cpp
@@ -35,8 +35,8 @@
void IREE::Util::transform_dialect::GetNearestSymbolTableOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getTarget(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::onlyReadsHandle(getTargetMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -93,8 +93,8 @@
void IREE::Util::transform_dialect::ImportSymbolOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getSymbolTable(), effects);
- transform::producesHandle(getClonedSymbol(), effects);
+ transform::onlyReadsHandle(getSymbolTableMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
@@ -288,14 +288,14 @@
void IREE::Util::transform_dialect::CastAndCallOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- transform::onlyReadsHandle(getInsertionPoint(), effects);
+ transform::onlyReadsHandle(getInsertionPointMutable(), effects);
if (getInputs())
- transform::onlyReadsHandle(getInputs(), effects);
+ transform::onlyReadsHandle(getInputsMutable(), effects);
if (getOutputs())
- transform::onlyReadsHandle(getOutputs(), effects);
+ transform::onlyReadsHandle(getOutputsMutable(), effects);
if (getFunction())
- transform::onlyReadsHandle(getFunction(), effects);
- transform::producesHandle(getResult(), effects);
+ transform::onlyReadsHandle(getFunctionMutable(), effects);
+ transform::producesHandle(getOperation()->getOpResults(), effects);
transform::modifiesPayload(effects);
}
diff --git a/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/IR/StructuredTransformOpsExt.cpp b/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/IR/StructuredTransformOpsExt.cpp
index 0236505..82c8643 100644
--- a/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/IR/StructuredTransformOpsExt.cpp
+++ b/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/IR/StructuredTransformOpsExt.cpp
@@ -427,7 +427,7 @@
void transform_ext::MatchCallbackOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- mlir::transform::onlyReadsHandle(getInputs(), effects);
+ mlir::transform::onlyReadsHandle(getInputsMutable(), effects);
mlir::transform::producesHandle(getOutputs(), effects);
// TODO: it doesn't really modify the payload, we need a separate resource for
// this mapping.
@@ -919,9 +919,8 @@
void transform_ext::TakeFirstOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- mlir::transform::onlyReadsHandle(getInputs(), effects);
- mlir::transform::producesHandle(getFirst(), effects);
- mlir::transform::producesHandle(getRest(), effects);
+ mlir::transform::onlyReadsHandle(getInputsMutable(), effects);
+ mlir::transform::producesHandle(getOperation()->getOpResults(), effects);
}
//===---------------------------------------------------------------------===//
@@ -940,6 +939,6 @@
void transform_ext::EmitRemarkOp::getEffects(
SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
- mlir::transform::onlyReadsHandle(getHandle(), effects);
+ mlir::transform::onlyReadsHandle(getHandleMutable(), effects);
mlir::transform::onlyReadsPayload(effects);
}
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 1e498cb..8ded6ce 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 1e498cbf26917713a562ae9551a549dfbfed3add
+Subproject commit 8ded6ce55deafcad4b78ec814f1ecc80f9889392
diff --git a/third_party/torch-mlir b/third_party/torch-mlir
index 77d7f64..6fece25 160000
--- a/third_party/torch-mlir
+++ b/third_party/torch-mlir
@@ -1 +1 @@
-Subproject commit 77d7f6447256545b7eb375c2baafa9b3084094c8
+Subproject commit 6fece25ff3203bbc538756beb83fd513c19bcd7d