diff options
author | Richard Guenther <rguenther@suse.de> | 2011-12-05 08:51:53 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-12-05 08:51:53 +0000 |
commit | 89faf322d87cbfad71c079acc8b96a5a145a60f7 (patch) | |
tree | 06f9d8d603ca3da5bab04e63d6fb3e6ded7f762d /gcc/gimple-fold.c | |
parent | 5275901c43a4c3f8feb32999af281ae5d009bac6 (diff) | |
download | gcc-89faf322d87cbfad71c079acc8b96a5a145a60f7.zip gcc-89faf322d87cbfad71c079acc8b96a5a145a60f7.tar.gz gcc-89faf322d87cbfad71c079acc8b96a5a145a60f7.tar.bz2 |
cgraph.c (cgraph_create_edge_1): Initialize call_stmt_cannot_inline_p from the stmt if possible.
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.
From-SVN: r182001
Diffstat (limited to 'gcc/gimple-fold.c')
-rw-r--r-- | gcc/gimple-fold.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 0da5eef..3297f11 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -1108,23 +1108,12 @@ gimple_fold_call (gimple_stmt_iterator *gsi, bool inplace) } } - /* Check whether propagating into the function address made the - call direct, and thus possibly non-inlineable. - ??? This asks for a more conservative setting of the non-inlinable - flag, namely true for all indirect calls. But that would require - that we can re-compute the flag conservatively, thus it isn't - ever initialized from something else than return/argument type - checks . */ - callee = gimple_call_fndecl (stmt); - if (callee - && !gimple_check_call_matching_types (stmt, callee)) - gimple_call_set_cannot_inline (stmt, true); - if (inplace) return changed; /* Check for builtins that CCP can handle using information not available in the generic fold routines. */ + callee = gimple_call_fndecl (stmt); if (callee && DECL_BUILT_IN (callee)) { tree result = gimple_fold_builtin (stmt); |