> On 9 Sep 2026, at 23:29, Jeff Law <[email protected]> wrote: > > > > On 9/7/26 8:43 AM, [email protected] wrote: >> From: Kyrylo Tkachov <[email protected]> >> >> The three noce conversion routines that rewrite the CFG on success - >> noce_process_if_block, noce_convert_multiple_sets and >> cond_move_process_if_block - each open-code the same steps: delete the >> THEN (and ELSE) blocks, or for an if-then drop the fall-through edge that >> bypassed THEN, redirect the test block to the join block and merge the two >> when possible. >> >> Move this into noce_finish_if_conversion and call it from all three. The >> if-then case (no ELSE) is handled through if_info->else_bb being null, >> matching what noce_convert_multiple_sets previously did by hand. No >> functional change. >> >> gcc/ChangeLog: >> >> * ifcvt.cc (noce_finish_if_conversion): New function. >> (noce_convert_multiple_sets): Use it. Remove now-unused locals. >> (noce_process_if_block): Likewise. >> (cond_move_process_if_block): Likewise. >> >> Signed-off-by: Kyrylo Tkachov <[email protected]> > OK. > > At this point I think you've got feedback on the entire set, most of which > are independent patches that can go in whenever it's convenient for you. >
Thank you very much. I’ve pushed them all, except the patch 2 as Andrea suggested a better refactoring. I’ll think about maybe making it a bit more suitable towards your work to choose between alternative sequences based on cost. But feel free to proceed with your changes in the meantime. Kyrill > Jeff
