X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fipa-prop.c;h=17e3b4ffb17cadc36ef961836bc6ad4df52ceb94;hb=2c43d59054e4f23e8b0f2adbb2ba05b4d5b5059e;hp=7946aca0bff4f67675be771347bf612b1a974515;hpb=d92a57ff946dece32ff49e1cc2faba1a7f241c89;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 7946aca0bff..17e3b4ffb17 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -1905,6 +1905,10 @@ update_indirect_edges_after_inlining (struct cgraph_edge *cs, if (new_direct_edge) { new_direct_edge->indirect_inlining_edge = 1; + if (new_direct_edge->call_stmt) + new_direct_edge->call_stmt_cannot_inline_p + = !gimple_check_call_matching_types (new_direct_edge->call_stmt, + new_direct_edge->callee->decl); if (new_edges) { VEC_safe_push (cgraph_edge_p, heap, *new_edges, @@ -2570,9 +2574,6 @@ ipa_modify_call_arguments (struct cgraph_edge *cs, gimple 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); - 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)) { @@ -3002,9 +3003,9 @@ ipa_prop_read_section (struct lto_file_decl_data *file_data, const char *data, { const struct lto_function_header *header = (const struct lto_function_header *) data; - const int32_t cfg_offset = sizeof (struct lto_function_header); - const int32_t main_offset = cfg_offset + header->cfg_size; - const int32_t string_offset = main_offset + header->main_size; + const int cfg_offset = sizeof (struct lto_function_header); + const int main_offset = cfg_offset + header->cfg_size; + const int string_offset = main_offset + header->main_size; struct data_in *data_in; struct lto_input_block ib_main; unsigned int i;