Mumit Khan [Tue, 13 Jan 1998 20:58:47 +0000 (20:58 +0000)]
cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip off the trailing @[NUM] added by ENCODE_SECTION_INFO.
* i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
off the trailing @[NUM] added by ENCODE_SECTION_INFO.
Also update copyright forgotten in last change.
H.J. Lu [Tue, 13 Jan 1998 20:28:27 +0000 (20:28 +0000)]
configure.in (CHECK_SUBDIRS): Set to testsuite only if ${srcdir}/../gcc exists.
* configure.in (CHECK_SUBDIRS): Set to testsuite only if
${srcdir}/../gcc exists.
(configdirs): Include testsuite only if ${srcdir}/../gcc exists.
* tests/Makefile.in (check): Depend on $(CHECK).
* tests/configure.in (CHECK): Set to "check-iostream
check-stdio" if ${srcdir}/../../gcc doesn't exists.
H.J. Lu [Tue, 13 Jan 1998 20:24:06 +0000 (20:24 +0000)]
configure.in (configdirs): Include testsuite only if ${srcdir}/../gcc exists.
�
* configure.in (configdirs): Include testsuite only if
${srcdir}/../gcc exists.
* tests/configure.in (check): Set to ${CHECK} if
${srcdir}/../../gcc doesn't exists.
Jeff Law [Tue, 13 Jan 1998 20:24:04 +0000 (13:24 -0700)]
configure.in (configdirs): Include testsuite only if ${srcdir}/../gcc exists.
�
* configure.in (configdirs): Include testsuite only if
${srcdir}/../gcc exists.
* tests/configure.in (check): Set to ${CHECK} if
${srcdir}/../../gcc doesn't exists.
Mumit Khan [Mon, 12 Jan 1998 23:49:57 +0000 (23:49 +0000)]
mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete.
* i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
(STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
J"orn Rennecke [Sat, 10 Jan 1998 20:54:37 +0000 (20:54 +0000)]
regmove.c: New implementation of regmove pass.
* regmove.c: New implementation of regmove pass.
* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
decls, make them have external linkage. Return a value from
optimize_reg_copy_1.
* reload.h (count_occurrences): Add decl.
* reload1.c (count_occurrences): Delete decl, make it have external
linkage.
* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r17316
Jason Merrill [Thu, 8 Jan 1998 00:29:08 +0000 (00:29 +0000)]
exception.cc (__eh_alloc, __eh_free): New fns.
* exception.cc (__eh_alloc, __eh_free): New fns.
(__cp_push_exception, __cp_pop_exception): Use them.
(__uncatch_exception): Call terminate here if no exception.
* except.c (build_terminate_handler): New fn.
(expand_start_catch_block): Use it.
(expand_exception_blocks): Likewise.
(alloc_eh_object): New fn.
(expand_throw): Use it. Protect exception init with terminate.
* typeck.c (build_modify_expr): Remove code that ignores trivial
methods.
Jeffrey A Law [Mon, 5 Jan 1998 10:45:59 +0000 (10:45 +0000)]
mips.c (mips_expand_prologue): Handle large frame with no outgoing arguments for mips16.
* mips.c (mips_expand_prologue): Handle large frame with no outgoing
arguments for mips16.
(mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
Don't lose if tsize is zero after handling large stack for mips16.
* mips.md (return): For trivial return, return address is in $31.
Gavin Koch [Sun, 4 Jan 1998 15:43:52 +0000 (15:43 +0000)]
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
Jim Wilson [Fri, 2 Jan 1998 22:50:23 +0000 (22:50 +0000)]
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
Ian Lance Taylor [Wed, 31 Dec 1997 11:48:25 +0000 (11:48 +0000)]
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.
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.
Teemu Torma [Wed, 24 Dec 1997 23:56:08 +0000 (23:56 +0000)]
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.
Jim Wilson [Wed, 24 Dec 1997 22:10:46 +0000 (22:10 +0000)]
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.
John Carr [Wed, 24 Dec 1997 21:44:46 +0000 (14:44 -0700)]
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.
John Carr [Wed, 24 Dec 1997 21:39:44 +0000 (14:39 -0700)]
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.
Paul Eggert [Tue, 23 Dec 1997 11:55:03 +0000 (11:55 +0000)]
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.
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.
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.
Jeff Law [Mon, 22 Dec 1997 08:55:49 +0000 (01:55 -0700)]
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.
Jeff Law [Mon, 22 Dec 1997 08:55:43 +0000 (01:55 -0700)]
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.