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.
This commit is contained in:
Eric Botcazou 2023-01-13 22:05:28 +01:00
parent 1a460d19ba
commit 4fa6845b4b

View File

@ -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
{