aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-low.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2005-06-30 02:47:49 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2005-06-30 00:47:49 +0000
commitacb8f2123d5a627e6c5dad2e78fd57d2bd6c6fb1 (patch)
tree61f3a41e0903263a69773a750d50202e1e71289e /gcc/gimple-low.c
parent0abb14c01353a5f52ee2a5fee73ed0862d306af0 (diff)
downloadgcc-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.c6
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,