diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-08-02 17:01:13 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-08-02 17:01:13 +0000 |
commit | 83e32a86ce5b5190303dafd4a0e4ccec84b73d23 (patch) | |
tree | 33e626ecf7d173a341ab289bdd457e7b358a8650 /gcc/regrename.c | |
parent | c8e28f0bc980570ef2b0dc5dbf806e9c1bbe3a5d (diff) | |
download | gcc-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.c | 34 |
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, |