diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-06-04 07:11:05 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-06-04 07:11:05 +0000 |
commit | 1f3233d13f58417984cb2239d328b65e8d172744 (patch) | |
tree | 720630adca0f6b357e05c4feb8cbe33d556925ce /gcc/alias.c | |
parent | 0dc11899d8781bca1da5f4421327d61890424808 (diff) | |
download | gcc-1f3233d13f58417984cb2239d328b65e8d172744.tar.gz |
Merge from pch-branch up to tag pch-commit-20020603.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54232 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index e3dd16008cf..c528fcf1552 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -152,7 +152,7 @@ static int nonlocal_set_p PARAMS ((rtx)); current function performs nonlocal memory memory references for the purposes of marking the function as a constant function. */ -static rtx *reg_base_value; +static GTY((length ("reg_base_value_size"))) rtx *reg_base_value; static rtx *new_reg_base_value; static unsigned int reg_base_value_size; /* size of reg_base_value array */ @@ -2663,8 +2663,8 @@ init_alias_analysis () optimization. Loop unrolling can create a large number of registers. */ reg_base_value_size = maxreg * 2; - reg_base_value = (rtx *) xcalloc (reg_base_value_size, sizeof (rtx)); - ggc_add_rtx_root (reg_base_value, reg_base_value_size); + reg_base_value = (rtx *) ggc_alloc_cleared (reg_base_value_size + * sizeof (rtx)); new_reg_base_value = (rtx *) xmalloc (reg_base_value_size * sizeof (rtx)); reg_seen = (char *) xmalloc (reg_base_value_size); @@ -2878,12 +2878,7 @@ end_alias_analysis () reg_known_value_size = 0; free (reg_known_equiv_p + FIRST_PSEUDO_REGISTER); reg_known_equiv_p = 0; - if (reg_base_value) - { - ggc_del_root (reg_base_value); - free (reg_base_value); - reg_base_value = 0; - } + reg_base_value = 0; reg_base_value_size = 0; if (alias_invariant) { @@ -2891,3 +2886,5 @@ end_alias_analysis () alias_invariant = 0; } } + +#include "gt-alias.h" |