2011-11-6 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 6 Nov 2011 13:02:15 +0000 (13:02 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 6 Nov 2011 13:02:15 +0000 (13:02 +0000)
* ipa-prop.c (ipa_modify_call_arguments): Re-compute
inlinable flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181027 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ipa-prop.c

index 0b3c310..a96d516 100644 (file)
@@ -1,3 +1,8 @@
+2011-11-6  Richard Guenther  <rguenther@suse.de>
+
+       * ipa-prop.c (ipa_modify_call_arguments): Re-compute
+       inlinable flag.
+
 2011-11-06  Ira Rosen  <ira.rosen@linaro.org>
 
        * tree-vectorizer.h (vectorizable_condition): Add argument.
index 0ca3f3a..7946aca 100644 (file)
@@ -2568,8 +2568,11 @@ ipa_modify_call_arguments (struct cgraph_edge *cs, gimple stmt,
   gimple_set_block (new_stmt, gimple_block (stmt));
   if (gimple_has_location (stmt))
     gimple_set_location (new_stmt, gimple_location (stmt));
-  gimple_call_copy_flags (new_stmt, stmt);
   gimple_call_set_chain (new_stmt, gimple_call_chain (stmt));
+  gimple_call_copy_flags (new_stmt, 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))
     {