]> git.ipfire.org Git - thirdparty/gcc.git/commit
regrename.h: New file.
authorBernd Schmidt <bernds@codesourcery.com>
Wed, 19 Oct 2011 17:26:26 +0000 (17:26 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Wed, 19 Oct 2011 17:26:26 +0000 (17:26 +0000)
commit1f234b83b85c579dabe9202bcd07cab448697a69
tree4e8270a1658fafb2457bb5416e2aad0869b86a79
parent40f73edd0c35d53f57a1c05b1b4a59c4d7a70d60
regrename.h: New file.

* regrename.h: New file.
* regrename.c: Include it.  Also include "emit-rtl.h".
(struct du_head, struct du_chain, du_head_p DEF_VEC and
DEF_VEC_ALLOC_P): Move to regrename.h.
(do_replace): Remove declaration.
(insn_rr): New variable.
(cur_operand): New static variable.
(regrename_chain_from_id): Renamed from chain_from_id and no longer
static.  All callers changed.
(record_operand_use): New static function.
(scan_rtx_reg): Use it.
(find_best_rename_reg): New function, broken out of rename_chains.
(rename_chains): Use it.  Don't update chain regno and nregs here, ...
(regrename_do_replace): ... do it here instead.  Renamed from
do_replace, and no longer static.  All callers changed.
(regrename_analyze): No longer static.  New arg bb_mask.
All callers changed.  If bb_mask is nonzero, use it to limit the
number of basic blocks we analyze.  If we failed to analyze a block,
clear insn operand data.
(record_out_operands): New arg insn_info.  Update cur_operand if it is
nonnull.
(build_def_use): If insn_rr is nonnull, pass an insn_info to
record_out_operands, and update cur_operand here as well.
(regrename_init, regrename_finish): New functions.
(regrename_optimize): Use them.
* Makefile.in (regrename.o): Adjust dependencies.

From-SVN: r180198
gcc/ChangeLog
gcc/Makefile.in
gcc/regrename.c
gcc/regrename.h [new file with mode: 0644]