Commit Graph

13426 Commits

Author SHA1 Message Date
Joern Rennecke c9db96cea0 (SUBTARGET_CC1_SPEC): Define.
(CC1_SPEC): Add subtarget_cc1_spec.
(EXTRA_SPECS): Add subtarget_cc1_spec.

From-SVN: r13843
1997-04-07 22:29:09 +01:00
Joern Rennecke c0420911bd (SUBTARGET_CC1_SPEC): Define.
(STARTFILE_SPEC, LINK_SPEC): Support -static.

From-SVN: r13842
1997-04-07 22:29:09 +01:00
Joern Rennecke 13a61c299d (SUBTARGET_CC1_SPEC): Define.
(LINK_SPEC, STARTFILE_SPEC): Support -static.

From-SVN: r13841
1997-04-07 22:29:09 +01:00
Richard Earnshaw f54fd62edc (incscc): Use a match_operand with cc_register to match the condition code register.
(incscc): Use a match_operand with cc_register to match
the condition code register.
(decscc, *condbranch, *condbranch_reversed, *mov_scc): Likewise.
(*mov_negscc, *mov_notscc, *cond_return): Likewise.
(*cond_return_inverted, *ior_scc, *cond_move): Likewise.
(insv): New expand.
(andsi_notsi_si): Renamed from *andsi_notsi_si.
(andsi_not_shiftsi_si): New insn.
(*minmax_arithsi): Don't match this insn if operand1 is an
eliminable register.
({sin,cos}*): Delete, since the ARM always emulates these its
faster to call a library function.
(movsicc, *movsicc_insn): Make operand0 an s_register_operand,
and operand3 an arm_not_operand.  Use cc_register to match the
condition code register.
(mov[sd]fcc*): Make operand[0,2] s_register_operands, and operand3
the nonmemory_operand.  Use cc_register to match the condition
code register.
(*ifcompare_plus_move): Move before *ifcompare_arith_move.  Just do
a split for the output.
(*ifcompare_move_plus): Similarly, but relative
to *ifcompare_move_arith.
(*if_plus_move, *if_move_plus): New patterns.
(*ifcompare_arith_arith): Simplify the alternatives down to just one,
and split the insn before output.
(*if_arith_arith, *if_arith_move, *if_move_arith): New patterns.
(*ifcompare_move_not, *ifcompare_not_move): Simplify and split the
insn before output.
(*if_move_not, *if_not_move): New patterns.
(*ifcompare_shift_move, *ifcompare_move_shift): Simplify and split the
insn before output.
(*if_shift_move, *if_move_shift): New patterns.
(*ifcompare_shift_shift): Simplify and split the insn before output.
(*if_shift_shift): New pattern.
(*ifcompare_not_arith, *ifcompare_arith_not): Simplify and split the
insn before output.
(*if_not_arith, *if_arith_not): New patterns.
(*ifcompare_neg_move, *ifcompare_move_neg): Simplify and split the
insn before output.
(*if_neg_move, *if_move_neg): New patterns..

From-SVN: r13840
1997-04-06 16:24:02 +00:00
Michael Meissner 1b30b9cf1d Fix adddi3 problem from wilson; make sol-ci.asm assemble with new gas
From-SVN: r13839
1997-04-06 01:51:07 +00:00
Jim Wilson 8bb196585a (no_conflict_p): Reject sequences with foreign insns.
From-SVN: r13838
1997-04-03 15:08:40 -08:00
Jeff Law 3dbc43d13a mn10300.c (can_use_return_insn): Add size of fixed stack space for function calls into the size of the frame.
* mn10300.c (can_use_return_insn): Add size of fixed stack space
        for function calls into the size of the frame.  */
        (expand_prologue, expand_epilogue): Likewise.
        (initial_offset): Corresponding changes..
        * mn10300.h (OUTGOING_REG_PARM_STACK_SPACE): No longer define.
        (STACK_POINTER_OFFSET): Define.
        * mn10300.md (call, call_value expanders): Don't adjust the stack
        pointer here anymore.

        * mn10300.md (ashlsi3): Remove some alternatives which are no longer
        needed or desired.

