[PATCH v3 7/7] ifcvt: Run second pass if it is possible to omit a temporary.

Robin Dapp rdapp@linux.ibm.com
Fri Dec 10 15:06:36 GMT 2021


Hi Jeff,

> I'd generally prefer to refactor the bits between the restart label and 
> the goto restart into a function and call it twice, passing in the 
> additional bits to allow for better costing.  Can you look into that?  
> If it's going to be major surgery, then the goto approach will be OK.

I transplanted the loop into a separate function
"noce_convert_multiple_sets_1" (for the lack of a better name right
now).  I guess an argument could be made about also moving

+  rtx cc_cmp = cond_exec_get_condition (jump);
+  rtx rev_cc_cmp = cond_exec_get_condition (jump, /* get_reversed */ true);

into the function and not care about traversing all instructions
twice/four times (will not be more than a few anyway) but I did not do
that for now.

Does this look better? Not fully tested yet everywhere but a test suite
run on s390 looked good.

Regards
 Robin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fun.patch
Type: text/x-patch
Size: 10075 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20211210/84ba80b2/attachment.bin>


More information about the Gcc-patches mailing list