diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-13 14:18:04 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-13 14:18:04 +0000 |
commit | 5bbaf5ca6c70119a37f10b64ca37cc16496120ec (patch) | |
tree | a572ebf2a3de1b04d3af878e1ae572f9db1c8d50 /gcc/cselib.c | |
parent | e31b950c5003b7e13758f6cd54e26b858eeb5f96 (diff) | |
download | gcc-5bbaf5ca6c70119a37f10b64ca37cc16496120ec.tar.gz |
* cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
HARD_REGISTER_NUM_P.
* cselib.c (new_cselib_val): Make comment correct and more detailed.
* flow.c (mark_set_1): Likewise.
* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
duplicate_eh_regions): Remove.
* except.h (duplicate_eh_regions): Remove prototype.
* integrate.c (get_label_from_map, copy_rtx_and_substitute,
global_const_equiv_varray): Remove.
* integrate.h (get_label_from_map, copy_rtx_and_substitute,
global_const_equiv_varray, set_label_in_map): Remove prototypes,
extern declaration, and #define.
(MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
(struct inline_remap): Remove.
* varray.c (struct element): Remove entry for const_equiv_data.
* varray.h (struct const_equiv_data): Remove.
(enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
(union varray_data_tag) <const_equiv>: Remove.
(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
* regstack.c (record_label_references): Remove unused function.
* rtl.def (VALUE): Update comment.
(LABEL_REF): Remove unused operand 2.
* rtl.h (struct rtx_def): Update for removed accessor macros.
(XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
REG_LOOP_TEST_P): Remove.
(ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
* web.c (entry_register): Don't copy REG_LOOP_TEST_P.
* doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90580 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r-- | gcc/cselib.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cselib.c b/gcc/cselib.c index eb0b52a2edc..df22800114d 100644 --- a/gcc/cselib.c +++ b/gcc/cselib.c @@ -704,8 +704,11 @@ new_cselib_val (unsigned int value, enum machine_mode mode) gcc_assert (value); e->value = value; - /* We use custom method to allocate this RTL construct because it accounts - about 8% of overall memory usage. */ + /* We use an alloc pool to allocate this RTL construct because it + accounts for about 8% of the overall memory usage. We know + precisely when we can have VALUE RTXen (when cselib is active) + so we don't need to put them in garbave collected memory. + ??? Why should a VALUE be an RTX in the first place? */ e->u.val_rtx = pool_alloc (value_pool); memset (e->u.val_rtx, 0, RTX_HDR_SIZE); PUT_CODE (e->u.val_rtx, VALUE); |