From fa6f80044dcebd28506e871e6e5d25e2dfd7e105 Mon Sep 17 00:00:00 2001 From: tiancheng-bao Date: Fri, 12 Apr 2024 15:09:28 +0800 Subject: [PATCH 01/32] Fix bug that verifying gimple failed when reorg-level > 5 --- gcc/ipa-struct-reorg/ipa-struct-reorg.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/ipa-struct-reorg/ipa-struct-reorg.cc b/gcc/ipa-struct-reorg/ipa-struct-reorg.cc index f03d1d875..e08577c0c 100644 --- a/gcc/ipa-struct-reorg/ipa-struct-reorg.cc +++ b/gcc/ipa-struct-reorg/ipa-struct-reorg.cc @@ -7461,6 +7461,9 @@ ipa_struct_reorg::rewrite_assign (gassign *stmt, gimple_stmt_iterator *gsi) continue; tree lhs_expr = newlhs[i] ? newlhs[i] : lhs; tree rhs_expr = newrhs[i] ? newrhs[i] : rhs; + if (!useless_type_conversion_p (TREE_TYPE (lhs_expr), + TREE_TYPE (rhs_expr))) + rhs_expr = gimplify_build1 (gsi, NOP_EXPR, TREE_TYPE (lhs_expr), rhs_expr); gimple *newstmt = gimple_build_assign (lhs_expr, rhs_expr); if (dump_file && (dump_flags & TDF_DETAILS)) { -- 2.28.0.windows.1