> 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


Reply via email to