summaryrefslogtreecommitdiff
path: root/gcc/regrename.c
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-02 17:01:13 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-02 17:01:13 +0000
commit83e32a86ce5b5190303dafd4a0e4ccec84b73d23 (patch)
tree33e626ecf7d173a341ab289bdd457e7b358a8650 /gcc/regrename.c
parentc8e28f0bc980570ef2b0dc5dbf806e9c1bbe3a5d (diff)
downloadgcc-83e32a86ce5b5190303dafd4a0e4ccec84b73d23.tar.gz
* c-common.h: Prototype min_precision and c_build_qualified_type here...
* c-tree.h: ... not here. * errors.h: Prototype fancy_abort. * emit-rtl.c (gen_lowpart_common): Move variable 'c' into HOST_BITS_PER_WIDE_INT == 64 ifdef block. * regrename.c (regrename_optimize): Make control flow explicit. (replace_reg_in_block): Initialize reg_use to 0. * i386.c (legitimate_address_p): Rename error label to report_error to avoid namespace clash. cp: * cp-tree.h: Don't prototype min_precision here. (my_friendly_assert): Cast expression to void. * semantics.c (do_poplevel): Initialize scope_stmts. f: * expr.c (ffeexpr_finished_): Cast signed side of ?: expression to bool. java: * class.c (build_dtable_decl): Initialize dummy. intl: * dcgettext.c (find_msg): Initialize act before loop. (guess_category_value): Add dummy uses of both parameters. * localealias.c (read_alias_file): Cast arg of strchr to char *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35427 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regrename.c')
-rw-r--r--gcc/regrename.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/gcc/regrename.c b/gcc/regrename.c
index 5f41f6bba0c..b29046bffef 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -347,32 +347,26 @@ regrename_optimize ()
if (consider_available (reg_use, avail_reg,
&avail_regs, rc, &du,
def_idx[def]))
- break;
+ goto found_avail_reg;
}
- if (ar_idx == FIRST_PSEUDO_REGISTER)
+ if (rtl_dump_file)
{
- if (rtl_dump_file)
- {
- fprintf (rtl_dump_file,
- "Register %s in class %s",
- reg_names[r], reg_class_names[rc]);
- fprintf (rtl_dump_file,
- " in insn %d",
- INSN_UID (VARRAY_RTX (uid_ruid,
- def_idx[def])));
-
- if (TEST_BIT (du.require_call_save_reg,
- def_idx[def]))
- fprintf (rtl_dump_file, " crosses a call");
+ fprintf (rtl_dump_file, "Register %s in class %s",
+ reg_names[r], reg_class_names[rc]);
+ fprintf (rtl_dump_file, " in insn %d",
+ INSN_UID (VARRAY_RTX (uid_ruid,
+ def_idx[def])));
- fprintf (rtl_dump_file,
- ". No available registers\n");
- }
+ if (TEST_BIT (du.require_call_save_reg,
+ def_idx[def]))
+ fprintf (rtl_dump_file, " crosses a call");
- goto try_next_def;
+ fprintf (rtl_dump_file, ". No available registers\n");
}
+ goto try_next_def;
+ found_avail_reg:
SET_HARD_REG_BIT (renamed_regs, avail_reg);
CLEAR_HARD_REG_BIT (avail_regs, avail_reg);
@@ -530,7 +524,7 @@ replace_reg_in_block (du, uid_ruid, def, reg_def, avail_reg)
unsigned int r = REGNO (reg_def);
rtx death_note;
rtx reg_notes;
- rtx reg_use;
+ rtx reg_use = 0;
rtx new_reg = gen_rtx_REG (GET_MODE (reg_def), avail_reg);
rr_replace_reg (PATTERN (VARRAY_RTX (*uid_ruid, def)), reg_def, new_reg,