From: Eric Botcazou Date: Fri, 13 Jan 2023 21:05:28 +0000 (+0100) Subject: Fix PR rtl-optimization/108274 X-Git-Tag: Thesis~1234 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=4fa6845b4b29f33cc7ea3d8ff49b61bb1f460561;p=gcc.git Fix PR rtl-optimization/108274 Unlike other IPA passes, the ICF pass can be run at -O0 and some testcases rely on this in the testsuite. Now it effectively creates a tail call so the DF information needs be updated in this case after epilogue creation. gcc/ PR rtl-optimization/108274 * function.cc (thread_prologue_and_epilogue_insns): Also update the DF information for calls in a few more cases. --- diff --git a/gcc/function.cc b/gcc/function.cc index 27ba880368ac..cfc4d2f74afe 100644 --- a/gcc/function.cc +++ b/gcc/function.cc @@ -6266,7 +6266,10 @@ thread_prologue_and_epilogue_insns (void) /* Threading the prologue and epilogue changes the artificial refs in the entry and exit blocks, and may invalidate DF info for tail calls. */ - if (optimize) + if (optimize + || flag_optimize_sibling_calls + || flag_ipa_icf_functions + || in_lto_p) df_update_entry_exit_and_calls (); else {