This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix fallout from inlinable flag handling change


This fixes ipa-prop to properly re-compute inlinability which
can change from false to true if a mismatched argument is dropped.

Bootstrapped and tested onx 86_64-unknown-linux-gnu, applied.

Richard.

2011-11-6  Richard Guenther  <rguenther@suse.de>

	* ipa-prop.c (ipa_modify_call_arguments): Re-compute
	inlinable flag.

Index: gcc/ipa-prop.c
===================================================================
--- gcc/ipa-prop.c	(revision 181026)
+++ gcc/ipa-prop.c	(working copy)
@@ -2568,8 +2568,11 @@
   gimple_set_block (new_stmt, gimple_block (stmt));
   if (gimple_has_location (stmt))
     gimple_set_location (new_stmt, gimple_location (stmt));
+  gimple_call_set_chain (new_stmt, gimple_call_chain (stmt));
   gimple_call_copy_flags (new_stmt, stmt);
-  gimple_call_set_chain (new_stmt, gimple_call_chain (stmt));
+  if (gimple_call_cannot_inline_p (stmt))
+    gimple_call_set_cannot_inline
+      (new_stmt, !gimple_check_call_matching_types (new_stmt, callee_decl));
 
   if (dump_file && (dump_flags & TDF_DETAILS))
     {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]