summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-10 15:50:22 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-10 15:50:22 +0000
commit03bfb68ff297da690fcf1a0e13a5eb6dacd1e2b3 (patch)
tree24e119b58e889caff12306c5a6f38931e8993941 /gcc
parentea82bb93744f68a0411344b57701a041eb2b6bd1 (diff)
downloadgcc-03bfb68ff297da690fcf1a0e13a5eb6dacd1e2b3.tar.gz
* loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
(strength_reduce): Release the varrays from the no-bivs early exit. * reload1.c (order_regs_for_reload): Init hard_reg_n_uses before the loop over the registers. * tree.c (save_tree_status): Set maybepermanent_firstobj NULL for a new obstack. (restore_tree_status): Check that instead when freeing the obstack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29270 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/loop.c6
-rw-r--r--gcc/reload1.c9
-rw-r--r--gcc/tree.c7
3 files changed, 13 insertions, 9 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 8ac169fb363..4025f7c67d5 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -3926,7 +3926,7 @@ strength_reduce (scan_start, end, loop_top, insn_count,
unroll_loop (loop_end, insn_count, loop_start, end_insert_before,
loop_info, 0);
- return;
+ goto egress;
}
/* Find initial value for each biv by searching backwards from loop_start,
@@ -5225,6 +5225,8 @@ strength_reduce (scan_start, end, loop_top, insn_count,
if (loop_dump_stream)
fprintf (loop_dump_stream, "\n");
+
+egress:
VARRAY_FREE (reg_iv_type);
VARRAY_FREE (reg_iv_info);
}
@@ -6000,7 +6002,7 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location)
rtx insn, set = 0;
code = GET_CODE (x);
- *location = NULL_RTX;
+ *location = NULL;
switch (code)
{
case PLUS:
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 05850def4bc..915a9a0342f 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -4109,6 +4109,12 @@ order_regs_for_reload (chain)
COPY_HARD_REG_SET (bad_spill_regs, bad_spill_regs_global);
+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
+ {
+ hard_reg_n_uses[i].regno = i;
+ hard_reg_n_uses[i].uses = 0;
+ }
+
/* Count number of uses of each hard reg by pseudo regs allocated to it
and then order them by decreasing use. */
@@ -4116,9 +4122,6 @@ order_regs_for_reload (chain)
{
int j;
- hard_reg_n_uses[i].regno = i;
- hard_reg_n_uses[i].uses = 0;
-
/* Test the various reasons why we can't use a register for
spilling in this insn. */
if (fixed_regs[i]
diff --git a/gcc/tree.c b/gcc/tree.c
index 16d3f4df43f..2dc6361d0ac 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -365,8 +365,7 @@ save_tree_status (p)
function_maybepermanent_obstack
= (struct obstack *) xmalloc (sizeof (struct obstack));
gcc_obstack_init (function_maybepermanent_obstack);
- maybepermanent_firstobj
- = (char *) obstack_finish (function_maybepermanent_obstack);
+ maybepermanent_firstobj = NULL;
function_obstack = (struct obstack *) xmalloc (sizeof (struct obstack));
gcc_obstack_init (function_obstack);
@@ -399,9 +398,9 @@ restore_tree_status (p)
obstack_free (&temporary_obstack, temporary_firstobj);
obstack_free (&momentary_obstack, momentary_function_firstobj);
- obstack_free (function_obstack, 0);
+ obstack_free (function_obstack, NULL);
- if (obstack_empty_p (function_maybepermanent_obstack))
+ if (maybepermanent_firstobj == NULL)
free (function_maybepermanent_obstack);
free (function_obstack);