diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-05 08:51:53 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-05 08:51:53 +0000 |
commit | f883da8463719d4a89f256f064df8261a10809ec (patch) | |
tree | 06f9d8d603ca3da5bab04e63d6fb3e6ded7f762d /gcc/ipa-prop.c | |
parent | 74c02416f16dcb94526b28b91d675505c15dfab5 (diff) | |
download | gcc-f883da8463719d4a89f256f064df8261a10809ec.tar.gz |
2011-12-05 Richard Guenther <rguenther@suse.de>
* cgraph.c (cgraph_create_edge_1): Initialize
call_stmt_cannot_inline_p from the stmt if possible.
(cgraph_make_edge_direct): Likewise.
* gimple-streamer-in.c (input_gimple_stmt): Do not
call gimple_call_set_cannot_inline.
* gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift
values.
(gimple_call_set_cannot_inline): Remove.
(gimple_call_cannot_inline_p): Likewise.
* ipa-inline-analysis.c (initialize_inline_failed): Look
at the edge call_stmt_cannot_inline_p flag.
* ipa-inline.c (can_inline_edge_p): Likewise.
(early_inliner): Only update the edge flag.
* ipa-prop.c (update_indirect_edges_after_inlining): Likewise.
(ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline.
* cgraphunit.c (assemble_thunk): Likewise.
* gimple-fold.c (gimple_fold_call): Likewise.
* tree.h (CALL_CANNOT_INLINE_P): Remove.
* tree-mudflap.c (mf_xform_statements): Do not modify alloca calls.
* builtins.c (expand_builtin_alloca): With -fmudflap do not expand
alloca calls inline.
* cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P.
* gimple.c (gimple_build_call_from_tree): Do not read
CALL_CANNOT_INLINE_P.
* gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182001 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r-- | gcc/ipa-prop.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 69f0453ee4f..25ae3868c31 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -1905,13 +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 - && !gimple_check_call_matching_types (new_direct_edge->call_stmt, - new_direct_edge->callee->decl)) - { - gimple_call_set_cannot_inline (new_direct_edge->call_stmt, true); - new_direct_edge->call_stmt_cannot_inline_p = true; - } + 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, @@ -2577,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)) { |