aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-07-21 19:48:27 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-07-21 19:48:27 -0700
commit727a31fab813e31263cc0ee9f56940ee6d95782f (patch)
treeb73bc536f4dc7bf38bca669bed0165ada4082844 /gcc/cfgexpand.c
parenteecbcf542827192523d9575520b7abdce5d946a9 (diff)
downloadgcc-727a31fab813e31263cc0ee9f56940ee6d95782f.zip
gcc-727a31fab813e31263cc0ee9f56940ee6d95782f.tar.gz
gcc-727a31fab813e31263cc0ee9f56940ee6d95782f.tar.bz2
gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE...
* gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE, TREE_THIS_VOLATILE, may_aliases, or optimization level. (remove_useless_vars): Dump debugging info. (expand_used_vars): Move ... * cfgexpand.c (expand_used_vars): ... here. Make static. * tree-flow-inline.h (set_is_used): New. (set_default_def): Use get_var_ann. * tree-flow.h: Update decls. * tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New. (create_ssa_var_map): Use it. * tree-ssa.c (set_is_used): Remove. From-SVN: r85034
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index f4fe860..30004f2 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -37,6 +37,22 @@ Boston, MA 02111-1307, USA. */
#include "flags.h"
+/* Expand variables in the unexpanded_var_list. */
+
+static void
+expand_used_vars (void)
+{
+ tree cell;
+
+ cfun->unexpanded_var_list = nreverse (cfun->unexpanded_var_list);
+
+ for (cell = cfun->unexpanded_var_list; cell; cell = TREE_CHAIN (cell))
+ expand_var (TREE_VALUE (cell));
+
+ cfun->unexpanded_var_list = NULL_TREE;
+}
+
+
/* A subroutine of expand_gimple_basic_block. Expand one COND_EXPR.
Returns a new basic block if we've terminated the current basic
block and created a new one. */
@@ -420,10 +436,7 @@ tree_expand_cfg (void)
/* Prepare the rtl middle end to start recording block changes. */
reset_block_changes ();
- /* Expand the variables recorded during gimple lowering. This must
- occur before the call to expand_function_start to ensure that
- all used variables are expanded before we expand anything on the
- PENDING_SIZES list. */
+ /* Expand the variables recorded during gimple lowering. */
expand_used_vars ();
/* Set up parameters and prepare for return, for the function. */