diff mbox series

Revert workaround allowing interposition on nested functions

Message ID 20211108180202.GC21089@kam.mff.cuni.cz
State New
Headers show
Series Revert workaround allowing interposition on nested functions | expand

Commit Message

Jan Hubicka Nov. 8, 2021, 6:02 p.m. UTC
Hi,
the workaround seems to be no longer necessary - it seems that all the
issues was isolated to wrong beaviour of can_be_interposed wrt
partitioned functions.

Honza

	* gimple.c (gimple_call_static_chain_flags): Revert the workaround
	allowing interposition since issues with binds_to_local_def were
	hopefully solved.
diff mbox series

Patch

diff --git a/gcc/gimple.c b/gcc/gimple.c
index 3d1d3a15b2c..9e65fa61c73 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -1645,13 +1645,13 @@  gimple_call_static_chain_flags (const gcall *stmt)
       modref_summary *summary = node ? get_modref_function_summary (node)
 				: NULL;
 
+      /* Nested functions should always bind to current def since
+	 there is no public ABI for them.  */
+      gcc_checking_assert (node->binds_to_current_def_p ());
       if (summary)
 	{
 	  int modref_flags = summary->static_chain_flags;
 
-	  /* ??? Nested functions should always bind to current def.  */
-	  if (!node->binds_to_current_def_p ())
-	    modref_flags = interposable_eaf_flags (modref_flags, flags);
 	  if (dbg_cnt (ipa_mod_ref_pta))
 	    flags |= modref_flags;
 	}