diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-03-26 20:54:44 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-03-26 19:54:44 +0000 |
commit | 5058c037581a2015d2e2ea86c50628dcde72f646 (patch) | |
tree | ff4f08f1aba0f9a9dd96795eaa4ede3df6b92be8 /gcc/ipa-inline-transform.c | |
parent | 082276588e742c74af0216ae824b112b8ec7bb97 (diff) | |
download | gcc-5058c037581a2015d2e2ea86c50628dcde72f646.zip gcc-5058c037581a2015d2e2ea86c50628dcde72f646.tar.gz gcc-5058c037581a2015d2e2ea86c50628dcde72f646.tar.bz2 |
ipa-inline-analysis.c (redirect_to_unreachable): New function.
* ipa-inline-analysis.c (redirect_to_unreachable): New function.
(edge_set_predicate): Use it to mark unreachable edges.
(inline_summary_t::duplicate): Remove unnecesary code.
(remap_edge_summaries): Likewise.
(dump_inline_summary): Report contains_cilk_spawn.
(compute_inline_parameters): Compute contains_cilk_spawn.
(inline_read_section, inline_write_summary): Stream
contains_cilk_spawn.
* ipa-inline.c (can_inline_edge_p): Do not tuch
DECL_STRUCT_FUNCTION that may not be available;
use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
remove check for callee_fun->can_throw_non_call_exceptions and
replace it by optimization attribute check; check for flag_exceptions.
* ipa-inline-transform.c (inline_call): Maintain
DECL_FUNCTION_PERSONALITY
* ipa-inline.h (inline_summary): Add contains_cilk_spawn.
From-SVN: r221706
Diffstat (limited to 'gcc/ipa-inline-transform.c')
-rw-r--r-- | gcc/ipa-inline-transform.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c index 43bb41f..952659c 100644 --- a/gcc/ipa-inline-transform.c +++ b/gcc/ipa-inline-transform.c @@ -322,6 +322,10 @@ inline_call (struct cgraph_edge *e, bool update_original, if (to->global.inlined_to) to = to->global.inlined_to; + if (DECL_FUNCTION_PERSONALITY (callee->decl)) + DECL_FUNCTION_PERSONALITY (to->decl) + = DECL_FUNCTION_PERSONALITY (callee->decl); + /* If aliases are involved, redirect edge to the actual destination and possibly remove the aliases. */ if (e->callee != callee) |