diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2011-02-17 16:18:24 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-02-17 16:18:24 +0000 |
commit | bb7e6d55dac07daafb45645002be2798f78c87b2 (patch) | |
tree | a5366c0ffa8ef61e2d0da52de00aa6d5a7cf2871 /gcc/ipa-inline.c | |
parent | f181a8a73f8b1e0a36659eddcdd94f89ce897561 (diff) | |
download | gcc-bb7e6d55dac07daafb45645002be2798f78c87b2.zip gcc-bb7e6d55dac07daafb45645002be2798f78c87b2.tar.gz gcc-bb7e6d55dac07daafb45645002be2798f78c87b2.tar.bz2 |
re PR debug/47106 (-fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack)
PR debug/47106
PR debug/47402
* cfgexpand.c (account_used_vars_for_block): Remove.
(estimated_stack_frame_size): Use referenced vars.
* tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
that were referenced in the original function. Test src_fn
rather than cfun. Drop redundant get_var_ann.
(setup_one_parameter): Drop redundant get_var_ann.
(declare_return_variable): Likewise.
(copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
(copy_arguments_for_versioning): Drop redundant get_var_ann.
* ipa-inline.c (compute_inline_parameters): Do not compute
disregard_inline_limits here.
are not available.
(compute_inlinable_for_current, pass_inlinable): New.
(pass_inline_parameters): Require PROP_referenced_vars.
* cgraphunit.c (cgraph_process_new_functions): Don't run
compute_inline_parameters explicitly unless function is in
SSA form.
(cgraph_analyze_function): Set .disregard_inline_limits.
* tree-sra.c (convert_callers): Compute inliner parameters
only for functions already in SSA form.
* g++.dg/debug/pr47106.C: New.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r170249
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 97e4807..176f994 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -2006,9 +2006,6 @@ compute_inline_parameters (struct cgraph_node *node) break; node->local.can_change_signature = !e; } - if (node->local.inlinable && !node->local.disregard_inline_limits) - node->local.disregard_inline_limits - = DECL_DISREGARD_INLINE_LIMITS (node->decl); estimate_function_body_sizes (node); /* Inlining characteristics are maintained by the cgraph_mark_inline. */ node->global.time = inline_summary (node)->self_time; |