Commit Graph

7621 Commits

Author SHA1 Message Date
Richard Earnshaw
ac1e676a1a (arm umul_ppm): Fix typos in last change.
(arm umul_ppm): Fix typos in last change.  Mark hard-coded
registers with "%|".

From-SVN: r7634
1994-07-01 20:32:09 +00:00
Jason Merrill
2b6c54d61d (compile_file): Pass through static consts and inlines
multiple times in case they reference each other.

From-SVN: r7633
1994-07-01 19:12:03 +00:00
Richard Kenner
febd204ef6 Update copyright notice.
From-SVN: r7632
1994-07-01 13:54:04 -04:00
Richard Kenner
cb95a57976 If GNUC, include alloca.h, else declare alloca.
From-SVN: r7631
1994-07-01 13:53:35 -04:00
Richard Kenner
16454bf22c (FUNCTION_EXTRA_PROLOGUE): New macro.
From-SVN: r7630
1994-07-01 13:49:42 -04:00
Torbjorn Granlund
f71c71f188 Test for _AM29K and _IBMR2, not ___AM29K__ and ___IBMR2__.
(arm umul_ppmm): New definition.
(clipper umul_ppmm, smul_ppmm, __umulsidi3): New definitions.
(hppa count_leading_zeros): New definition.
(i960 umul_ppmm, __umulsidi3): New definitions.
(mc68000 umul_ppmm): Use %. before size suffixes.
(mc88110 umul_ppmm, udiv_qrnnd): Rewrite.
(mc88000): Get UMUL_TIME and UDIV_TIME right.
(mips): Get UMUL_TIME right.
(ns32000 umul_ppmm): New definition.
(ns32000 udiv_qrnnd): Rename from bogus div_qrnnd, rewrite.
(powerpc umul_ppmm, smul_ppmm): New definitions.
(_IBMR2/powerpc add_ssaaaa, sub_ddmmss): Improve.
(pyr umul_ppmm): Fix typo.
(sparc add_ssaaaa, sub_ddmmss): Match constant 0 for all inputs.
(vax sdiv_qrnnd): New definition.

From-SVN: r7629
1994-07-01 12:52:38 +00:00
Torbjorn Granlund
ab0b65811b (expand_divmod): Put OP0 in a register when computing
remainder, or when OP1 is constant.

From-SVN: r7628
1994-07-01 11:40:45 +00:00
Richard Kenner
e9c1141151 (expand_divmod): Don't set REG_NOTES unless we generated a quotient.
From-SVN: r7627
1994-07-01 06:45:56 -04:00
Richard Kenner
353646926a (do_spec_1, case 'P'): Don't add underscores to macros starting with
'_[A-Z]'.

From-SVN: r7626
1994-06-30 18:21:18 -04:00
Richard Kenner
b812f4018c (umulsi3_highpart, smulsi3_highpart): Fix constraint for operand 0 in
define_insn.

