gcc.git
32 years agocaller-save.c (init_caller_save): If we were unable to find a simple insn which meets...
Jeff Law [Wed, 2 Sep 1992 23:08:44 +0000 (17:08 -0600)]
caller-save.c (init_caller_save): If we were unable to find a simple insn which meets all its constraints to save...

* caller-save.c (init_caller_save): If we were unable to
find a simple insn which meets all its constraints to save
and restore with a single insn in a mode, then set
regno_save_mode to VOIDmode to insure that this mode is never
used to caller-save the current register.

From-SVN: r2038

32 years ago(find_reloads): If have any earlyclobbers, don't let any reloads overlap with them.
Richard Stallman [Wed, 2 Sep 1992 21:21:19 +0000 (21:21 +0000)]
(find_reloads): If have any earlyclobbers, don't let any reloads overlap with them.

(find_reloads): If have any earlyclobbers, don't let any
reloads overlap with them.  Make everything RELOAD_OTHER.

From-SVN: r2037

32 years ago(default_compilers, ".C" and ".ii"): Pass `+e*' into cc1plus.
Brendan Kehoe [Wed, 2 Sep 1992 20:10:54 +0000 (16:10 -0400)]
(default_compilers, ".C" and ".ii"): Pass `+e*' into cc1plus.

(process_command): Allow +e[012] to be passed down into cc1plus.

From-SVN: r2036

32 years ago(SImode ldd peepholes): Add `f' to constraints.
Jim Wilson [Wed, 2 Sep 1992 18:25:15 +0000 (11:25 -0700)]
(SImode ldd peepholes): Add `f' to constraints.

From-SVN: r2035

32 years ago(handle_pragma_token): Delete.
Jim Wilson [Wed, 2 Sep 1992 17:45:35 +0000 (10:45 -0700)]
(handle_pragma_token): Delete.

From-SVN: r2034

32 years ago(HANDLE_PRAGMA): Delete.
Jim Wilson [Wed, 2 Sep 1992 17:45:11 +0000 (10:45 -0700)]
(HANDLE_PRAGMA): Delete.

From-SVN: r2033

32 years agoDrop \v in last change.
Tom Wood [Wed, 2 Sep 1992 16:38:37 +0000 (16:38 +0000)]
Drop \v in last change.

From-SVN: r2032

32 years agoChange the location of the Sun bundled C compiler (for backup defaults).
Jim Wilson [Wed, 2 Sep 1992 16:34:08 +0000 (09:34 -0700)]
Change the location of the Sun bundled C compiler (for backup defaults).

From-SVN: r2031

32 years ago(MOVE_MAX): Express in bytes not bits.
Tom Wood [Wed, 2 Sep 1992 16:10:04 +0000 (16:10 +0000)]
(MOVE_MAX): Express in bytes not bits.

From-SVN: r2030

32 years ago(output_ascii): Output known escape characters and don't
Tom Wood [Wed, 2 Sep 1992 16:09:16 +0000 (16:09 +0000)]
(output_ascii): Output known escape characters and don't
terminate the constant if an octal escape is used.

From-SVN: r2029

