Commit Graph

15258 Commits

Author SHA1 Message Date
Nigel Stephens
eb774d8d9a mips16.S: Various changes to make it work with -msingle-float and -EL.
*  mips/mips16.S: Various changes to make it work with -msingle-float
        and -EL.

From-SVN: r17293
1998-01-04 12:25:36 -07:00
Gavin Koch
2bcb2ab326 mips.c, [...]: First cut at merging in mips16 support.
* mips.c, mips.h, mips.md: First cut at merging in mips16
        support.  Major modifications throughout all three files.
Note mips16 doesn't work yet (no epilogue support), but I'll be working
on that shortly :-)

Co-Authored-By: Ian Lance Taylor <ian@cygnus.com>
Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r17292
1998-01-04 08:43:52 -07:00
Mumit Khan
d39cd7a1e9 config.sub: Add mingw32 support.
* config.sub: Add mingw32 support.
        * configure.in: Likewise.
        * config/mh-mingw32: New file.

From-SVN: r17291
1998-01-03 17:10:33 -07:00
Scott Snyder
db0d1ed937 configure.in: Make gthr-default.h a forwarding header instead of a symlink.
* configure.in: Make gthr-default.h a forwarding header instead of
        a symlink.

From-SVN: r17290
1998-01-03 17:02:05 -07:00
Kaveh R. Ghazi
86e011adce * gcov-io.h: Include sys/types.h to ensure we get size_t.
From-SVN: r17289
1998-01-03 04:29:44 -07:00
Jeff Law
1a9a83b1d1 Minor tweak.
From-SVN: r17288
1998-01-03 04:27:57 -07:00
Franz Sirl
93ad003a50 configure.in: Finalize support for {alpha|powerpc}*-*-linux-gnulibc1
/
        * configure.in: Finalize support for {alpha|powerpc}*-*-linux-gnulibc1

From-SVN: r17287
1998-01-03 04:16:38 -07:00
Franz Sirl
da741f3dfd configure.in: Finalize support for {alpha|powerpc}*-*-linux-gnulibc1
* configure.in: Finalize support for {alpha|powerpc}*-*-linux-gnulibc1

From-SVN: r17286
1998-01-03 04:16:36 -07:00
Franz Sirl
6decbc24a4 *** empty log message ***
From-SVN: r17285
1998-01-03 04:14:43 -07:00
Kaveh R. Ghazi
7987395822 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
From-SVN: r17284
1998-01-03 04:09:27 -07:00
Jim Wilson
35a42f5f33 crtstuff.c (__frame_dummy): New function for irix6.
* crtstuff.c (__frame_dummy): New function for irix6.
        (__do_global_ctors): Call __frame_dummy for irix6.
        * iris6.h (LINK_SPEC): Hide __frame_dummy too.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r17281