From-SVN: r7625
1994-06-30 18:15:45 -04:00
Ian Lance Taylor
bc02666840 Wrap <time.h> and <sys/time.h> to avoid multiple inclusion errors.
From-SVN: r7624
1994-06-30 20:08:45 +00:00
Kresten Krab Thorup
42cfe4cf3e incremented objc_version iff using gnu runtime.
From-SVN: r7623
1994-06-30 16:22:23 +00:00
Kresten Krab Thorup
a39d31bc0c This patch makes selectors in the Objective-C language be pointers to a struct { void *sel_id...
This patch makes selectors in the Objective-C language be pointers
        to a struct { void *sel_id, char *sel_types }, where the sel_types
        element is the type encoding of the method arguments.

From-SVN: r7622
1994-06-30 16:18:55 +00:00
Kresten Krab Thorup
7a1dd32325 (read:, write:, streamVersion:):
Un-disable for alpha.  (forward::, performv::): Declare and fix to
        return retval_t. .

From-SVN: r7621
1994-06-30 16:18:55 +00:00
Kresten Krab Thorup
5d0f30f711 objc-act.c (get_proto_encoding, [...]): New fucnctions.
* objc-act.c (get_proto_encoding, build_typed_selector_reference):
        New fucnctions. (UTAG_PROTOCOL): New define.
        (objc_selector_template, flag_typed_selectors): New variables.
        (objc_init): set flag_typed_selectors if -fgnu-runtime.
        (synth_module_prologue): Change declaration of
        _OBJC_SELECTOR_TABLE when flag_typed_selectors is non-null.
        (build_module_descriptor): Make sure the generated constructor
        function is declared public.
        (build_selector): Only cast to SEL when not doing typed selectors.
        (build_selector_translation_table): Rewrite initialization.
        (build_tmp_function_decl): Make up new name when called, since it
        may now be called multiple times.
        (hack_method_prototype): Use init_function_start to reinit args
        machinery.  Also set current_function_decl before calling
        assign_parms.
        (generate_protocols):  Don't generate encoding twice.
        (build_selector_template): New function.
        (build_method_list_template): Generate (void*)0 as first element,
        not (int)0.
        (build_message_expr): move the call to build_selector_reference
        towards the end, where we have determined the function prototype.

From-SVN: r7620
1994-06-30 16:17:36 +00:00
Richard Earnshaw
bd4d60ce71 (INITIAL_ELIMINATION_OFFSET): Check frame_pointer_needed when eliminating
the arg pointer into the stack pointer.

From-SVN: r7619
1994-06-30 11:48:44 +00:00
Richard Kenner
084b6d7b05 (c_build_type_variant): Remove last change; instead, copy TYPE if not
in old obstack.

From-SVN: r7618
1994-06-30 06:24:28 -04:00
Richard Kenner
14e7bf7c23 (end_final,profile_function): Profiling variables are size of pointer,
not int.

From-SVN: r7617
1994-06-30 05:46:10 -04:00
Jason Merrill
8e1a11fc9e (lang_options): Add -W{no-,}non-virtual-dtor.
From-SVN: r7616
1994-06-30 09:41:26 +00:00
Gerald Baumgartner
63718c49fd some changes from gb.
From-SVN: r7615
1994-06-30 05:35:06 +00:00
Doug Evans
3cf2715de9 Restore to rcs version 1.59 (1.60 is an empty file).
From-SVN: r7614
1994-06-30 03:43:24 +00:00
Mike Stump
6bcc742f2a remove cygnus FSF difference
From-SVN: r7613
1994-06-30 02:03:54 +00:00
Mike Stump
214747148c 42nd Cygnus<->FSF merge
From-SVN: r7612
1994-06-30 01:51:05 +00:00
Richard Kenner
725fc5a08d (basic_induction_var, case REG): Allow previous insn to set a SUBREG
of X.

From-SVN: r7611
1994-06-29 19:21:43 -04:00
Richard Kenner
85d159a36a (LIB_SPEC): If -pg, add -lprof2.
(STARTFILE_SPEC, {FUNCTION,BLOCK,FUNCTION_BLOCK}_PROFILER): New macros.

From-SVN: r7610
1994-06-29 18:59:23 -04:00
Richard Kenner
0d45dc27a1 (end_final,profile_function): Profiling variables are size of pointer,
not int.

From-SVN: r7609
1994-06-29 18:57:34 -04:00
Richard Kenner
018dac8bab Add new pattern for double-add when have reg + frame pointer.
Slight changes to all such patterns and add define_splits for them.

From-SVN: r7608
1994-06-29 16:13:22 -04:00
Richard Kenner
52a6920099 (FRAME_POINTER_REGNUM): Now register 63.
(HARD_FRAME_POINTER_REGNUM): New macro.
(CONDITIONAL_REGISTER_USAGE, REG_CLASS_CONTENTS, REGNO_REG_CLASS):
Show register 63 is not an FP register.
(REGHNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
(ALPHA_ROUND): New macro.
(STARTING_FRAME_OFFSET, ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET):
Modify to reflect save area between outgoing args and local vars.

From-SVN: r7607
1994-06-29 16:12:40 -04:00
Richard Kenner
d60a05a1c4 (alpha_sa_size): Round size to 16-byte boundary.
(add_long_const): Add new arg, TEMP_REG.
(output_{pro,epi}log): Rework to put save area between outgoing args and
local variables.

From-SVN: r7606
1994-06-29 16:12:03 -04:00
Richard Kenner
9ff3516a35 (reload): Can't eliminate if frame pointer needed and TO is stack pointer.
Spill HARD_FRAME_POINTER_REGNUM if not FRAME_POINTER_REGNUM and frame pointer
is needed.
(spill_hard_reg): If CANT_ELIMINATE, set regs_ever_live; no longer done by
callers.

From-SVN: r7605
1994-06-29 16:02:13 -04:00
Richard Kenner
daf55ac69a (global_alloc): Make a more accurate attempt to see if the frame pointer will be used.
(global_alloc): Make a more accurate attempt to see if the frame pointer will
be used.
If it is, show HARD_FRAME_POINTER_REGNUM used if its not the same as
FRAME_POINTER_REGNUM.

From-SVN: r7604
1994-06-29 16:01:31 -04:00
Richard Kenner
245d26eb97 (movqi): Add missing `DONE'.
From-SVN: r7603
1994-06-29 15:52:27 -04:00
Doug Evans
269d917555 sp64-elf: (PTRDIFF_TYPE): Remove dependence on POINTER_SIZE.
* sparc/sp64-elf: (PTRDIFF_TYPE): Remove dependence on POINTER_SIZE.
	(SIZE_TYPE): Likewise.

From-SVN: r7602
1994-06-29 19:44:07 +00:00
Doug Evans
857458c409 sparc.h (CPP_SPEC): Split up v9/non-v9 stuff.
* sparc/sparc.h	(CPP_SPEC): Split up v9/non-v9 stuff.
	Move -Acpu and -Amachine from here.
	(CPP_PREDEFINES): To here.
	(NO_BUILTIN_PTRDIFF_TYPE): Undefine.
	(NO_BUILTIN_SIZE_TYPE): Likewise.
	(PTRDIFF_TYPE): Split up v9/non-v9 definitions.
	(SIZE_TYPE): Likewise.

From-SVN: r7601
1994-06-29 19:43:25 +00:00
Michael Meissner
d52a896594 Always put 1 space after the macro expansion in ANSI mode.
From-SVN: r7600
1994-06-29 19:25:41 +00:00
Doug Evans
094030c93f (simplify_set): Evaluate HAVE_conditional_move at runtime.
From-SVN: r7599
1994-06-29 02:41:26 +00:00
Torbjorn Granlund
55c2d311c4 (expand_mult): Generalize to call synth_mult also for OP1 - 1.
(ceil_log2): New function.
(choose_multiplier): New function.
(invert_mod2n): New function.
(expand_mult_highpart_adjust): New function.
(expand_mult_highpart): New function.
(EXACT_POWER_OF_2_OR_ZERO_P): New macro.
(expand_divmod): Almost completely rewritten.
(expand_shift): Don't truncate immediate shift count, it doesn't work
for types smaller than int.

From-SVN: r7598
1994-06-29 00:23:02 +00:00
Torbjorn Granlund
f02d60632f (smul_highpart_optab, umul_highpart_optab): New variables.
From-SVN: r7597
1994-06-29 00:22:36 +00:00
Torbjorn Granlund
af30900458 (optabs): Add [us]mul_highpart_optab.
From-SVN: r7596
1994-06-29 00:22:13 +00:00
Torbjorn Granlund
5035bbfe58 (smul_highpart_optab, umul_highpart_optab): New variables.
(expand_binop): Handle [us]mul_highpart_optab as commutative.
(init_optabs): Initialize [us]mul_highpart_optab.
(expand_binop): Convert OP0 to mode for library calls.

From-SVN: r7595
1994-06-29 00:21:32 +00:00
Torbjorn Granlund
dbb5b3cec9 (div_and_round_double): Make it globally accessible.
From-SVN: r7594
1994-06-29 00:20:58 +00:00
Torbjorn Granlund
ca300626e0 (umulsi3_highpart, const_umulsi3_highpart): New expander and matcher.
(smulsi3_highpart, const_smulsi3_highpart): Likewise.

From-SVN: r7593
1994-06-29 00:19:52 +00:00
Torbjorn Granlund
74a6106962 (umuldi3_highpart): New expander and matcher.
From-SVN: r7592
1994-06-29 00:19:15 +00:00
Torbjorn Granlund
14edc0e4d3 (cint8_operand): New predicate.
From-SVN: r7591
1994-06-29 00:18:43 +00:00
Torbjorn Granlund
8abf4d694f (smulsi3_highpart, umulsi3_highpart): New patterns.
From-SVN: r7590
1994-06-29 00:18:12 +00:00
Jim Wilson
47c95f5005 (CPP_SPEC): Handle -msupersparc.
From-SVN: r7589
1994-06-28 12:33:59 -07:00
Jim Wilson
dbb5486265 (cpu_type, sparc_cpu_type): Rename to arch_type and sparc_arch_type.
(cpu_type, sparc_cpu_type): Rename to arch_type and
sparc_arch_type.  Fix all users.
(supersparc_adjust_cost): New function.

From-SVN: r7588
1994-06-28 12:33:23 -07:00
Jim Wilson
bef8d8c781 (cpu_type, sparc_cpu_type): Rename to arch_type and sparc_arch_type.
(cpu_type, sparc_cpu_type): Rename to arch_type and
sparc_arch_type.
(CPP_SPEC): Handle -msupersparc.
(MASK_SUPERSPARC, TARGET_SUPERSPARC): New macros.
(TARGET_SWITCHES): Add -msupersparc and -mcypress.
(ADJUST_COST): New macro.

From-SVN: r7587
1994-06-28 12:32:11 -07:00
Jim Wilson
c180bd1ee8 (cpu attribute): Rename to arch attribute.
(cpu attribute): Rename to arch attribute.  Add a new
cpu attribute.  Fix all users.
(type attribute): Add ialu, shift, imul, fpdivs, and fpdivd.
Delete fpdiv.
(function units): Add Cypress and Supersparc versions of each.
(addsi3, subsi3, andsi3, iorsi3, xorsi3): Add ialu type attribute.
(mulsi3): Add imul type attribute.
(divtf3, divdf3): Use fpdivd not fpdiv type attribute.
(divsf3); Use fpdivs not fpdiv type attribute.
(ashlsi3, ashrsi3, lshrsi3): Add shift type attribute.

From-SVN: r7586
1994-06-28 12:31:14 -07:00
Jim Wilson
3c9b213099 (andsi3+6): Replace bad clrbit pattern with two working ones.
From-SVN: r7585
1994-06-28 10:41:52 -07:00