32 years ago(make_compound_operation...
Richard Kenner [Wed, 2 Sep 1992 10:37:38 +0000 (06:37 -0400)]
(make_compound_operation...

(make_compound_operation, case ASHIFTRT): Add new code to
handle (ashiftrt (neg (ashift FOO C1) C2)) just like we currently
handle (ashiftrt (OP (ashiftrt FOO C1) C2) C2).

From-SVN: r2028

32 years ago(print_node): Avoid 1 << (HOST_BITS_PER_INT - 1),
Richard Stallman [Wed, 2 Sep 1992 06:59:00 +0000 (06:59 +0000)]
(print_node): Avoid 1 << (HOST_BITS_PER_INT - 1),

which overflows.  Use unsigned % to compute HASH.

From-SVN: r2027

32 years agoInitial revision
Richard Stallman [Wed, 2 Sep 1992 06:19:04 +0000 (06:19 +0000)]
Initial revision

From-SVN: r2026

32 years ago(X_CFLAGS): Deleted.
Richard Stallman [Wed, 2 Sep 1992 06:18:15 +0000 (06:18 +0000)]
(X_CFLAGS): Deleted.

From-SVN: r2025

32 years ago(lang_options): Add terminating zero.
Richard Stallman [Wed, 2 Sep 1992 05:33:36 +0000 (05:33 +0000)]
(lang_options): Add terminating zero.

From-SVN: r2024

32 years ago(process_init_constructor): Handle ranges.
Richard Stallman [Wed, 2 Sep 1992 05:32:43 +0000 (05:32 +0000)]
(process_init_constructor): Handle ranges.

From-SVN: r2023

32 years ago(gmon.o): gmon-sol2.c is in config/.
Richard Stallman [Wed, 2 Sep 1992 04:16:01 +0000 (04:16 +0000)]
(gmon.o): gmon-sol2.c is in config/.

From-SVN: r2022

32 years ago(handle_pragma_token): Only use if HANDLE_SYSV_PRAGMA isn't defined.
Richard Stallman [Wed, 2 Sep 1992 04:14:27 +0000 (04:14 +0000)]
(handle_pragma_token): Only use if HANDLE_SYSV_PRAGMA isn't defined.

From-SVN: r2021

32 years agoChanged some decls.
Richard Stallman [Wed, 2 Sep 1992 02:04:32 +0000 (02:04 +0000)]
Changed some decls.

From-SVN: r2020

32 years agoChanged the format of various sections to conform with GNU standard.
Richard Stallman [Wed, 2 Sep 1992 01:59:40 +0000 (01:59 +0000)]
Changed the format of various sections to conform with GNU standard.

Deleted dependencies on some header files.
Replaced the use of the functions from memory.h with funtions like bzero.
Changed the include format.

From-SVN: r2019

32 years ago(CPP_SPEC, TARGET_SWITCHES): new flags: -mnosnake,
Timothy Moore [Tue, 1 Sep 1992 21:27:47 +0000 (21:27 +0000)]
(CPP_SPEC, TARGET_SWITCHES): new flags: -mnosnake,

        -mpa-risc-1-0, -mpa-risc-1-1.
        (ASM_DECLARE_FUNCTION_NAME): Emit argument descriptors for all
        general registers if current_function_varargs.

From-SVN: r2018

32 years ago(current_block): Decl deleted.
Richard Stallman [Tue, 1 Sep 1992 20:32:43 +0000 (20:32 +0000)]
(current_block):  Decl deleted.

(set_block):  Declared.

From-SVN: r2017

32 years ago(emit_insns_after): Update last_insn if nec.
Richard Stallman [Tue, 1 Sep 1992 20:31:58 +0000 (20:31 +0000)]
(emit_insns_after): Update last_insn if nec.

From-SVN: r2016

32 years ago(current_block): Function deleted.
Richard Stallman [Tue, 1 Sep 1992 20:30:57 +0000 (20:30 +0000)]
(current_block):  Function deleted.

(set_block):  New function.
(poplevel): If using a previously created block,
don't insert it into the parent level.

From-SVN: r2015

32 years ago(expand_fixup): Create a BLOCK node (via pushlevel/poplevel) to represent an...
Richard Stallman [Tue, 1 Sep 1992 20:29:40 +0000 (20:29 +0000)]
(expand_fixup): Create a BLOCK node (via pushlevel/poplevel) to represent an...

(expand_fixup):  Create a BLOCK node (via pushlevel/poplevel)
to represent an artificial scope containing all of the fixup code.
Also emit NOTE_INSN_BLOCK_BEG/NOTE_INSN_BLOCK_END for that block.
(fixup_gotos):  Declaration of NEWBLOCK deleted.
Call `set_block' to use the BLOCK made in expand_fixup.
Deleted code to insert NEWBLOCK into block hierarchy.

From-SVN: r2014

32 years ago(output_move_double): Use `ldo' for immediate adds (instead of `addi' with bad syntax).
Torbjorn Granlund [Tue, 1 Sep 1992 15:38:03 +0000 (15:38 +0000)]
(output_move_double): Use `ldo' for immediate adds (instead of `addi' with bad syntax).

(output_move_double): Use `ldo' for immediate adds (instead of
`addi' with bad syntax).
(output_load_address): Likewise.

From-SVN: r2013

32 years agoComment fixes.
Richard Stallman [Tue, 1 Sep 1992 06:21:12 +0000 (06:21 +0000)]
Comment fixes.

From-SVN: r2012

32 years ago(make_node): Fix typo in July 6 change:
Richard Stallman [Tue, 1 Sep 1992 06:19:13 +0000 (06:19 +0000)]
(make_node): Fix typo in July 6 change:

assignment of DECL_IN_SYSTEM_HEADER was inserted in bad place.

From-SVN: r2011

32 years ago(sched_analyze_2): Remove an explicit dependence between an insn that uses CC0 and...
Jim Wilson [Tue, 1 Sep 1992 01:26:25 +0000 (18:26 -0700)]
(sched_analyze_2): Remove an explicit dependence between an insn that uses CC0 and the immediately previous insn.

(sched_analyze_2): Remove an explicit dependence between an insn
that uses CC0 and the immediately previous insn.
(SCHED_GROUP_P represents the dependence.)
(schedule_block): Only check sets_cc0_p on an insn.

From-SVN: r2010

32 years ago(c_decode_option): -fnotraditional really undoes -ftraditional.
Richard Stallman [Mon, 31 Aug 1992 21:29:49 +0000 (21:29 +0000)]
(c_decode_option): -fnotraditional really undoes -ftraditional.

(c_decode_option): -fnotraditional really undoes
-ftraditional.  Handle -fno-traditional also.

From-SVN: r2009

32 years agominor documentation changes.
Dennis Glatting [Mon, 31 Aug 1992 21:15:02 +0000 (14:15 -0700)]
minor documentation changes.

From-SVN: r2008

32 years agominor documentation changes.
Dennis Glatting [Mon, 31 Aug 1992 21:09:15 +0000 (14:09 -0700)]
minor documentation changes.

From-SVN: r2007

32 years agominor documentation adjustments.
Dennis Glatting [Mon, 31 Aug 1992 20:47:29 +0000 (13:47 -0700)]
minor documentation adjustments.

From-SVN: r2006

32 years ago(struct compiler): spec field is now array of 4 elements.
Richard Stallman [Mon, 31 Aug 1992 20:00:19 +0000 (20:00 +0000)]
(struct compiler): spec field is now array of 4 elements.

(read_specs): Clear the entire new element of compilers.
(lookup_compiler): Copy all of spec array.  Check element 0 for @.
(main): Concatenate all elements of compiler spec.
(validate_all_switches): Validate from all elements of compiler spec.
(default_compilers): Split CPP commands into separate strings.

From-SVN: r2005

32 years agoRemove version number from initial message.
Richard Stallman [Mon, 31 Aug 1992 17:30:33 +0000 (17:30 +0000)]
Remove version number from initial message.

From-SVN: r2004

32 years agocaller-save.c (restore_referenced_regs): When restoring a referenced hard register...
Jeff Law [Mon, 31 Aug 1992 14:05:07 +0000 (08:05 -0600)]
caller-save.c (restore_referenced_regs): When restoring a referenced hard register...

* caller-save.c (restore_referenced_regs): When restoring a
referenced hard register, use CEIL instead of truncating
divide to determine the maximum number of registers to
restore.
(insert_save_restore): Document maxrestore parameter.
(CEIL): Define.

From-SVN: r2003

32 years ago(const_binop): Delete special case for mult by 3.
Richard Stallman [Mon, 31 Aug 1992 08:02:58 +0000 (08:02 +0000)]
(const_binop): Delete special case for mult by 3.

From-SVN: r2002

32 years ago(TARGET_FLOAT_RETURNS_IN_80387): New macro.
James Van Artsdalen [Mon, 31 Aug 1992 07:06:56 +0000 (07:06 +0000)]
(TARGET_FLOAT_RETURNS_IN_80387): New macro.

(TARGET_SWITCHES): Add "no-80387", "no-soft-float", "fp-ret-in-387", and
"no-fp-ret-in-387".
Change no* switches to no-*.
(CONDITIONAL_REGISTER_USAGE): Make 387 regs fixed if the 387 is not used
at all.
(REG_CLASS_FROM_LETTER): Constraint letters 'f', 't' and 'u' are NO_REGS
if the 387 is not used.
(TRAMPOLINE_TEMPLATE): Use GEN_INT to generate const_int rtx.

From-SVN: r2001

32 years ago(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Moved from unix target files ...
James Van Artsdalen [Mon, 31 Aug 1992 07:04:09 +0000 (07:04 +0000)]
(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Moved from unix target files (aix386.h...

(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Moved from unix target
files (aix386.h, i386gas.h, i386sun.h, i386v.h, i386v4.h, i386vgas.h,
seq386.h).
(TARGET_DEFAULT): Make TARGET_IEEE_FP default on.
(VALUE_REGNO): Test for MODE_FLOAT instead of specific modes.
(VALUE_REGNO,FUNCTION_VALUE_REGNO): MODE_FLOAT return reg depends on
TARGET_FLOAT_RETURNS_IN_80387.

From-SVN: r2000

32 years ago(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Move to unx386.h.
James Van Artsdalen [Mon, 31 Aug 1992 07:03:32 +0000 (07:03 +0000)]
(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Move to unx386.h.

From-SVN: r1999

32 years ago(do_pragma): In prev. change, really use U_CHAR *, not char *.
James Van Artsdalen [Mon, 31 Aug 1992 00:24:10 +0000 (00:24 +0000)]
(do_pragma): In prev. change, really use U_CHAR *, not char *.

From-SVN: r1998

32 years ago(create_builtin_decl): Set TREE_STATIC.
Richard Stallman [Sun, 30 Aug 1992 21:05:48 +0000 (21:05 +0000)]
(create_builtin_decl): Set TREE_STATIC.

Don't set DECL_EXTERNAL or TREE_PUBLIC.

From-SVN: r1997

32 years ago(RTL_HASH, attr_rtx): Avoid warnings by casting pointers to
Richard Kenner [Sun, 30 Aug 1992 02:41:36 +0000 (22:41 -0400)]
(RTL_HASH, attr_rtx): Avoid warnings by casting pointers to
HOST_WIDE_INT instead of int.

From-SVN: r1996

32 years ago(expand_{binop,unop}): Don't make invalid paradoxical SUBREGs.
Richard Kenner [Sun, 30 Aug 1992 02:39:51 +0000 (22:39 -0400)]
(expand_{binop,unop}): Don't make invalid paradoxical SUBREGs.

From-SVN: r1995

32 years ago(emit_library_call): Pass correct number of args to convert_to_mode.
Richard Kenner [Sun, 30 Aug 1992 02:38:56 +0000 (22:38 -0400)]
(emit_library_call): Pass correct number of args to convert_to_mode.

(emit_block_move): Eliminate unnecessary test against HOST_BITS_PER_WIDE_INT.

From-SVN: r1994

32 years ago(record_reg_life): Mark an unused reg as such, even if it appears in
James Van Artsdalen [Sat, 29 Aug 1992 07:33:16 +0000 (07:33 +0000)]
(record_reg_life): Mark an unused reg as such, even if it appears in
SET_SRC.

From-SVN: r1993

32 years ago(do_pragma): Use rindex, not strrchr.
Richard Stallman [Sat, 29 Aug 1992 03:47:56 +0000 (03:47 +0000)]
(do_pragma): Use rindex, not strrchr.

From-SVN: r1992

32 years ago(adjust_copied_decl_tree): New function.
Richard Stallman [Sat, 29 Aug 1992 03:21:11 +0000 (03:21 +0000)]
(adjust_copied_decl_tree):  New function.

(save_for_inline_copying):  When making copies of NOTE_INSN_BLOCK_END
notes, stash a "forwarding" pointer in the original to point to the
copy.  Also, when all BLOCKs & insns for a function have been copied,
call `adjust_copied_decl_tree' to fixup the end_note pointers in the
copied BLOCKs.

From-SVN: r1991

32 years ago(last_block_end_note): New variable.
Richard Stallman [Sat, 29 Aug 1992 03:20:43 +0000 (03:20 +0000)]
(last_block_end_note):  New variable.

(remember_end_note):  New function.
(expand_end_bindings): Save NOTE_INSN_BLOCK_END in last_block_end_note.

(struct goto_fixup): New field context.
(fixup_cleanups): Function deleted.
(fixup_gotos): Put the fixup in a block, and put that block
into its proper place.  Use sequences, not reorder_insns.

From-SVN: r1990

32 years ago(poplevel): Call `remember_end_note' for each newly created BLOCK node.
Richard Stallman [Sat, 29 Aug 1992 03:19:01 +0000 (03:19 +0000)]
(poplevel):  Call `remember_end_note' for each newly created BLOCK node.

From-SVN: r1989

32 years ago(BLOCK_END_NOTE): Macro definition added.
Richard Stallman [Sat, 29 Aug 1992 03:18:36 +0000 (03:18 +0000)]
(BLOCK_END_NOTE):  Macro definition added.

(struct tree_block):  `end_note' field added.

From-SVN: r1988

32 years ago(chainon): Check for op2 being the last elt of the chain.
Richard Stallman [Sat, 29 Aug 1992 03:11:59 +0000 (03:11 +0000)]
(chainon): Check for op2 being the last elt of the chain.

From-SVN: r1987

32 years ago(do_pragma): In prev. change, use U_CHAR *, not char *.
Richard Stallman [Fri, 28 Aug 1992 17:26:23 +0000 (17:26 +0000)]
(do_pragma): In prev. change, use U_CHAR *, not char *.

From-SVN: r1986

32 years ago(ADJUST_COST): Add definition.
Tom Wood [Fri, 28 Aug 1992 13:11:06 +0000 (13:11 +0000)]
(ADJUST_COST): Add definition.

From-SVN: r1985

32 years ago(movstrsi): Rewrite to handle operands correctly.
James Van Artsdalen [Fri, 28 Aug 1992 06:24:41 +0000 (06:24 +0000)]
(movstrsi): Rewrite to handle operands correctly.

From-SVN: r1984

32 years ago(expand_builtin): Add sin and cos as built-in functions.c
James Van Artsdalen [Fri, 28 Aug 1992 01:49:35 +0000 (01:49 +0000)]
(expand_builtin): Add sin and cos as built-in functions.c

From-SVN: r1983

32 years ago(all patterns): Use GEN_INT instead of gen_rtx to get const_ints.
James Van Artsdalen [Fri, 28 Aug 1992 01:43:02 +0000 (01:43 +0000)]
(all patterns): Use GEN_INT instead of gen_rtx to get const_ints.

Avoid double-negative "! NON_*" constructs for clarity.
Pass NULL_PTR as null parameter instead of 0.
(sqrtM2): Patterns are only valid if IEEE FP or -ffast-math.
(sinM2,cosM2): New patterns.
(zero_extract test): New pattern.

From-SVN: r1982

32 years ago(all gen_rtx (CONST_INT) references): Use GEN_INT to generate const_int rtx.
James Van Artsdalen [Fri, 28 Aug 1992 01:36:16 +0000 (01:36 +0000)]
(all gen_rtx (CONST_INT) references): Use GEN_INT to generate const_int rtx.

(legitimize_pic_address): Pass NULL_RTX instead of "0" as pointer.

From-SVN: r1981

32 years ago(record_note_if_dead): Delete function.
James Van Artsdalen [Fri, 28 Aug 1992 01:24:42 +0000 (01:24 +0000)]
(record_note_if_dead): Delete function.

(record_reg_life_pat): Rewrite to handle any sort of pattern.
(record_reg_life): Change interface to record_reg_life_pat.
(stack_reg_life_analysis): Don't assume that MODE_FLOAT values are
always returned in a float reg.
(subst_stack_regs_pat): Add support for sin and cos insns.

From-SVN: r1980

32 years ago(BUILT_IN_SIN,BUILT_IN_COS): New builtin codes.
James Van Artsdalen [Fri, 28 Aug 1992 01:24:04 +0000 (01:24 +0000)]
(BUILT_IN_SIN,BUILT_IN_COS): New builtin codes.

From-SVN: r1979

32 years ago(sin_optab,cos_optab): Define optabs for sin and cos.
James Van Artsdalen [Fri, 28 Aug 1992 01:22:53 +0000 (01:22 +0000)]
(sin_optab,cos_optab): Define optabs for sin and cos.

(init_optabs): Initialize them.

From-SVN: r1978

32 years ago(sin_optab,cos_optab): Declare optabs for sin and cos.
James Van Artsdalen [Fri, 28 Aug 1992 01:22:01 +0000 (01:22 +0000)]
(sin_optab,cos_optab): Declare optabs for sin and cos.

From-SVN: r1977

32 years ago(init_decl_processing): Add sin and cos as built-in functions.
James Van Artsdalen [Fri, 28 Aug 1992 01:20:34 +0000 (01:20 +0000)]
(init_decl_processing): Add sin and cos as built-in functions.

From-SVN: r1976

32 years ago(emit_block_move): When trying movstrMM, cvt size to mode MM.
Richard Stallman [Thu, 27 Aug 1992 22:54:40 +0000 (22:54 +0000)]
(emit_block_move): When trying movstrMM, cvt size to mode MM.

From-SVN: r1975

32 years agoAllocate enough space for attr_printf; Use obstack_alloc instead of xmalloc.
Michael Meissner [Thu, 27 Aug 1992 20:56:29 +0000 (20:56 +0000)]
Allocate enough space for attr_printf; Use obstack_alloc instead of xmalloc.

From-SVN: r1974

32 years ago(readescape): For \x, don't include leading 0's in count.
Richard Stallman [Thu, 27 Aug 1992 05:55:33 +0000 (05:55 +0000)]
(readescape): For \x, don't include leading 0's in count.

From-SVN: r1973

32 years ago(check_format): DEL isn't printable.
Richard Stallman [Thu, 27 Aug 1992 05:48:11 +0000 (05:48 +0000)]
(check_format): DEL isn't printable.

From-SVN: r1972

32 years ago(readescape): DEL isn't printable.
Richard Stallman [Thu, 27 Aug 1992 05:45:47 +0000 (05:45 +0000)]
(readescape): DEL isn't printable.

From-SVN: r1971

32 years ago(init_decl_processing): Fix type of __builtin_constant_p.
Richard Stallman [Thu, 27 Aug 1992 03:26:06 +0000 (03:26 +0000)]
(init_decl_processing): Fix type of __builtin_constant_p.

From-SVN: r1970

32 years agoEnhance to fill the last delay slot of a call with an unconditional jump.
Tom Wood [Wed, 26 Aug 1992 22:19:37 +0000 (22:19 +0000)]
Enhance to fill the last delay slot of a call with an unconditional jump.

Enhance to fill the last delay slot of a call with an
unconditional jump.
(fill_simple_delay_slots): Look for the case of a call/branch
first.  If this applies, record the jump as `last_delay_insn'.
Later, don't look for additional delay insns if the last one has
alreay been filled.
(mark_target_live_regs): A sequence may end in an unconditional
branch.

From-SVN: r1969

32 years agoPass -shared/-non_shared to MIPS 3.0 linker if passed.
Michael Meissner [Wed, 26 Aug 1992 21:21:55 +0000 (21:21 +0000)]
Pass -shared/-non_shared to MIPS 3.0 linker if passed.

From-SVN: r1968

32 years ago(current_block): Declared.
Richard Stallman [Wed, 26 Aug 1992 21:05:32 +0000 (21:05 +0000)]
(current_block): Declared.

From-SVN: r1967

32 years ago(define_function_unit): Correct and simplify memory unit
Tom Wood [Wed, 26 Aug 1992 20:54:09 +0000 (20:54 +0000)]
(define_function_unit): Correct and simplify memory unit
specification.

From-SVN: r1966

32 years ago(fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs.
Richard Stallman [Wed, 26 Aug 1992 19:45:07 +0000 (19:45 +0000)]
(fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs.

From-SVN: r1965

32 years agoMajor rework to have caller-saves emit load/store double insns when...
Jeff Law [Wed, 26 Aug 1992 19:41:20 +0000 (13:41 -0600)]
Major rework to have caller-saves emit load/store double insns when...

Major rework to have caller-saves emit load/store double insns when
possible and to avoid useless resaving of registers restored for
source accesses only.
* caller-save.c (toplevel): All arrays are multi-dimensional to
hold information for multiple save/restore insns.  New variable
hard_regs_need_restore.
(choose_hard_reg_mode): New argument `nregs' indicating how many
hard registers are desired.  All callers changed.
(init_caller_save): Change initialization to handle multiple
register saves.  A call-used register can not be live across
if we can not find a single register mode to save it in.
(multiple register saves are optional)
(init_save_areas): Change initialization of regno_save_mem to
handle multiple register saves.
(setup_save_areas): Allocate space for consecutive hard registers
in aligned consecutive memory locations.   When allocating space
for consecutive hard registers, also initialize regno_save_mem
for each hard register stored as a single word.
(save_call_clobbered_regs): Initialize hard_regs_need_restore.
Set hard_regs_need_restore to hard_regs_saved after crossing
a call.  Also recompute n_regs_saved.  At the end of a basic block
we need only restore registers in hard_regs_need_restore.
(set_reg_live, clear_reg_live): Do the right thing for
hard_regs_need_restore and hard_regs_saved.
(restore_referenced_regs): Just return if X is a clobber.
Test hard_regs_need_restore to determine when to restore a hard
register from the save area.
(insert_save_restore): Now returns the number of extra registers
saved/restored.  New argument `maxrestore' which constrains how
many hard registers should be restored.  All callers changed.
Do stores of consecutive registers with double store insns if
possible.  Else do them with single word insns. Likewise for
loads, except constrained by maxrestore.  Set hard_regs_saved
and hard_regs_need_restore appropriately to minimize useless
saves into the save area.  Test against hard_regs_need_restore
when trying to restore multiple regs and similarly test against
hard_regs_saved when storing multiple regs.

From-SVN: r1964

32 years agoFix comment.
Richard Stallman [Wed, 26 Aug 1992 18:56:07 +0000 (18:56 +0000)]
Fix comment.

From-SVN: r1963

32 years agoAdd #ifdef INSN_SCHEDULING around variables only used by schedule_insns.
Jim Wilson [Wed, 26 Aug 1992 06:49:54 +0000 (23:49 -0700)]
Add #ifdef INSN_SCHEDULING around variables only used by schedule_insns.

Add #ifdef INSN_SCHEDULING around variables only used
by schedule_insns.
(INSN_QUEUE_SIZE): Delete default definition.

From-SVN: r1962

32 years agoPartially undo Mar 7 change.
Jim Wilson [Wed, 26 Aug 1992 06:30:34 +0000 (23:30 -0700)]
Partially undo Mar 7 change.

Partially undo Mar 7 change.  Only call
emit_library_call with no_queue == 1 for const functions.

From-SVN: r1961

32 years ago(expand_expr): For BIND_EXPR, call insert_block on the block.
Richard Stallman [Wed, 26 Aug 1992 06:05:46 +0000 (06:05 +0000)]
(expand_expr): For BIND_EXPR, call insert_block on the block.

From-SVN: r1960

32 years ago(fold): Avoid the normal STRIP_NOPS on arg of NOP_EXPR.
Richard Stallman [Wed, 26 Aug 1992 06:04:35 +0000 (06:04 +0000)]
(fold): Avoid the normal STRIP_NOPS on arg of NOP_EXPR.

From-SVN: r1959

32 years ago(poplevel): Store into BLOCK iff it is non-null.
Richard Stallman [Wed, 26 Aug 1992 06:03:24 +0000 (06:03 +0000)]
(poplevel): Store into BLOCK iff it is non-null.

(current_block): New function.
(struct binding_level): New field this_block.
(poplevel): Use this_block if nonzero, rather than making new BLOCK.
(insert_block, delete_block): New functions.

From-SVN: r1958

32 years ago(float*, fix*): Rewrite to match hardware...
Jim Wilson [Wed, 26 Aug 1992 03:24:03 +0000 (20:24 -0700)]
(float*, fix*): Rewrite to match hardware...

(float*, fix*): Rewrite to match hardware; take/put
integer input/output from/to fp register instead of memory or
general register.  Delete 6 now obsolete combiner patterns.

From-SVN: r1957

32 years ago(output_floatsisf2, output_floatsidf2, output_floatsitf2): Delete declarations.
Jim Wilson [Wed, 26 Aug 1992 03:23:24 +0000 (20:23 -0700)]
(output_floatsisf2, output_floatsidf2, output_floatsitf2): Delete declarations.

From-SVN: r1956

32 years ago(SF_MODES): Allow SImode in fp registers.
Jim Wilson [Wed, 26 Aug 1992 03:22:37 +0000 (20:22 -0700)]
(SF_MODES): Allow SImode in fp registers.

(output_floatsisf2, output_floatsidf2, output_floatsitf2): Delete.

From-SVN: r1955

32 years ago(INSN_QUEUE_SIZE): Add default definition.
Richard Stallman [Tue, 25 Aug 1992 21:36:10 +0000 (21:36 +0000)]
(INSN_QUEUE_SIZE): Add default definition.

From-SVN: r1954

32 years ago(do_pragma): Warn if `#pragma implementation "foo.h"' is
Richard Stallman [Tue, 25 Aug 1992 21:25:20 +0000 (21:25 +0000)]
(do_pragma): Warn if `#pragma implementation "foo.h"' is
invoked after "foo.h" has been included.

From-SVN: r1953

32 years ago(struct attr_desc): Add unsigned_p field.
Tom Wood [Tue, 25 Aug 1992 20:26:02 +0000 (20:26 +0000)]
(struct attr_desc): Add unsigned_p field.

(struct function_unit_op): Add issue_delay, conflict_exp, and
issue_exp fields.  Drop busyexp field.
(struct function_unit): Add needs_blockage_function,
needs_range_function, issue_delay, and max_blockage fields.  Drop
costexp, and busy delay fields.
(enum operator): Add POS_MINUS_OP, EQ_OP, MIN_OP, RANGE_OP.
(operate_exp): Implement new ops.
(make_internal_attr): Set unsigned_p based on the value of SPECIAL.
(write_attr_get): Function is unsigned when unsigned_p is true.
(write_attr_valueq): Write hex value of large constants in a comment.
(simplify_by_exploding): Check for EXP having no EQ_ATTR expressions
and for all values as the default.
(find_and_mark_used_attributes): Add TERMS and NTERMS parameters.
(max_attr_value): Allow IF_THEN_ELSE.
(simplify_knowing, write_complex_function, extend_range): New
functions.
(gen_unit): Use local variables to name the fields.  Change the
meaning of busy-delay to issue-delay.
(expand_units): Compute issue_exp.  Write attributes for computing
`<name>_unit_blockage' and `<name>_unit_blockage_range' functions.
Compute max_blockage, and the needs_*_function values.
(write_function_unit_info): Write blockage function and conflict cost
functions using write_complex_function.  Write new function_unit_desc
fields.
(expand_units): Use the normalized values of the
unit's CONDEXP and BUSYEXP.

From-SVN: r1952

32 years ago(schedule_block): Add a virtual cycle counter CLOCK.
Tom Wood [Tue, 25 Aug 1992 20:23:21 +0000 (20:23 +0000)]
(schedule_block): Add a virtual cycle counter CLOCK.

Pass CLOCK to schedule_insn.
Compute the tail in the scheduling loop, not before it.
Enable the stall code that advances the insn queue.
Select the insn to schedule and block others with schedule_select.
(adjust_priority): Renamed from launch_link.
(schedule_insn): Renamed from launch_links.
(insn_queue): Use INSN_QUEUE_SIZE.

(insn_units, insn_blockage, insn_tick, unit_last_insn,
unit_tick, unit_n_insns): New variables.
(schedule_insns): Allocate and initialize insn_tick, insn_units, and
insn_blockage.
(insn_unit, blockage_range, clear_units, prepare_unit, schedule_unit,
actual_hazard_this_instance, actual_hazard, potential_hazard,
schedule_select): New functions.
(schedule_block): Add dependencies to force insns to remain in order
at the end of a block rather than relying on having the scheduler
issue them in priority order.
(insn_cost): Add LINK and USED parameters.  All callers
changed.  Supply an ADJUST_COST interface.
(insn_cost): Make a dependence from a USE insn free.
(priority): Clear the link cost adjustment bits.

From-SVN: r1951

32 years ago(extend_range, init_range): New functions.
Tom Wood [Tue, 25 Aug 1992 20:22:38 +0000 (20:22 +0000)]
(extend_range, init_range): New functions.

(write_units): Add blockage_function, blockage_range_function,
max_blockage and max_issue_delay fields to struct function_unit_desc.
Drop max_busy_cost field.  Write #defines for min/max blockage,
issue delay, multiplicity, and simultaneity and for BLOCKAGE_BITS
and INSN_QUEUE_SIZE.
(main): Compute the new values.

From-SVN: r1950

32 years ago(LINK_COST_ZERO, LINK_COST_FREE): New macros.
Tom Wood [Tue, 25 Aug 1992 20:21:53 +0000 (20:21 +0000)]
(LINK_COST_ZERO, LINK_COST_FREE): New macros.

From-SVN: r1949

32 years ago(type attribute, movdi movdf insns): Add loadd.
Tom Wood [Tue, 25 Aug 1992 20:21:20 +0000 (20:21 +0000)]
(type attribute, movdi movdf insns): Add loadd.

(unit attribute): Delete.
(function units): Correct simultaneity values.  Break out
independent units.  Add conflict matrix for the 88100 load double.

From-SVN: r1948

32 years ago(define_function_unit): Change meaning to ISSUE-DELAY.
Tom Wood [Tue, 25 Aug 1992 20:20:57 +0000 (20:20 +0000)]
(define_function_unit): Change meaning to ISSUE-DELAY.

Merge FP_MUL, FP_DIV, and FP_SQRT into one function unit.

From-SVN: r1947

32 years ago(define_function_unit): Change meaning to ISSUE-DELAY.
Tom Wood [Tue, 25 Aug 1992 20:19:49 +0000 (20:19 +0000)]
(define_function_unit): Change meaning to ISSUE-DELAY.

From-SVN: r1946

32 years agoentered into RCS
Tom Wood [Tue, 25 Aug 1992 20:13:49 +0000 (20:13 +0000)]
entered into RCS

From-SVN: r1945

32 years ago(delete_computation): Derived from delete_jump.
Tom Wood [Tue, 25 Aug 1992 19:20:27 +0000 (19:20 +0000)]
(delete_computation): Derived from delete_jump.

(delete_jump): Use delete_computation.

From-SVN: r1944

32 years ago(final_scan_insn): If 2 consec line notes have same line num, can omit one.
Richard Stallman [Tue, 25 Aug 1992 17:43:28 +0000 (17:43 +0000)]
(final_scan_insn): If 2 consec line notes have same line num, can omit one.

From-SVN: r1943

32 years agoAdd %U to give last %u name.
Michael Meissner [Tue, 25 Aug 1992 17:40:04 +0000 (17:40 +0000)]
Add %U to give last %u name.

From-SVN: r1942

32 years agoChange MIPS fp to be at top of stack, instead of bottom; Fix calling mips-tfile with...
Michael Meissner [Tue, 25 Aug 1992 17:39:37 +0000 (17:39 +0000)]
Change MIPS fp to be at top of stack, instead of bottom; Fix calling mips-tfile with wrong .o file

From-SVN: r1941

32 years ago(process_command): Don't set verbose_flag if they make a
Richard Stallman [Tue, 25 Aug 1992 03:07:57 +0000 (03:07 +0000)]
(process_command): Don't set verbose_flag if they make a
typo (e.g., `-v-E'); only when it's exactly "-v".

From-SVN: r1940

32 years ago(build_unary_op): For ADDR_EXPR, just set TREE_CONSTANT
Richard Stallman [Mon, 24 Aug 1992 22:13:54 +0000 (22:13 +0000)]
(build_unary_op): For ADDR_EXPR, just set TREE_CONSTANT
if staticp, but don't clear TREE_CONSTANT.

From-SVN: r1939