Commit Graph

10 Commits

Author SHA1 Message Date
Ken Raeburn
c68da89c45 Use varrays for constant-equivalence data:
* varray.h (struct const_equiv_data): New type.
(union varray_data_tag): New element const_equiv.
(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
(VARRAY_SIZE): New macro, returns number of elements.
* integrate.h: Include varray.h.
(struct inline_remap): Replace const_equiv_map, const_age_map and
const_equiv_map_size with a const_equiv_varray element.
(MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if needed.
(SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields simultaneously,
growing the varray if needed.
* integrate.c (global_const_equiv_map, global_const_equiv_map_size): Deleted,
replaced by....
(global_const_equiv_varray): New variable.
(expand_inline_function): References changed.
* integrate.h: Update declarations.
* integrate.c (process_reg_parm, expand_inline_function,
copy_rtx_and_substitute, try_constants, subst_constants, mark_stores): Use
varray allocation and accessor macros, new integrate.h macros, and
global_const_equiv_varray.  Don't conditionalize non-NULL stores on array size;
instead, expand the array as needed.
* unroll.c (unroll_loop): Likewise.
* unroll.c (unroll_loop): Initialize const_equiv_varray element to zero.  After
allocating varray, always exit through bottom of function, where it can be
deallocated if needed.  Don't explicitly reallocate const_equiv_map storage;
instead, just ensure the varray has been initialized, and update the global
reference.

From-SVN: r24956
1999-02-01 12:50:53 +00:00
Jeff Law
e5e809f419 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.

        * haifa-sched.c: Mirror recent changes from gcc2.

From-SVN: r18984
1998-04-04 06:32:39 -07:00
Jeff Law
1f3d3a3161 integrate.c (get_label_from_map): New function.
* integrate.c (get_label_from_map): New function.
        (expand_inline_function): Use it.  Initialize the label_map to
        NULL_RTX instead of gen_label_rtx.
        (copy_rtx_and_substitute): Use get_label_from_map.
        * integrate.h (get_label_from_map): New function.
        (set_label_from_map): New macro.
        * unroll.c (unroll_loop): Use them.
        (copy_loop_body): Ditto.

From-SVN: r17139
1997-12-18 15:42:41 -07:00
Richard Kenner
3051365e56 (struct inline_remap): New fields regno_pointer_flag and
regno_pointer_align.

From-SVN: r10876
1995-12-27 15:26:58 -05:00
Richard Kenner
a35311b035 Update FSF address.
From-SVN: r9961
1995-06-15 07:52:21 -04:00
Richard Stallman
fa27d32029 (global_const_equiv_map_size): Declared.
From-SVN: r6066
1993-11-11 05:12:47 +00:00
Jim Wilson
11d1f67370 (struct inline_remap): Add integrating field.
From-SVN: r4454
1993-05-14 10:22:55 -07:00
Jim Wilson
521f2d6fcb Add prototypes.
From-SVN: r3794
1993-03-19 18:17:20 -08:00
Charles Hannum
4c9c8227ae entered into RCS
From-SVN: r183
1992-01-14 11:50:17 +00:00
Richard Stallman
3250221d1a Initial revision
From-SVN: r32
1991-08-17 19:25:11 +00:00