Copy debug info properly in the inliner
Richard Henderson
rth@redhat.com
Tue Jun 28 07:13:00 GMT 2005
On Tue, Jun 28, 2005 at 01:28:47AM +0200, Jan Hubicka wrote:
> * function.h (struct function): Add saved blocks/unexpanded var list.
> * gimple-low.c (record_vars): Insert only VAR_DECLs.
> * tree-inline.c (add_lexical_block): Declare; do not clear sublocks.
> (remap_decl): Do not declare vars.
> (remap_block): Do not care inserting blocks.
> (remap_blocks): New function.
> (copy_body_r): Update debug info.
> (expand_call_inline): Duplicate callee block tree into caller;
> copy all the unexpanded_var_list.
> (save_body): Save unexpanded_var_list and blocks.
> * tree-optimize.c (tree_rest_of_optimization): Restore
> blocks/unexpanded_var_list.
Ok if you update the TREE_BLOCK portion and
> + cfun->saved_unexpanded_var_list = tree_cons (NULL_TREE, remap_decl (var, &id),
> + cfun->saved_unexpanded_var_list);
fix line lengths.
r~
More information about the Gcc-patches
mailing list