diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-prop.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b3c310..a96d516 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 0ca3f3a..7946aca 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -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)) { |