1998-01-02 15:50:23 -07:00
Jeff Law
4aa0a3f4e8 Note various modula-3 thingies on the net.
From-SVN: r17280
1998-01-02 08:36:23 -07:00
Weiwen Liu
ef86d2ee00 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
From-SVN: r17279
1998-01-01 20:59:12 -08:00
Richard Henderson
6c174fc0e6 c-decl.c (init_decl_processing): Provide proper fallback symbol for __builtin_memset.
* c-decl.c (init_decl_processing): Provide proper fallback symbol
for __builtin_memset.
* expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
not INTEGER_CST.  Assert arg 3 is a constant.
* alpha.c (mode_width_operand): Accept 64-bit modes.
(mode_mask_operand): Likewise.
(print_operand): Likewise for 'M' and 'U' codes.
(alpha_expand_unaligned_load): New function.
(alpha_expand_unaligned_store): Likewise.
(alpha_expand_unaligned_load_words): Likewise.
(alpha_expand_unaligned_store_words): Likewise.
(alpha_expand_block_move): Likewise.
(alpha_expand_block_clear): Likewise.
* alpha.h (MOVE_RATIO): New define.
* alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
(insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
(CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.

From-SVN: r17278
1998-01-01 20:48:04 -08:00
Richard Henderson
8fbf199e91 configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
* configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
* configure: Update.

From-SVN: r17277
1998-01-01 07:40:57 -08:00
Jeffrey A Law
aa2ae67960 emit-rtl.c (operand_subword): Correctly handle extracting a word from a CONST_DOUBLE for 16bit targets with...
* emit-rtl.c (operand_subword): Correctly handle extracting a word
	from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.

From-SVN: r17276
1998-01-01 05:55:19 -07:00
Jeff Law
9f1ff8e8ea Tweak from Kaveh.
From-SVN: r17275
1998-01-01 03:06:56 -07:00
Jeffrey A Law
2d490e3e4e mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate for first argument.
* mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
        for first argument.

From-SVN: r17274
1998-01-01 02:51:30 -07:00
Ian Lance Taylor
6e26218fc9 configure.in: Set and subsitute host_exeext.
* configure.in: Set and subsitute host_exeext.  Use it when creating
	the assembler and linker symlinks.
	* configure: Rebuild.
	* Makefile.in (exeext): Set to @host_exeext@.
	(build_exeext): New variable, set to @build_exeext@.
	(FLAGS_TO_PASS): Pass down build_exeext.
	(STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
 	programs.

From-SVN: r17267
1997-12-31 11:48:25 +00:00
Jeffrey A Law
1b31097e5d * mn10200.md (addsi3, subsi3): Fix thinkos.
From-SVN: r17266
1997-12-31 02:05:15 -07:00
Richard Henderson
194faace59 sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of save+restore.
* sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
unix always, since we want to be able to thunk to functions in a
shared library from an application.

From-SVN: r17262
1997-12-29 16:02:54 -08:00
Ian Lance Taylor
975602f82c t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
* mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
        (LIB1ASMSRC, LIB1ASMFUNCS): Define.
More mips16 merge stuff.

From-SVN: r17261
1997-12-29 06:40:28 -07:00
Jeff Law
2d48c13dc2 expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF...
d
        * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
        offset's mode is not ptr_mode, convert it.

From-SVN: r17260
1997-12-29 06:15:21 -07:00
Jeff Law
0eb1ad44b6 expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF...
a
        * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
        offset's mode is not ptr_mode, convert it.

From-SVN: r17259
1997-12-29 06:15:11 -07:00
Michael Meissner
eff0f7ace5 Do not define inhibit_libc if it was already defined
From-SVN: r17258
1997-12-29 12:59:45 +00:00
Brendan Kehoe
6a4b833147 Don't make gperf depend upon libg++.
* config.shared (TOLIBGCXX) [DOING_GPERF]: Delete.
        (LIBS) [DOING_GPERF]: Make it just `-L../libstdc++ -lstdc++'.
Bring over from devo.

From-SVN: r17249
1997-12-28 03:24:10 -07:00
Jeffrey A Law
2c3a56ad15 flow.c (find_basic_blocks): Don't create a new basic block for calls in a LIBCALL block.
* flow.c (find_basic_blocks): Don't create a new basic block
        for calls in a LIBCALL block.

From-SVN: r17247
1997-12-27 16:34:14 -07:00
David Edelsohn
fc97718fe2 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
From-SVN: r17246
1997-12-27 14:47:12 -07:00
Jeffrey A Law
5b5a2a1ecc * cse.c (rtx_cost): Remove conflicting default case.
From-SVN: r17245
1997-12-27 14:44:26 -07:00
Richard Henderson
128f7968b1 configure.in: Move default enabling of Haifa out of for loop.
* configure.in: Move default enabling of Haifa out of for loop.
        * configure: Rebuild.

From-SVN: r17244
1997-12-27 13:20:07 -08:00
Jeff Law
ab30fd533b Remove reference to CYGNUS LOCAL patch.
From-SVN: r17237
1997-12-24 17:01:34 -07:00
Jeffrey A Law
e81b4fbe92 * version.c: Bump for snapshot.
From-SVN: r17236
1997-12-24 17:00:58 -07:00
Teemu Torma
f24af81bca Makefile.in (GTHREAD_FLAGS): New var.
* Makefile.in (GTHREAD_FLAGS): New var.
	(LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
	(distclean): Remove gthr-default.h.
	* configure.in: Accept dce as a thread package.
	Check for thread.h and pthread.h.
	Link gthr-default.h to appropriate thread file and set
	gthread_flags.
	(hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
	include multilib definitions from pa/t-dce-thr.
	(sparc-*-solaris2*): Enable threads by default, if thread.h or
	pthread.h is found, preferring posix threads over solaris ones.
	* config/pa/t-dce-thr: New file.
	* config/pa/t-pa: Removed multilibs.
	* config/sparc/t-sol2: Ditto.
	* gthr.h: New file.
	* gthr-single.h: New file.
	* gthr-posix.h: New file.
	* gthr-solaris.h: New file.
	* gthr-dce.h: New file.
	* libgcc-thr.h: Removed.
	* objc/thr-dce.c: New file copied from thr-decosf1.c.
	* frame.c: Include gthr.h instead of libgcc-thr.h.
	* libgcc2.c: Include gthr.h instead of libgcc-thr.h.
	(eh_context_initialize): If __gthread_once fails, use static eh
	context.
	(eh_context_free): Call __gthread_key_dtor.

From-SVN: r17235
1997-12-24 16:56:08 -07:00
Jeffrey A Law
df3b6ab30e libstdc++.exp (test_libstdc++): Set LD_LIBRARY_PATH and SHLIB_PATH appropriately.
* lib/libstdc++.exp (test_libstdc++): Set LD_LIBRARY_PATH
        and SHLIB_PATH appropriately.

From-SVN: r17234
1997-12-24 16:29:39 -07:00
Jim Wilson
556c714b3d cse.c (max_insn_uid): New variable.
* cse.c (max_insn_uid): New variable.
        (invalidate): Remove CYGNUS LOCAL patch.
        (cse_around_loop): Use max_insn_uid.
        (cse_main): Set max_insn_uid.

From-SVN: r17231
1997-12-24 15:54:37 -07:00
Jeffrey A Law
d9a4ee007b * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
From-SVN: r17230
1997-12-24 15:31:54 -07:00
Jim Wilson
04bd620d20 abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT, and define __LONG_MAX__ appropriately.
* abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
        and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
        -mlong64, and -mgp{32,64} options.
        * mips.c (mips_abi): Change type to int.
        * mips.h (enum mips_abi_type): Delete.
        (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
        (mips_abi): Change type to int.

From-SVN: r17229
1997-12-24 15:10:46 -07:00
John Carr
439d5a35d8 flags.h, [...]: Remove flag_alias_check; optimization is now always enabled.
* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
        optimization is now always enabled.
        * calls.c (expand_call): Recognize C++ operator new as malloc-like
        function.
        * alias.c (memrefs_conflict_p): Eliminate tests now done by
        base_alias_check.
        (*_dependence): Call canon_rtx before base_alias_check.
        (init_alias_once): New function to precompute set of registers which
        can hold Pmode function arguments.
        * rtl.h: Declare init_alias_once.
        * toplev.c (compile_file): Call init_alias_once.

From-SVN: r17227
1997-12-24 14:44:46 -07:00
John Carr
6e73e66606 flags.h, [...]: Remove flag_alias_check; optimization is now always enabled.
* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
        optimization is now always enabled.
        * calls.c (expand_call): Recognize C++ operator new as malloc-like
        function.
        * alias.c (memrefs_conflict_p): Eliminate tests now done by
        base_alias_check.
        (*_dependence): Call canon_rtx before base_alias_check.
        (init_alias_once): New function to precompute set of registers which
        can hold Pmode function arguments.
        * rtl.h: Declare init_alias_once.
        * toplev.c (compile_file): Call init_alias_once.

From-SVN: r17226
1997-12-24 14:39:44 -07:00
Jeffrey A Law
280e521f02 tree.c (restore_tree_status): Do not dereference a null pointer.
* tree.c (restore_tree_status): Do not dereference a null pointer.
Brought over from devo.  SHould fix 921215-1.c compilation failures.

From-SVN: r17225
1997-12-24 14:33:48 -07:00
Paul Eggert
95b8c0c8cb genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to RLIMIT_STACK.
* genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
        RLIMIT_STACK.  This maintains consistency with the recent, similar
        patch to cccp.c and toplev.c.

From-SVN: r17218
1997-12-23 04:55:03 -07:00
Jeffrey A Law
d3d1907aac * config.guess: HP 9000/803 is a PA1.1 machine.
From-SVN: r17217
1997-12-23 04:40:37 -07:00
Richard Henderson
71d9b4930e genattrtab.c (expand_units): For large nr opclasses, expand function_units_used with ORX to prevent blowups.
* genattrtab.c (expand_units): For large nr opclasses, expand
function_units_used with ORX to prevent blowups.  Tag with FFS.
(num_unit_opclasses): New variable.
(gen_unit): Update it.
(enum operator): Add ORX_OP.
(operate_exp): Treat ORX as or, except don't expand across an if.
Reuse number rtx's after operating on them.
(check_attr_value): Accept IOR, AND, & FFS.
(write_test_expr): Transmute `in_comparison' to `flags'.  Allow
for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
(write_expr_attr_cache, write_toplevel_expr): New functions.
(write_attr_get): Handle FFS-tagged expressions.
(make_canonical): Don't expand const attributes.
(convert_const_symbol_ref): Dike out.
(evaluate_eq_attr): Handle SYMBOL_REF.
(main): Don't emit get_attr_foo for const attributes.
* alpha.c (override_options): Reinstate PROCESSOR_EV6.
(alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
* alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
* alpha.md: Redo all of the scheduling, adding EV6 support, and
combining function units where possible.
(attr "type"): Split loads, stores, cmov into int/fp.  Combine
multiplies and divides.  Add EV6 sqrt, ftoi, itof.
(attr "opsize"): New attribute.
(sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
(movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
to control register allocation.
(movsi2-1, movdi2-1): Likewise.

From-SVN: r17212
1997-12-22 21:34:27 -08:00
Richard Henderson
b0435cf4cf alpha.h (CPP_PREDEFINES, [...]): Move OSF/1 specific defines out.
* alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
Move OSF/1 specific defines out.
* alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
Move Linux specific defines out.
(LINK_SPEC): Genericize.
(ASM_FILE_START): Emit .arch if using more than the base insn set.
(ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
(SDB_DEBUGGING_INFO): Remove; gas can't handle it.
(HANDLE_SYSV_PRAGMA): Define.
* alpha/osf.h: New file.
* alpha/linux.h: Split.  Retain file-format independant defines.
Import Linux bits from elf.h.
(CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
(FUNCTION_PROFILER): _mcount takes its address in $28.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
* alpha/linux-ecoff.h: New file.
* alpha/linux-elf.h: New file.
* alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
* alpha/win-nt.h (TARGET_DEFAULT): Define.
* configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
Add new headers as appropriate.
* configure.in (alpha*): Enable Haifa by default.
(*-*-winnt3*): Change to winnt*, since we're not v3 specific.
* configure: Rebuild.

From-SVN: r17211
1997-12-22 20:42:30 -08:00
Richard Henderson
5768f2112c Makefile.in (clean): Remove the stages with their objects here ...
* Makefile.in (clean): Remove the stages with their objects here ...
(distclean): ... instead of here.

From-SVN: r17210
1997-12-22 19:16:26 -08:00
Benjamin Kosnik
eeaf420b47 *** empty log message ***
From-SVN: r17202
1997-12-23 00:04:13 +00:00
Jeff Law
750caf0dea Opps. Forgot to check it in.
From-SVN: r17188
1997-12-22 03:05:04 -07:00
Kaveh R. Ghazi
7f85441b70 call.c (add_builtin_candidate): Add default case in enumeration switch.
* call.c (add_builtin_candidate): Add default case in enumeration
        switch.
        (build_new_op): Likewise.
        (convert_like): Likewise.
        * cvt.c (build_expr_type_conversion): Likewise.
        * tree.c (real_lvalue_p): Likewise.
        (lvalue_p): Likewise.
        (cp_tree_equal): Likewise.
        * typeck.c (comptypes): Likewise.
        (build_component_ref): Likewise.
        (build_function_call_real): Likewise.
        (build_binary_op_nodefault): Likewise.
        (build_unary_op): Likewise.
        (build_modify_expr): Likewise.
        * typeck2.c (initializer_constant_valid_p): Likewise.

From-SVN: r17187
1997-12-22 02:35:49 -07:00
Kaveh R. Ghazi
9e04c65a52 cse.c (rtx_cost): Add default case in enumeration switch.
* cse.c (rtx_cost): Add default case in enumeration switch.
        * fix-header.c (recognized_macro): Likewise.
        (recognized_extern): Likewise.
        (write_rbrac): Likewise.
        * objc/objc-act.c (encode_aggregate): Likewise.
        (gen_declarator): Likewise.
        (gen_declspecs): Likewise.

From-SVN: r17186
1997-12-22 02:31:41 -07:00
Jeff Law
04029ca245 haifa-sched.c (create_reg_dead_note): Detect and handle another case where we kill more regs after sched than were...
* haifa-sched.c (create_reg_dead_note): Detect and handle another
        case where we kill more regs after sched than were killed before
        sched.
        * sched.c (create_reg_dead_note): Similarly.

From-SVN: r17183
1997-12-22 01:55:49 -07:00