Commit Graph

13269 Commits

Author SHA1 Message Date
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
Richard Kenner
125bcee001 (__modsi3, __umodsi3): Use mulsl instruction instead of __mulsi3
function call on the coldfire.

From-SVN: r13793
1997-03-25 14:17:05 -05:00
Richard Kenner
61b1bece8e Fix typo in comment.
From-SVN: r13792
1997-03-25 14:04:54 -05:00
Richard Kenner
2c3631ee19 (bne0_di): Fix typo in last change.
From-SVN: r13791
1997-03-25 14:01:08 -05:00
Richard Kenner
43ecaf28bc (xorsi3_5200): Correct constraints.
From-SVN: r13790
1997-03-25 13:24:02 -05:00
Richard Kenner
12ce956281 (move{si,hi,qi,di}): Changed into define_expands.
(move{si,hi,qi,di}): Changed into define_expands.  Split insns into
m68k and coldfire specific versions with appropriate constraints.

From-SVN: r13789
1997-03-25 13:20:11 -05:00
Richard Kenner
6901b6206b (output_move_{si,hi,qi}mode): Declare.
From-SVN: r13788
1997-03-25 13:19:21 -05:00
Richard Kenner
f4e801988d (output_move_{si,hi,qi}mode): New functions.
From-SVN: r13787
1997-03-25 13:18:54 -05:00