diff options
author | Jan Hubicka <jh@suse.cz> | 2005-06-30 02:47:49 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2005-06-30 00:47:49 +0000 |
commit | acb8f2123d5a627e6c5dad2e78fd57d2bd6c6fb1 (patch) | |
tree | 61f3a41e0903263a69773a750d50202e1e71289e /gcc/gimple-low.c | |
parent | 0abb14c01353a5f52ee2a5fee73ed0862d306af0 (diff) | |
download | gcc-acb8f2123d5a627e6c5dad2e78fd57d2bd6c6fb1.zip gcc-acb8f2123d5a627e6c5dad2e78fd57d2bd6c6fb1.tar.gz gcc-acb8f2123d5a627e6c5dad2e78fd57d2bd6c6fb1.tar.bz2 |
function.h (struct function): Add saved blocks/unexpanded var list.
* 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.
From-SVN: r101449
Diffstat (limited to 'gcc/gimple-low.c')
-rw-r--r-- | gcc/gimple-low.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c index 7acb4a4..3bece1a 100644 --- a/gcc/gimple-low.c +++ b/gcc/gimple-low.c @@ -516,11 +516,13 @@ record_vars (tree vars) { tree var = vars; + /* BIND_EXPRs contains also function/type/constant declarations + we don't need to care about. */ + if (TREE_CODE (var) != VAR_DECL) + continue; /* Nothing to do in this case. */ if (DECL_EXTERNAL (var)) continue; - if (TREE_CODE (var) == FUNCTION_DECL) - continue; /* Record the variable. */ cfun->unexpanded_var_list = tree_cons (NULL_TREE, var, |