From-SVN: r13837
1997-04-03 15:20:18 -07:00
Jim Wilson 24e46fc402 (move_deaths): Handle partial REG_DEAD note for
multi-reg hard register.

From-SVN: r13836
1997-04-03 12:34:07 -08:00
Jim Wilson 7b05e28661 (expand_function_start): Emit queue after expanding
each dynamic parameter type.

From-SVN: r13835
1997-04-03 12:26:33 -08:00
Jim Wilson 27c38b75d3 (mips_move_2words): Add SIGN_EXTEND support for SYMBOL_REF,
LABEL_REF, and CONST operands.

From-SVN: r13834
1997-04-03 12:18:13 -08:00
Jim Wilson 714aa06f90 Delete comment referring to README.DWARF.
From-SVN: r13833
1997-04-03 12:04:23 -08:00
Michael Meissner 7093ddee37 Fixes from wilson
From-SVN: r13832
1997-04-02 22:26:01 +00:00
Mike Stump bd6dd8453c 90th Cygnus<->FSF quick merge
From-SVN: r13831
1997-04-02 03:58:33 +00:00
Mike Stump 70e06f23df libgcc2.c (find_exception_table): Fix to logic to deal with functions that are in their own section...
* libgcc2.c (find_exception_table): Fix to logic to deal with
 	functions that are in their own section, such as template
 	instantiations, that cause overlapping EH tables.

