https://gcc.gnu.org/g:8590dcd318151336261f8381e1a24caece9e2375
commit r15-3678-g8590dcd318151336261f8381e1a24caece9e2375 Author: Andrew Pinski <quic_apin...@quicinc.com> Date: Tue Sep 17 14:26:54 2024 -0700 phiopt: Add some details dump to cselim While trying to debug PR 116747, I noticed there was no dump saying what was done. So this adds the debug dump and it helps debug what is going on in PR 116747 too. Bootstrapped and tested on x86_64-linux-gnu. gcc/ChangeLog: * tree-ssa-phiopt.cc (cond_if_else_store_replacement_1): Add debug dump. Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com> Diff: --- gcc/tree-ssa-phiopt.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc index 7b12692237e5..488b45015e90 100644 --- a/gcc/tree-ssa-phiopt.cc +++ b/gcc/tree-ssa-phiopt.cc @@ -3469,6 +3469,17 @@ cond_if_else_store_replacement_1 (basic_block then_bb, basic_block else_bb, then_locus = gimple_location (then_assign); else_locus = gimple_location (else_assign); + if (dump_file && (dump_flags & TDF_DETAILS)) + { + fprintf(dump_file, "factoring out stores:\n\tthen:\n"); + print_gimple_stmt (dump_file, then_assign, 0, + TDF_VOPS|TDF_MEMSYMS); + fprintf(dump_file, "\telse:\n"); + print_gimple_stmt (dump_file, else_assign, 0, + TDF_VOPS|TDF_MEMSYMS); + fprintf (dump_file, "\n"); + } + /* Now we've checked the constraints, so do the transformation: 1) Remove the stores. */ gsi = gsi_for_stmt (then_assign); @@ -3490,6 +3501,16 @@ cond_if_else_store_replacement_1 (basic_block then_bb, basic_block else_bb, add_phi_arg (newphi, else_rhs, EDGE_SUCC (else_bb, 0), else_locus); new_stmt = gimple_build_assign (lhs, gimple_phi_result (newphi)); + if (dump_file && (dump_flags & TDF_DETAILS)) + { + fprintf(dump_file, "to use phi:\n"); + print_gimple_stmt (dump_file, newphi, 0, + TDF_VOPS|TDF_MEMSYMS); + fprintf(dump_file, "\n"); + print_gimple_stmt (dump_file, new_stmt, 0, + TDF_VOPS|TDF_MEMSYMS); + fprintf(dump_file, "\n\n"); + } /* 3) Insert that PHI node. */ gsi = gsi_after_labels (join_bb);