Commit Graph

13151 Commits

Author SHA1 Message Date
Jeff Law
777fbf098d mn10300.c (expand_prologue): Rework so that eliminating the frame pointer produces faster/smaller code.
* mn10300/mn10300.c (expand_prologue): Rework so that eliminating
        the frame pointer produces faster/smaller code.
        (expand_epilogue): Likewise.
        (initial_offset): New function for argument pointer and frame pointer
        elimination.
        * mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Bump to 10.
        (FIXED_REGISTERS): Add argument pointer register, it's a fake fixed
        register.
        (CALL_USED_REGISTERS, REG_ALLOC_ORDER): Corresponding changes.
        (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Likewise.
        (REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
        (reg_class, REG_CLASS_NAMES): Delete unwanted DATA_OR_SP_REGS class.
        (PREFERRED_OUTPUT_RELOAD_CLASS): Define.
        (FIRST_PARM_OFFSET): No longer include register save area in
        computation.
        (STACK_POINTER_REGNUM): Is now register 9.
        (ARG_POINTER_REGNUM): Is now register 8.
        (FRAME_POINTER_REQUIRED): Refine.
        (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Define.
        (CAN_DEUG_WITHOUT_FP): Define.
        * mn10300/mn10300.md (return_internal): Break into two patterns.

        * mn10300/mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'M' too.
        (REGISTER_MOVE_COST): Fix errors and refine.

        * mn10300/mn10300.c (notice_update_cc): SET_ZN_C0 insns leave the
        overflow bit in an unuseable state.  Rename CC_SET to CC_TST.
        * mn10300/mn10300.md (cc attributes): "set" is gone, replaced by
        "tst".  Update attributes on various insns.

        * mn10300/mn10300.md: Improve sign and zero extension instructions.
        (ashlsi3): Improve.  Handle address registers too.
        (add peephole): Combine two consecutive adjustments of a register
        into a single adjustment.

From-SVN: r13700
1997-03-11 17:25:59 -07:00
Brendan Kehoe
e9b1360b49 cplus-dem.c (gnu_special): Call demangled_fund_type for other __t* symbols.
* cplus-dem.c (gnu_special): Call demangled_fund_type for other
        __t* symbols.

From-SVN: r13699
1997-03-11 17:18:56 -05:00
Richard Kenner
3c99d5ffb6 (simplify_rtx, case SUBREG): Fix direction of test when calling operand_subword...
(simplify_rtx, case SUBREG): Fix direction of test when calling
operand_subword; use inline code intead of subreg_lowpart_p.

From-SVN: r13698
1997-03-10 16:10:20 -05:00
Richard Kenner
a3a03040fb (subreg_lowpart_p): Return 0 if SUBREG_REG is VOIDmode.
From-SVN: r13697
1997-03-10 16:09:55 -05:00
Jeff Law
6e86170d98 mn10300.c (expand_prologue): Rework to avoid unnecessary "add" operations.
* mn10300/mn10300.c (expand_prologue): Rework to avoid unnecessary
        "add" operations.
        (expand_epilogue): Likewise.
        * mn10300/mn10300.h (STARTING_FRAME_OFFSET): Is zero after the last
        round of prologue/epilogue changes.
        (FIRST_PARM_OFFSET): Is now 16 (-4 for REG_PARM_STACK_SPACE + 20 for
        register save area).
        (REG_PARM_STACK_SPACE): Define as 4 bytes.
        (OUTGOING_REG_PARM_STACK_SPACE): Define so caller allocates it.
        * mn10300/mn10300.md (call expander): Don't emit insns to adjust the
        stack here anymore.
        (call_value expander): Likewise.

        * mn10300/mn10300.md (bCC patterns): Just use "bCC target" now that
        the assembler handles relaxing.

From-SVN: r13696
1997-03-07 09:42:33 -07:00
Michael Meissner
e035031935 Do not emit USE on a LABEL_REF
From-SVN: r13695
1997-03-06 22:28:22 +00:00
Jim Wilson
dfcf98915c (modified_type_die): Initialize item_type to NULL.
Move equate_type_number_to_die call before use of sub_die, and move
recursive modified_type_die calls on item_type after it.

From-SVN: r13694
1997-03-06 13:32:43 -08:00
Jim Wilson
b1357021b8 (root_type_1, write_modifier_bytes_1): New functions.
(root_type): Call root_type_1.
(write_modifier_bytes): Call write_modifier_bytes_1.
(output_type, case POINTER_TYPE): Set TREE_ASM_WRITTEN before
recursive call.

From-SVN: r13693
1997-03-06 13:28:31 -08:00
Jim Wilson
2dfe548059 (complemented_arith_operand): Delete function.
(print_operand): Don't handle `e' for CONST_INT.

From-SVN: r13692
1997-03-05 11:29:31 -08:00
Jim Wilson
9da7b10605 (*norsi3_const, *nordi3_const): Delete bogus patterns.
From-SVN: r13691
1997-03-05 11:24:16 -08:00
Jim Wilson
f39c7aed00 (PREDICATE_CODES): Delete complemented_arith_operand.
From-SVN: r13690
1997-03-05 11:23:15 -08:00
Stan Cox
3345ee7db2 Make sure FUNDECL is non-nil before we try to use it.
From-SVN: r13689
1997-03-04 21:43:13 +00:00
Jim Wilson
b0298aa63f __mips_single_float should have
the same effect on vararg lists as __mips_soft_float.

From-SVN: r13688
1997-03-03 17:16:38 -08:00
Michael Meissner
9e25c9c9ef Remove last change
From-SVN: r13687
1997-03-03 23:13:39 +00:00
Jeff Law
e30fb98f9b combine.c (simplify_rtx): Do nothing with (truncate:mode) if mode is a partial integer mode.
* combine.c (simplify_rtx): Do nothing with (truncate:mode) if
        mode is a partial integer mode.

From-SVN: r13686
1997-03-03 13:12:07 -07:00
Richard Kenner
a52a564cd7 Add definition of __va_copy.
From-SVN: r13685
1997-03-02 17:41:16 -05:00
Richard Kenner
ee2990e780 (process_init_element): Warn and truncate if upper bound of index is
out of range.

From-SVN: r13684
1997-03-02 13:25:40 -05:00
Michael Meissner
f28c0e6987 Prevent compiler error
From-SVN: r13683
1997-02-28 23:01:16 +00:00
Michael Meissner
d302f4f2a8 Fix uses of -mno-fp-in-toc and -mrelocatable
From-SVN: r13682
1997-02-28 21:14:42 +00:00
Ian Lance Taylor
6052e61938 Fix sed expression which looks for <sys/types.h> in <pwd.h>
From-SVN: r13681
1997-02-27 22:56:43 +00:00
Ian Lance Taylor
26a20dde93 Remove more cases of __const__ from math.h for NeXT
From-SVN: r13680
1997-02-27 17:12:40 +00:00
Michael Meissner
eea5dcb81d Set DBX_CONTIN_LENGTH
From-SVN: r13679
1997-02-27 01:54:51 +00:00
Michael Meissner
1883e71601 Make fprintf calls type correct.
From-SVN: r13678
1997-02-27 00:35:52 +00:00
Michael Meissner
b32221da8d Remove bogus argument to fprintf.
From-SVN: r13677
1997-02-26 19:51:24 +00:00
Brendan Kehoe
e08cb549c8 * fixincludes: Fix need of prototypes for C++ in rpc/xdr.h on SunOS4.
From-SVN: r13676
1997-02-24 18:29:09 -05:00
Michael Meissner
431c5c475d Define HAVE_STRERROR.
From-SVN: r13675
1997-02-24 22:41:37 +00:00
Jim Wilson
538bb15864 (floatsidf2_loadaddr): Correct syntax for cau instruction.
(load_multiple, store_multiple): Call change_address
instead of creating MEM from scratch.

From-SVN: r13674
1997-02-23 14:17:29 -08:00
Mike Stump
2ba25f504d 90th Cygnus<->FSF quick merge
From-SVN: r13673
1997-02-21 20:28:30 +00:00
Jim Wilson
9290558260 (unroll_loop): Add check for naive loop that ends with
conditional branch that does not branch back to loop start.

From-SVN: r13672
1997-02-20 13:43:33 -08:00
Jim Wilson
7657bf2fbf (reload): Move assign_stack_local call into main loop.
From-SVN: r13671
1997-02-20 13:37:59 -08:00
Jeff Law
44cfd5120c pa.md (zero extension patterns): Turn into a define_expand and define_insn pair.
* pa/pa.md (zero extension patterns): Turn into a define_expand and
        define_insn pair.

From-SVN: r13670
1997-02-20 11:44:54 -07:00
Jeff Law
d66dec28ec pa.c (emit_move_sequence): Don't copy 0.0 (double precision) directly to memory...
* pa/pa.c (emit_move_sequence): Don't copy 0.0 (double precision)
        directly to memory, go through a reg if reload hasn't started.
        * pa/pa.md (main movdf pattern): Don't allow 0.0 (double precision)
        to be copied directly to memory.

From-SVN: r13669
1997-02-19 18:14:34 -07:00
Jeff Law
dd56b31fe9 pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
* pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
        (MD_STARTFILE_PREFIX): Similarly.

        * pa/pa.c (return_addr_rtx): Add some comments about cases it
        doesn't handle correctly.

        * pa/pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
        with '$' if not using GAS.

From-SVN: r13668
1997-02-19 17:22:10 -07:00
Jeff Law
c28eb6c294 pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
* pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
        (MD_STARTFILE_PREFIX): Similarly.

        * pa/pa.c (return_addr_rtx): Add some comments about cases it
        doesn't handle correctly.

        * pa/pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
        with '$' if not using GAS.

From-SVN: r13667
1997-02-19 17:13:15 -07:00
Jim Wilson
e02fbefc82 (schedule_insns): If there was no first scheduling pass,
split instructions after reload.
(update_flow_info): Tolerate some idiosyncrasies after reload.

From-SVN: r13666
1997-02-19 13:42:25 -08:00
Jeff Law
101c1a3d93 combine.c (find_split_point): Don't turn a SIGN_EXTEND into a series of shifts if...
* combine.c (find_split_point): Don't turn a SIGN_EXTEND into
        a series of shifts if either mode is a partial integer mode.

From-SVN: r13665
1997-02-19 11:18:06 -07:00
Doug Evans
930aeef3f3 reload1.c (eliminate_regs, case MINUS): Canonicalize (minus (plus reg const) reg) to (plus (minus reg reg) const).
* reload1.c (eliminate_regs, case MINUS): Canonicalize
	(minus (plus reg const) reg) to (plus (minus reg reg) const).
Back out this patch.

From-SVN: r13664
1997-02-19 00:40:42 +00:00
Doug Evans
f302eea389 reload.c (find_reloads_address): Treat (plus (minus reg reg) const) the same as (plus (plus reg reg) const).
* reload.c (find_reloads_address): Treat (plus (minus reg reg) const)
	the same as (plus (plus reg reg) const).
Back out this patch.

From-SVN: r13663
1997-02-19 00:39:39 +00:00
Richard Kenner
5b6f7b962e (CONST_OK_FOR_LETTER_P): Use (unsigned HOST_WIDE_INT).
(LEGITIMATE_ADDRESS_INTEGER_P, LEGITIMIZE_ADDRESS): Likewise.

From-SVN: r13662
1997-02-17 08:05:55 -05:00
Richard Kenner
a7653a2c2f ({,non_}short_cint_operand): Use (unsigned HOST_WIDE_INT).
(non_add_cint_operand, includes_rshift_p): Likewise.

From-SVN: r13661
1997-02-17 08:05:04 -05:00
Richard Kenner
4c8cc616fa (special_symbol, check_macro_name, collect_expansion): Don't treat "L"
in "L'...'" as identifier.

From-SVN: r13660
1997-02-16 08:08:25 -05:00
Richard Kenner
21f1824134 (special_symbol): Don't treat "L" in "L'...'" as identifier.
(check_macro_name, collect_expansion, rescan): Likewise.

From-SVN: r13659
1997-02-16 08:07:40 -05:00
Richard Kenner
37ef10540d (__negdi2, __lshrdi3, __ashldi3, __ashrdi3, __ffsdi2):
Use ANSI style definition with full prototype.
(__muldi3, __udiv_w_sdiv, __udivmoddi4, __divdi3, __moddi3) : Likewise.
(__udivmoddi4, __udivdi3, __cmpdi2, __ucmpdi2) : Likewise.
(__fixunstfdi, __fixtfdi, __fixunsxfdi, __fixxfdi) : Likewise.
(__fixunsdfdi, __fixdfdi, __floatdixf, __floatditf) : Likewise.
(__floatdidf, __floatdisf, __fixunsxfsi, __fixunsdfsi) : Likewise.
(__gcc_bcmp, __eprintf, gopen, gclose, __bb_init_file) : Likewise.
(__bb_init_trace_func, __clear_cache, mprotect) : Likewise.
(__enable_execute_stack, cacheflush, exit) : Likewise.
(find_exception_table, __find_first_exception_table_match) : Likewise.

From-SVN: r13658
1997-02-16 07:55:15 -05:00
Richard Kenner
7598db11d0 (print_operand): New operand output modifiers d,t,b,B,w.
(simple_memory_operand): Removed.
(one_bit_set_p, which_bit): Added from C. Nettleton's m1750 config.

From-SVN: r13657
1997-02-16 07:52:00 -05:00
Richard Kenner
9af35de0bc (mulqihi3): Corrected.
(tst{hf,tqf}): Simplified.
(movqi): Removed redundant alternative.
(addqi-3,addqi-2,addqi-1): Set/Reset Bit patterns by C. Nettleton.
(many patterns): Introduced operand output modifiers d,t,b,B,w.

From-SVN: r13656
1997-02-16 07:51:36 -05:00
Richard Kenner
422c6060b6 (parse_c_expression): Don't check for null lexptr or *lexptr == 0.
(parse_c_expression): Don't check for null lexptr or *lexptr == 0.  If
yyparse returns nonzero value, abort.

From-SVN: r13655
1997-02-16 07:46:24 -05:00
Richard Kenner
a5ac8bef00 (yylex): Use is_space, not is_hor_space, to find keyword end.
(is_space): New decl.
(is_hor_space): Removed.

From-SVN: r13654
1997-02-16 07:43:33 -05:00
Richard Kenner
1405367967 (is_space): Now external.
(is_hor_space): Now static.

From-SVN: r13653
1997-02-16 07:43:01 -05:00
Jason Merrill
a1d7ffe39c x
From-SVN: r13652
1997-02-16 10:05:43 +00:00
Richard Kenner
6e47932d3c Remove special cases for cygwin32.
(pwait): Remove local definition of `pid'.

From-SVN: r13651
1997-02-15 19:03:45 -05:00