From-SVN: r13830
1997-04-02 03:31:36 +00:00
Jeff Law ebf0d02544 * Makefile.in (USER_H): Add va-mn10300.h
From-SVN: r13829
1997-04-01 20:07:22 -07:00
Jeff Law 4bc0cb117e Initial revision
From-SVN: r13828
1997-04-01 18:34:17 -07:00
Jeff Law 22ef4e9b59 stdarg.h: Include va-mn10300.h.
* ginclude/stdarg.h: Include va-mn10300.h.
        * ginclude/varargs.h: Likewise.
        * ginclude/va-mn10300.h: New file.
        * mn10300/mn10300.c (expand_prologue): If current_function_varargs is
        nonzero, then flush d0/d1 back into the stack.
        (mn10300_builtin_saveregs): New function.
        (function_arg, function_arg_partial_nregs): New functions.
        (initial_offset): Tweak now that the RP save area is allocated
        and deallocated around each call again.
        * mn10300/mn10300.h (FIRST_PARM_OFFSET): Now 4.
        (FRAME_POINTER_REQUIRED): Require a frame pointer for all non-leaf
        functions.
        (REG_PARM_STACK_SPACE): Now 8 bytes.
        (FUNCTION_ARG_REGNO_P): Update for new parameter passing conventions.
        (CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Likewise.
        (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
        (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
        (TRAMPOLINE_TEMPLATE): Don't clobber d0 anymore.
        (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
        (EXPAND_BUILTIN_SAVEREGS): Define.
        * mn10300/mn10300.md (call, call_value patterns): Allocate and
        deallocate a stack slot for the return pointer around each call.

        * mn10300/mn10300.h (RTX_COSTS): Refine.
        (CASE_VALUES_THRESHHOLD, NO_FUNCTION_CSE): Likewise.
        * mn10300/mn10300.c (output_tst): New function.
        * mn10300/mn10300.md (movdi, movdf): Improve code to load constants
        into registers.
        (tst insns): Use output_tst to optimize some cases.  Add versions to
        encourage more zero extensions instead of sign extensions of HImode
        and QImode values.
        (divsi3, udivsi3): Remove patterns.  Replaced by...
        (divmodsi4, udivmodsi4): New expanders/patterns.
        (andsi3): Optimize "and" operations with certain constants.

From-SVN: r13827
1997-04-01 18:33:45 -07:00
Jeff Law e8adce1747 Remove some out of date comments.
From-SVN: r13826
1997-04-01 10:00:31 -07:00
Joern Rennecke a62de84f08 (ADJUST_COSTS): Define.
From-SVN: r13825
1997-04-01 15:13:57 +01:00
Doug Evans 86144b75fe Initial revision
From-SVN: r13824
1997-03-28 22:43:13 +00:00
Doug Evans 0d332addc1 toplev.c (branch_prob_dump, [...]): New variables.
* toplev.c (branch_prob_dump, profile_arc_flag, flag_test_coverage,
	flag_branch_probabilities, branch_prob_dump_file, branch_prob_time):
	New variables.
	(f_options): Add profile-arcs, test-coverage, and
	branch-probabilities.
	(compile_file): Set branch_prob_time.  Pass flag_test_coverage to
	init_emit_once.  Handle branch_prob_dump.  Call init_branch_prob.
	Call end_branch_prob. Call output_func_start_profiler.
	(rest_of_compilation): Handle branch_prob_dump.  Call new
	branch_prob pass.
	(main): Set branch_prob_dump.

From-SVN: r13823
1997-03-28 22:40:07 +00:00
Doug Evans 740a5d9232 sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB notes.
* sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB
	notes.

From-SVN: r13822
1997-03-28 22:39:39 +00:00
Doug Evans f6e3c1bb7e rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
* rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
	(reg_note_name): Add REG_BR_PROB and REG_EXEC_COUNT.

From-SVN: r13821
1997-03-28 22:39:20 +00:00
Doug Evans 7ae21caf59 rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT.
* rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT.
	(REG_BR_PROB_BASE): Define.
	(NOTE_REPEATED_LINE_NUMBER): Define.

From-SVN: r13820
1997-03-28 22:39:00 +00:00
Doug Evans a6c383b0d8 reorg.c (mostly_true_jump): Use REG_BR_PROB notes when flag_branch_probabilities.
* reorg.c (mostly_true_jump): Use REG_BR_PROB notes when
	flag_branch_probabilities.

From-SVN: r13819
1997-03-28 22:38:24 +00:00
Doug Evans 65f7a65344 * libgcc2.c (__bb_exit_func): Support gcov style output.
From-SVN: r13818
1997-03-28 22:38:07 +00:00
Doug Evans f6a6a1b37d jump.c (jump_optimize, [...]): Disable some optimizations when flag_test_coverage and there is a line number...
* jump.c (jump_optimize, follow_jumps, mark_jump_label): Disable some
 	optimizations when flag_test_coverage and there is a line number note
 	in the way.
	(invert_jump): Add REG_BR_PROB when flag_branch_probabililties.

From-SVN: r13817
1997-03-28 22:37:37 +00:00
Doug Evans 9b53bc830d integrate.c (expand_inline_function): Output NOTE_REPEATED_LINE_NUMBER after inlined call.
* integrate.c (expand_inline_function): Output
	NOTE_REPEATED_LINE_NUMBER after inlined call.

From-SVN: r13816
1997-03-28 22:36:53 +00:00
Doug Evans 82e415a358 function.c (expand_function_end): Output NOTE_REPEATED_LINE_NUMBER for last line of function.
* function.c (expand_function_end): Output NOTE_REPEATED_LINE_NUMBER
	for last line of function.

From-SVN: r13815
1997-03-28 22:36:31 +00:00
Doug Evans a7dbb8b439 flags.h (profile_arc_flag, [...]): Declare.
* flags.h (profile_arc_flag, flag_test_coverage,
	flag_branch_probabilities): Declare.

From-SVN: r13814
1997-03-28 22:36:13 +00:00
Doug Evans 9e2f9a7f6a final.c (LONG_TYPE_SIZE): Define.
* final.c (LONG_TYPE_SIZE): Define.
	(count_instrumented_arcs): New variable.
	(end_final, profile_after_prologue, leaf_function_p): Add support
	for profile_arc_flag.
	(add_bb): Only call CC_STATUS_INIT if HAVE_cc0.

From-SVN: r13813
1997-03-28 22:35:56 +00:00
Doug Evans 3a95cde868 * sparc.h (OVERRIDE_OPTIONS): Check profile_arc_flag.
From-SVN: r13812
1997-03-28 22:35:28 +00:00
Doug Evans c9903b4462 combine.c (distribute_notes): Handle REG_BR_PROB and REG_EXEC_COUNT REG_NOTES.
* combine.c (distribute_notes): Handle REG_BR_PROB and REG_EXEC_COUNT
	REG_NOTES.

From-SVN: r13811
1997-03-28 22:34:53 +00:00
Doug Evans 59a64126f8 Makefile.in (LANGUAGES): Add gcov.
* Makefile.in (LANGUAGES): Add gcov.
	(OBJS): Add profile.o.
	(STAGESTUFF): Add gcov.
	(profile.o, gcov.o, gcov): Add rules to build them.
	(cpp.info, gcc.info, gcc.dvi): Add gcov.texi.
	(install-common): Install gcov.

From-SVN: r13810
1997-03-28 22:34:21 +00:00
Doug Evans 2be7973ec1 entered into RCS
From-SVN: r13809
1997-03-28 22:32:02 +00:00
Stan Cox 3bc97c5616 (zero_extendhisi2+[12]): use true_regnum instead of REGN
From-SVN: r13808
1997-03-27 22:23:58 +00:00
Stan Cox d5c65c96b8 (CPP_CPU_DEFAULT): Define if TARGET_CPU_DEFAULT is not set.
From-SVN: r13807
1997-03-27 22:17:33 +00:00
Paul Eggert 6e2724034c Formerly cpp.texi.~29~
From-SVN: r13806
1997-03-26 20:35:20 +00:00
Ian Lance Taylor 2a9fb5489f Add a CSE pass over the hard registers after reload is complete
From-SVN: r13805
1997-03-26 17:35:01 +00:00
Richard Kenner 9d661e569a (__va_copy): New definition.
From-SVN: r13804
1997-03-26 07:34:03 -05:00
Michael Meissner 20df0482b5 Add %include, %include_noerr, %rename support to specs
From-SVN: r13803
1997-03-25 22:03:18 +00:00
Doug Evans ae998c9a69 * c-decl.c (grokdeclarator): Pedwarn qualified void function return type.
From-SVN: r13802
1997-03-25 21:39:09 +00:00
Richard Kenner 9ab8cffd48 (udivsi3): Fix hunk from previous patch that did not apply correctly.
From-SVN: r13801
1997-03-25 15:28:51 -05:00
Richard Kenner 9fb9ea4a4e (ASM_RETURN_CASE_JUMP): Use extl to explicitly sign extend index
register on TARGET_5200.

From-SVN: r13800
1997-03-25 15:24:20 -05:00
Richard Kenner 641241db80 (tablejump): Use extl to explicitly sign extend index registern on
TARGET_5200.

From-SVN: r13799
1997-03-25 15:20:06 -05:00
Richard Kenner a139ec2564 (mulsi3): Changed into define_expand.
(mulsi3): Changed into define_expand.  Split insn into m68k and
coldfire specific versions with appropriate constraints.

From-SVN: r13798
1997-03-25 14:50:42 -05:00
Doug Evans e46a986ab9 expr.c (emit_push_insn): Delete emission of CLOBBER when doing partial push, no longer necessary.
* expr.c (emit_push_insn): Delete emission of CLOBBER
	when doing partial push, no longer necessary.

From-SVN: r13797
1997-03-25 19:43:45 +00:00
Richard Kenner 8ec316237f (movqi): Disable use of address registers for TARGET_5200.
From-SVN: r13796
1997-03-25 14:36:28 -05:00
Richard Kenner 189086f974 (find_dummy_reload): New parameter earlyclobber.
(find_dummy_reload): New parameter earlyclobber.  If set then don't
use IN for the reload if it also appears elsewhere in the insn.  All
callers changed.

From-SVN: r13795
1997-03-25 14:27:59 -05:00
Richard Kenner 03dda8e3c3 Initial revision
From-SVN: r13794
1997-03-25 14:26:08 -05:00