14494 lines
550 KiB
Plaintext
14494 lines
550 KiB
Plaintext
Wed Dec 31 18:40:26 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stmt.c (expand_asm_operands): Treat ASM with no outputs as volatile.
|
||
|
||
Wed Dec 31 08:03:45 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* toplev.c (flag_verbose_asm): Default to 0, not 1.
|
||
|
||
* i386/bsd386.h (ASM_COMMENT_START): Define to " #".
|
||
|
||
Tue Dec 30 17:38:55 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (find_splittable_givs): Handle givs with
|
||
dest_reg created by loop.
|
||
|
||
Tue Dec 30 14:21:33 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* svr4.h (LINK_SPEC): Never specify -h.
|
||
* ptx4.h (LINK_SPEC): Likewise.
|
||
* rs6000/sysv4.h (LINK_SPEC): Likewise.
|
||
* sparc/sol2.h (LINK_SPEC): Likewise.
|
||
|
||
Tue Dec 30 06:15:23 1997 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* libgcc2.c (_eh_compat): Do not include stdlib.h, but provide a
|
||
private extern declaration for malloc.
|
||
|
||
Mon Dec 29 06:56:41 1997 Laurent Guerby <guerby@gnat.com>
|
||
|
||
* Makefile.in (stmp-int-hdrs): Add "touch".
|
||
|
||
Sun Dec 28 19:36:05 1997 Stephen L Moshier <moshier@mediaone.net>
|
||
|
||
* mips.h (CACHE_FLUSH_FUNC): New, defaults to _flush_cache.
|
||
(INITIALIZE_TRAMPOLINE): Use it.
|
||
* mips/ultrix.h (CACHE_FLUSH_FUNC): Define as cacheflush.
|
||
* mips/news4.h (CACHE_FLUSH_FUNC): Likewise.
|
||
|
||
Sun Dec 28 08:19:13 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* arm.c: Don't include assert.h.
|
||
* i960.c: Likewise.
|
||
(i960_arg_size_and_align): Rewrite to avoid assert.
|
||
* m88k.c: Don't include assert.h.
|
||
(expand_block_move): Rewrite to avoid assert.
|
||
* except.c: Don't include assert.h.
|
||
(scan_region): Rewrite to avoid assert.
|
||
(save_eh_status, restore_eh_status, scan_region): Don't bother
|
||
testing whether pointer is null.
|
||
* dwarfout.c, dwarf2out.c: Do not include assert.h.
|
||
(assert): New macro, since we can't use system assert.
|
||
|
||
Sat Dec 27 19:08:17 1997 Stephen L Moshier <moshier@mediaone.net>
|
||
|
||
* mips/ultrix.h (DWARF2_UNWIND_INFO): Define as 0.
|
||
|
||
Fri Dec 26 05:57:06 1997 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* m68k/mot3300.h (FINALIZE_TRAMPOLINE): Macro defined.
|
||
* libgcc2.c (__clear_insn_cache): New sysV68-specific helper function
|
||
for trampolines.
|
||
|
||
Thu Dec 25 15:22:43 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* rs6000.c (function_arg_padding): All aggregates pad upward.
|
||
|
||
Wed Dec 24 18:05:13 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* sparc.c: Add prototypes for static functions.
|
||
(check_pic): Check for form of pic_pc_rtx, not it itself.
|
||
(pic_setup_code): New function, from finalize_pic.
|
||
(finalize_pic): Call pic_setup_code and insert after nonlocal_receiver.
|
||
* sparc.md (nonlocal_goto_receiver): New pattern.
|
||
|
||
Tue Dec 23 05:54:38 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_builtin_setjmp): Call builtin_setjmp_receiver.
|
||
* mips.md (builtin_setjmp_receiver): New pattern.
|
||
|
||
* crtstuff.c (__do_global_ctors_aux): Add missing call to
|
||
FORCE_INIT_SECTION_ALIGN and go back to text section.
|
||
* i386/sol2.h (FORCE_INIT_SECTION_ALIGN): Remove loop.
|
||
|
||
* expr.c (do_store_flag): For shift, get bit count using tree_pow2.
|
||
|
||
Tue Dec 23 05:21:18 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT too.
|
||
|
||
Mon Dec 22 19:30:59 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* sdbout.c (plain_type_1): Add missing checks for named types "char"
|
||
and "int" and check for int by size first.
|
||
|
||
Mon Dec 22 19:13:58 1997 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* m68k/xm-mot3300.h (ADD_MISSING_{POSIX,XOPEN}): Define.
|
||
* m88k/xm-sysv3.h: Likewise.
|
||
|
||
* configure.in (getrlimit, setrlimit): Call AC_CHECK_FUNCS.
|
||
* cccp.c (main): Check HAVE_{G,S}ETRLIMIT in addition to RLIMIT_STACK.
|
||
* toplev.c (main): Likewise.
|
||
|
||
* fixincludes (target_canonical): New variable.
|
||
(size_t): Add support for Motorola's stdlib.h which fails to provide
|
||
a definition for size_t.
|
||
(str{len,spn,cspn} return value): Handle different layout on sysV88.
|
||
(fabs/hypot): Provide a fake for hypot which is broken on
|
||
m88k-motorola-sysv3; emit a prototype for fabs on m88k-motorola-sysv3.
|
||
|
||
* m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in definition.
|
||
(ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
|
||
|
||
Mon Dec 22 19:05:49 1997 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.md (jump): Don't use the annul bit around an empty loop.
|
||
|
||
Mon Dec 22 18:52:56 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386/x-sco5 (CLIB) Deleted.
|
||
(ALLOCA) Added.
|
||
* i386/xm-sco5.h (USE_C_ALLOCA) Added.
|
||
|
||
Mon Dec 22 18:42:16 1997 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* m68k/mot3300Mcrt0.S (mcount): Function removed.
|
||
(__stop_monitor): New function.
|
||
* m68k/mot3300-crt0.S (__stop_monitor): New (empty) function.
|
||
(mcount, mcount%, monitor): Common symbols removed.
|
||
* m68k/mot3300.h (FUNCTION_PROFILER): USE_GAS and !USE_GAS versions
|
||
fixed and merged.
|
||
(EXIT_BODY): Always call __stop_monitor without tricky tests.
|
||
|
||
Mon Dec 22 18:35:05 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* objc/Make-lang.in (runtime-info.h, libobjc_entry.o): Create in
|
||
build directory.
|
||
(libobjc.a): Update dependency list.
|
||
(libobjc.dll): Likewise. Use libobjc_entry.o from build directory.
|
||
(objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
|
||
(objc.mostlyclean): Remove runtime-info.h.
|
||
|
||
Mon Dec 22 18:27:47 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* libgcc2.c (_eh_compat): New section.
|
||
* Makefile.in (LIB2FUNCS): Add _eh_compat.
|
||
|
||
Mon Dec 22 17:52:37 1997 Marcus G. Daniels <mgd@wijiji.santafe.edu>
|
||
|
||
* objc/init.c (_objc_load_callback): Don't initialize.
|
||
|
||
Sun Dec 21 15:06:00 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* mips/xm-iris5.h (HAVE_INTTYPES_H): Force undefined.
|
||
|
||
Sun Dec 21 14:51:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* dwarf2out.c (add_bound_info, case COMPONENT_REF): New case.
|
||
|
||
Sun Dec 14 06:49:05 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Use placeholder_list
|
||
expression in preference to any other if correct type.
|
||
|
||
* i386.h (INITIAL_ELIMINATION_OFFSET): Correctly test for PIC
|
||
register used.
|
||
|
||
Sat Dec 13 06:11:32 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* frame.h (__register_frame_info_table): Fix typo in declaration.
|
||
|
||
Fri Dec 12 07:55:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* function.c (purge_addressof_1): For (mem (address (mem ...)),
|
||
when collapsing, preserve mode of outer MEM.
|
||
|
||
* frame.c (__register_frame_info): Renamed from __register_frame.
|
||
(__register_frame_info_table, __deregister_frame_info): Similarly.
|
||
* frame.h (__{,de}register_frame_info): Likewise.
|
||
(__register_frame_info_table): New declaration.
|
||
* crtstuff.c (__do_global_dtors{,_aux}): Rename __deregister_frame.
|
||
(frame_dummy, __do_global_ctors): Likewise for __register_frame.
|
||
* collect2.c (write_c_file_{stat,glob}): Rename __register_frame
|
||
to __register_frame_info and similarly for __deregister_frame and
|
||
__register_frame_table.
|
||
|
||
* sched.c (remove_dependencies): Set RTX_INTEGRATED_P on dependency
|
||
we delete. Properly update prev for multiple consecutive deletions.
|
||
(priority): Skip deleted dependence.
|
||
|
||
* integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL,
|
||
look inside a (mem (addressof (mem ...))).
|
||
|
||
Fri Dec 12 05:49:58 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* collect2.c (write_c_file_glob):
|
||
Allocate initial frame object in static storage and pass its address.
|
||
|
||
Thu Dec 11 18:01:31 1997 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* acconfig.h (NEED_DECLARATION_GETENV): Define slot added.
|
||
|
||
Thu Dec 11 17:54:23 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* crtstuff.c (__do_global_ctors): Fix typo in last change.
|
||
|
||
Wed Dec 10 18:38:28 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* libgcc2.c (__bb_exit_func): Fix test of return value of fopen.
|
||
|
||
Wed Dec 10 07:07:37 1997 Bernd Schmidt <crux@starsky.Informatik.RWTH-Aachen.DE>
|
||
* combine.c (simplify_rtx, case ABS): Don't get confused by a
|
||
VOIDmode operand.
|
||
|
||
Tue Dec 9 17:44:14 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.h (FUNCTION_ARG_PADDING): Define.
|
||
* rs6000.c (function_arg_padding): New function.
|
||
|
||
Tue Dec 9 08:53:56 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
|
||
|
||
Mon Dec 8 19:23:58 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* toplev.c (get_run_time): [#if VMS] Cast arg in times call.
|
||
|
||
* vax/xm-vms.h (HAVE_UNISTD_H): Define for DEC C.
|
||
* make-cccp.com [CC]: Add /Prefix=All for DEC C.
|
||
|
||
Mon Dec 8 08:09:17 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stmt.c (expand_decl_cleanup_no_eh): Properly return a value.
|
||
|
||
* fold-const.c (fold_convert): Don't flag overflow when converting
|
||
pointer to integer.
|
||
|
||
Sun Dec 7 09:42:05 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* make-gcc.com (@make-l2): Pass along any command line arguments.
|
||
* make-l2.com: Add latent support to compile cp/inc/* if `cc1plus'
|
||
is specified [currently disabled].
|
||
* make-cc1.com: When building with GNU C, use -O2.
|
||
* make-cccp.com: Likewise.
|
||
|
||
Sun Dec 7 06:56:48 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* crtstuff.c (__do_global_ctors): Add missing arg to __register_frame.
|
||
|
||
* collect2.c (write_c_file_stat): Fix error in last change;
|
||
use __SIZE_TYPE__, not size_t.
|
||
|
||
Sun Dec 7 05:50:43 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c (strings.h): Fix misspelling of `include' introduced
|
||
in last change to this file.
|
||
|
||
Sat Dec 6 18:54:11 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha/vms.h (CPP_PREDEFINES): Remove redundant setting
|
||
of GCC version and unneeded setting of __VMS_VER.
|
||
|
||
Fri Dec 5 07:24:36 1997 Richard Stallman <rms@gnu.org>
|
||
|
||
* sparc/linux64.h (TARGET_VERSION): Write "GNU/Linux".
|
||
* sparc/linux.h, sparc/linux-aout.h, rs6000/linux.h: Likewise.
|
||
* m68k/linux.h, arm/linux.h, alpha/{linux,elf}.h: Likewise.
|
||
* listing: Change linux to gnu-linux.
|
||
|
||
Fri Dec 5 06:23:22 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
Alter C startup code so that it doesn't invoke malloc on Solaris.
|
||
* frame.h (struct object): Decl moved here from frame.c.
|
||
* frame.c (struct object): Move decl to frame.h.
|
||
("frame.h"): Include after <stddef.h>, so that size_t is defined.
|
||
(__register_frame, __register_frame_table, __deregister_frame):
|
||
It's now the caller's responsibility to allocate storage for object.
|
||
* crtstuff.c (frame_dummy), collect2.c (write_c_file_stat):
|
||
Allocate initial frame object in static storage and pass its address.
|
||
* crtstuff.c (<stddef.h>, "frame.h"): Include.
|
||
* Makefile.in ($(T)crtbegin.o, $(T)crtend.o, stamp-crtS):
|
||
Depend on defaults.h and frame.h.
|
||
|
||
* Makefile.in (RTL_H, TREE_H): Add gansidecl.h.
|
||
(DEMANGLE_H): New macro. All dependencies on demangle.h
|
||
changed to $(DEMANGLE_H).
|
||
(RECOG_H): Likewise.
|
||
(libgcc2.a, stmp-multilib): Add dependencies on frame.h, gansidecl.h.
|
||
(collect.o): Add dependency on gansidecl.h.
|
||
(gcc.o, choose-temp.o, pexecute.o, prefix.o): Likewise.
|
||
(obstack.o, choose-temp.o, pexecute.o): Add dependency on $(CONFIG_H).
|
||
|
||
Fri Dec 5 06:20:06 1997 Dean Deaver <deaver@amt.tay1.dec.com>
|
||
|
||
* arm.md (casesi_internal): Add USE of label.
|
||
|
||
Fri Dec 5 05:59:44 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure.in (sys/times.h): Check for this instead of times.h.
|
||
* cpplib.c, toplev.c: Properly test for and include sys/times.h.
|
||
|
||
Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (final_prescan_insn): Use local label prefix when emitting
|
||
.uses pseudo-ops.
|
||
|
||
Thu Dec 4 07:00:48 1997 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (arm_finalize_pic): Use an offset of 4 when adjusting the
|
||
GOT address.
|
||
|
||
Thu Dec 4 06:58:32 1997 Dean Deaver <deaver@amt.tay1.dec.com>
|
||
|
||
* genoutput.c (scan_operands): Treat format of "u" like "e".
|
||
|
||
Thu Dec 4 06:28:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* msdos/top.sed, winnt/config-nt.sed: Change version to 2.8.0.
|
||
|
||
* stmt.c (pushcase_range): Clean up handling of "infinite" values.
|
||
|
||
Wed Dec 3 09:03:35 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
|
||
|
||
* i386.c (notice_update_cc): Remove bogus Pentium GCC code.
|
||
|
||
Wed Dec 3 08:46:32 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* arm.h (CPP_ARCH_DEFAULT_SPEC): Fix misspelling: `TARGET_CPU_DEFUALT'.
|
||
(TARGET_SWITCHES): Fix misspelling: `no-apcs-rentrant'.
|
||
* pa.c (override_options): Fix misspelling: `compatable'.
|
||
* enquire.c (main): Fix misspelling in diagnostic: `mallocatable'.
|
||
* gcov.c (function_summary): Fix misspelling in diagnostic: `funcion'.
|
||
* objc/thr-decosf1.c (__objc_thread_id): Fix misspelling in code:
|
||
`pthread_getuniqe_np'.
|
||
|
||
* tahoe.c (extensible_operand): Renamed from extendable_operand.
|
||
All callers changed.
|
||
* dwarf2.h (enum dwarf_discrim_list): Renamed from dwarf_descrim_list.
|
||
* dwarf2out.c: Fix misspellings in forward static function
|
||
declarations: `add_AT_setion_offset', `add_sibling_atttributes'.
|
||
* dwarfout.c: Fix misspellings in forward static function
|
||
declarations: `langauge_attribute', `geneate_new_sfname_entry'.
|
||
* stmt.c, tree.h (start_cleanup_deferral):
|
||
Renamed from start_cleanup_deferal.
|
||
(end_cleanup_deferral): Renamed from end_cleanup_deferal.
|
||
* toplev.c (rest_of_compilation): Rename local var from
|
||
inlineable to inlinable.
|
||
|
||
Wed Dec 3 06:17:03 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
|
||
|
||
Wed Dec 3 06:06:38 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_type_die, case POINTER_TYPE): See TREE_ASM_WRITTEN
|
||
before the recursive call.
|
||
|
||
Wed Dec 3 05:57:29 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure.in (AC_HEADER_{STDC,TIME}): Add calls.
|
||
(AC_CHECK_HEADERS): Add fcntl.h times.h, sys/times.h,
|
||
sys/resource.h, and sys/param.h.
|
||
(getenv): Check if need declaration.
|
||
* cccp.c: Remove obsolete ways of including headers and use autoconf
|
||
symbols instead.
|
||
Include gansidecl.h; remove things defined there.
|
||
See if getenv needs to be declared.
|
||
* cpplib.c: Likewise.
|
||
* cexp.y: Use autoconf symbols to select what include files are needed.
|
||
* genattrtab.c, toplev.c: Likewise.
|
||
|
||
Tue Dec 2 21:44:25 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* reload1.c (reload): Make copy of MEM before setting
|
||
req_equiv_mem if the address is a PLUS.
|
||
|
||
Tue Dec 2 07:03:47 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vax/xm-vms.h (STDC_HEADERS, HAVE_STDLIB, HAVE_STRING): Define.
|
||
(mesg_implicit_function_declaration): New macro.
|
||
|
||
* make-l2.com: Compile libgcc2.c with `-fexceptions' specified.
|
||
|
||
Mon Dec 1 17:44:59 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
|
||
output ASCII by default; only use ASM_OUTPUT_DWARF_STRING if
|
||
flag_debug_asm is on.
|
||
(output_die, output_pubnames, output_line_info): Likewise.
|
||
|
||
Mon Dec 1 17:15:30 1997 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* arm/linux.h (SUBTARGET_CPU_DEFAULT): Define instead
|
||
of TARGET_CPU_DEFAULT.
|
||
|
||
Mon Dec 1 16:51:23 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
|
||
|
||
* i386/mingw32.h (MATH_LIBRARY): Set to "-lcrtdll".
|
||
|
||
Mon Dec 1 16:46:57 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* c-aux-info.c: Add prototypes for static functions.
|
||
* c-lex.c, emit-rtl.c, rtl.c, xcoffout.c: Likewise.
|
||
|
||
* i386.h (TARGET_SWITCHES): Add entries for "windows" and "dll".
|
||
|
||
Mon Dec 1 16:42:20 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (fix_trunc{dfsi,sfsi,dfsi}2): Add '*' in operand 3.
|
||
|
||
Sun Nov 30 20:25:59 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (get_inner_reference): For ARRAY_REF, if need
|
||
WITH_RECORD_EXPR, make it with the ARRAY_REF as exp.
|
||
|
||
* expr.c (store_constructor): Use TARGET, not EXP, for
|
||
WITH_RECORD_EXPR when offset has a placeholder.
|
||
|
||
Sun Nov 30 11:19:00 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
|
||
|
||
* objc/Make-lang.in (libobjc.dll): Rename -dll flag to -mdll.
|
||
|
||
Sun Nov 30 08:42:29 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* stmt.c (expand_end_bindings): Cleanups and incoming gotos are
|
||
not incompatible.
|
||
|
||
Sun Nov 30 05:45:06 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* jump.c (jump_optimize): Use find_insert_position in two more places.
|
||
|
||
Sat Nov 29 13:47:40 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha/vms.h (HAVE_STRERROR, HAVE_{LIMITS,STDDEF,TIME}_H): Define.
|
||
|
||
Sat Nov 29 08:29:47 1997 J.J.van der Heijden <J.J.vanderHeijden@student.utwente.nl>
|
||
|
||
* configure.in: Add check for kill.
|
||
* gcc.c: Define kill as raise if not HAVE_KILL.
|
||
|
||
Sat Nov 29 06:18:08 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* jump.c (find_insert_position): New function.
|
||
(jump_optimize): Use it when making new copy of insn after test.
|
||
|
||
Sat Nov 29 05:54:57 1997 Douglas Rupp <rupp@gnat.com>
|
||
|
||
* alpha/vms.h (BIGGEST_ALIGNMENT, ENCODE_SECTION_INFO): No longer
|
||
override.
|
||
|
||
Sat Nov 29 05:43:37 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* getpwd.c (getpwd, [VMS]): Only add extra arg if VMS.
|
||
|
||
* alpha/xm-vms.h (HAVE_VPRINTF, HAVE_PUTENV): Define.
|
||
|
||
* cccp.c (index, rindex): Add conditional defs to strchr and strrchr.s
|
||
* cpplib.c: Likewise.
|
||
* gcov.c: Include gansidecl.h.
|
||
|
||
Fri Nov 28 21:17:51 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* objc/objc-act.c: Include "output.h".
|
||
|
||
* objc/Make-lang.in (objc-parse.o, objc-act.o): Also depend on
|
||
$(srcdir)/output.h.
|
||
|
||
* objc/Object.m (+conformsTo:): Surround assignment with parentheses.
|
||
|
||
* objc/archive.c, objc/class.c, objc/encoding.c: Finish prototyping.
|
||
* objc/init.c, objc/objc-act.c, objc/objc-api.h: Likewise.
|
||
* objc/runtime.h, objc/sendmsg.c: Likewise.
|
||
|
||
Fri Nov 28 19:15:53 1997 Mark Kettenis <kettenis@phys.uva.nl>
|
||
|
||
* objc/thr-posix.c (__objc_mutex_allocate): Allocate
|
||
mutex type instead of assuming it fits in a void * type.
|
||
(__objc_mutex_deallocate): Free mutex type.
|
||
(__objc_mutex_lock): Pass mutex type instead of pointer to it.
|
||
(__objc_mutex_{try,un}lock): Likewise.
|
||
(__objc_condition_allocate): Allocate condition type instead
|
||
of assuming it fits in a void * type.
|
||
(__objc_condition_deallocate): Free condition type.
|
||
(__objc_condition_wait): Pass condition type instead of pointer to it.
|
||
(__objc_condition_{broadcast,signal}): Likewise.
|
||
|
||
Fri Nov 28 17:07:25 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.c (function_arg_partial_nregs): Undo 11/26 change.
|
||
|
||
Fri Nov 28 12:34:03 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/Make-lang.in (runtime-info.h): Add comment in file.
|
||
|
||
* objc/selector.c: Replace all occurences of sarray_get
|
||
with sarray_get_safe.
|
||
* objc/sendmsg.c: Likewise.
|
||
|
||
* protoize.c (include_defaults): Add component element as in cccp.c.
|
||
* nextstep.h (INCLUDE_DEFAULTS): Add component element.
|
||
(ASM_COMMENT_START): Correct assembly comment string.
|
||
* objc/Make-lang.in (objc/{NXConstStr,Object,Protocol,linking):
|
||
Compile with GNU runtime.
|
||
|
||
Fri Nov 28 12:27:50 1997 Ovidiu Predescu <ovidiu@net-community.com>
|
||
|
||
Generate platform information required by ObjC runtime.
|
||
* toplev.c (lang_options): New ObjC specific compiler flag.
|
||
* objc/Make-lang.in: Add target to generate runtime-info.h file.
|
||
* objc/objc-act.c (print_struct_values): New variable.
|
||
(generate_struct_by_value_array): New function.
|
||
(lang_init): Call generate_struct_by_value_array if requested.
|
||
(lang_decode_option): Check for new compiler flag.s
|
||
* objc/sendmsg.c (__objc_get_forward_imp): Check size of type
|
||
for determining proper forwarding function.
|
||
|
||
Fri Nov 28 05:58:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* regclass.c (record_address_regs): Use REG_OK_FOR_{INDEX,BASE},
|
||
not the REGNO versions.
|
||
|
||
Thu Nov 27 16:28:04 1997 Scott Snyder <snyder@d0sgif.fnal.gov>
|
||
|
||
* dwarf2out.c (outout_call_frame_info): Ensure info has proper
|
||
alignment.
|
||
|
||
* libgcc2.c (__throw): Initialize HANDLER.
|
||
|
||
Thu Nov 27 16:23:25 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* tree.h, rtl.h: See if need declarations for free.
|
||
* tree.c, bc-optab.c: Get the declaration of free from stdlib.h.
|
||
|
||
Thu Nov 27 07:21:54 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* except.h: Add outer_context_label_stack.
|
||
* except.c: Likewise.
|
||
(expand_start_all_catch): Push the outer_context for the try block
|
||
onto outer_context_label_stack.
|
||
(expand_end_all_catch): Use it and pop it.
|
||
|
||
* except.c (expand_start_all_catch): One more do_pending_stack_adjust.
|
||
|
||
* expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
|
||
|
||
Thu Nov 27 07:15:10 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
|
||
(print_operand{,_address}): Use SMALL_DATA_REG for register involved in
|
||
small data relocations.
|
||
|
||
* rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
|
||
-dynamic linker is not used.
|
||
|
||
* rs6000.md (call insns): For local calls, use @local suffix under
|
||
System V; don't use @plt under Solaris.
|
||
|
||
Wed Nov 26 15:12:32 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
|
||
|
||
* toplev.c (flag_exceptions): Default value is 2.
|
||
(compile_file): If flag_exceptions still has the value 2, then
|
||
set it to 0.
|
||
|
||
Wed Nov 26 14:58:42 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (output_function_profiler): Put label address in r0, and
|
||
store LR in 4(sp) for System V/eabi.
|
||
|
||
* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
|
||
byte boundary, and maintain stack backchain.
|
||
|
||
(Originally from Geoffrey Keating)
|
||
* rs6000.c (function_arg): Excess floating point arguments don't
|
||
go into GPR registers after exhausting FP registers under the
|
||
System V.4 ABI.
|
||
(function_arg_partial_nregs): Likewise.
|
||
|
||
* rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
|
||
suffix to calls.
|
||
|
||
Wed Nov 26 14:09:01 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarfout.c (output_type): If finalizing, write out nested types
|
||
of types we've already written.
|
||
|
||
* toplev.c (main): Complain about -gdwarfn.
|
||
|
||
Wed Nov 26 12:37:56 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
|
||
|
||
* mingw32.h (PATH_SEPARATOR): Moved to xm-mingw32.h
|
||
* xm-mingw32.h (PATH_SEPARATOR): Moved here from mingw32.h.
|
||
|
||
* getpwd.c (getpwd): Use VMS implementation of _WIN32 unless cygwin32.
|
||
|
||
Wed Nov 26 12:26:44 1997 John Hassey <hassey@dg-rtp.dg.com>
|
||
|
||
* m88k/dgux.h (ASM_CPU_SPEC) : No whitespace allowed.
|
||
|
||
* m88k.h (SUPPORTS_ONE_ONLY) : Must be svr4.
|
||
|
||
* i386/dgux.h (ASM_OUTPUT_ALIGN): Deleted.
|
||
|
||
* i386/dgux.c (output_file_start) : Changed ix86_isa_string
|
||
to ix86_arch_string.
|
||
|
||
* cplus-dem.c (fancy_abort): Added.
|
||
|
||
Wed Nov 26 06:07:50 1997 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm/coff.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_32 to defaults.
|
||
|
||
* configure.in (arm*-*-*): Recognize --with-cpu for ARM processors.
|
||
|
||
Wed Nov 26 05:05:36 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* libgcc2.c (inhibit_libc): Define #ifdef CROSS_COMPILE.
|
||
|
||
* mips/xm-iris6.h (malloc, realloc, calloc): No longer declare.
|
||
(USG): Define here.
|
||
(xm-iris5.h): No longer include; just include xm-mips.h.
|
||
|
||
* mips-tfile.c (parse_def): Properly recognize bitfield and
|
||
count array dimensions.
|
||
|
||
* protoize.c: Remove declarations of void, exit, and free.
|
||
|
||
* i386/mingw32.h (LINK_SPEC, STARTFILE_SPEC): Change -dll to -mdll.
|
||
|
||
* configure.in: Check for sys/file.h.
|
||
* gcc.c (sys/file.h): Include if HAVE_SYS_FILE_H.
|
||
|
||
* configure.in: Only give error on bad --with-cpu value for target.
|
||
|
||
Sat Nov 22 19:21:55 1997 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
|
||
(ASM_OUTPUT_DWARF_VALUE4): New macro.
|
||
(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
|
||
defined.
|
||
(output_call_frame_info): Don't output forward label differences
|
||
if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
|
||
Substitute instead simple label and define this label later to be
|
||
difference of desired labels after they have been defined.
|
||
* m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
|
||
|
||
* gcc.c (process_command): Don't take address of function fatal when
|
||
calling lang_specific_driver.
|
||
|
||
Sat Nov 22 17:08:03 1997 J. Kean Johnston <jkj@sco.com>
|
||
|
||
* i386/sco5.h (SELECT_RTX_SECTION): Redefine to work with -fpic.
|
||
(LIBGCC_SPEC, LIB_SPEC): Link with correct libgcc.a.
|
||
(HAVE_ATEXIT): Define.
|
||
|
||
Sat Nov 22 12:20:22 1997 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (movsfcc{,_hard}_insn): Specify mode for all alternatives.
|
||
|
||
Sat Nov 22 06:56:16 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* function.c (instantiate_decl): Only ignore ADDRESSOF if arg is REG.
|
||
|
||
* configure.in: Check for functions before checking which need decls.
|
||
(bcopy, bzero, bcmp, index, rindex): Add checks.
|
||
(vax-*-sysv*): Fix typo in setting of xm_file.
|
||
* aclocal.m4: Add conditional definitions of index and rindex.
|
||
* gansidecl.h (bcopy, bzero, bcmp, index, rindex): If don't
|
||
have one of these, define macro to use ANSI form.
|
||
* pa/xm-pahpux.h (bcopy, bzero, bcmp, rindex, index): No longer define.
|
||
* mips/xm-sysv.h, xm-m88k.h, m68k/xm-plexus.h: Likewise.
|
||
* m68k/xm-mot3300.h, m68k/xm-m68kv.h, m68k/xm-hp320.h: Likewise.
|
||
* winnt/xm-winnt.h, vax/xm-vms.h, m68k/xm-3b1.h: Likewise.
|
||
* i386/xm-os2.h, i386/xm-mingw32.h, alpha/xm-vms.h: Likewise.
|
||
* xm-svr4.h, xm-svr3.h: Likewise.
|
||
* clipper/xm-clix.h: Likewise.
|
||
(TARGET_MEM_FUNCTIONS): Define here.
|
||
* xm-linux.h (bcmp, bcopy, bzero, index, rindex): No longer undefine.
|
||
* xm-convex.h (bcopy, bzero): No longer define.
|
||
* vax/xm-vaxv.h, sparc/xm-pbd.h, mips/xm-iris{3,4,5}.h: Likewise.
|
||
* m68k/xm-crds.h, m68k/xm-altos3068.h, i386/xm-sun.h: Likewise.
|
||
* i386/xm-osf.h, i386/xm-aix.h, xm-i370.h, ns32k/xm-genix.h: Likewise.
|
||
|
||
Sat Nov 22 06:46:26 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* c-typeck.c, collect2.c, cpplib.c, dwarfout.c, gcov.c, protoize.c:
|
||
Don't include <strings.h> unless there's no <string.h>.
|
||
|
||
Fri Nov 21 06:46:50 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure.in (i[3456]86-*-freebsd{,elf}*): Delete i386/xm-freebsd.h.
|
||
* xm-freebsd.h, i386/xm-freebsd.h: Deleted.
|
||
|
||
* i386/xm-cygwin32.h (HAVE_RUSAGE, HAVE_FILE_H): Deleted.
|
||
* i386/xm-mingw32.h, rs6000/xm-cygwin32.h: Likewise.
|
||
|
||
* xm-std32.h: New file, so far unused.
|
||
|
||
Fri Nov 21 05:50:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.c (legitimize_pic_address): Make sure pic register marked used.
|
||
|
||
* dwarf2out.c (output_call_frame_info): Call app_enable and
|
||
app_disable if flag_debug_asm, not if flag_verbose_asm.
|
||
|
||
Thu Nov 20 16:37:36 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_builtin_apply): Fix typo in last change.
|
||
|
||
* expr.c (expand_assignment): If assigning to readonly field,
|
||
mark rtx as unchanging.
|
||
|
||
* configure.in: Add checks for functions putenv, popen, and vprintf.
|
||
(i[3456]86-*-netbsd*): No longer need i386/xm-netbsd.h.
|
||
(i860-alliant-*): No longer need i860/xm-fx2800.h.
|
||
(m68k-ncr-sysv*): Use xm-svr3.h instead of m68k/xm-tower.h.
|
||
(m68k-sun-sunos*): No longer need m68k/xm-sun3.h.
|
||
(m68k-*-netbsd*): No longer need m68k/xm-netbsd.h.
|
||
(mips-dec-netbsd*): No longer need mips/xm-netbsd.h.
|
||
(ns32k-pc532-netbsd*): No longer need ns32k/xm-netbsd.h.
|
||
(sparc-*-netbsd*): No longer need sparc/xm-netbsd.h.
|
||
(vax-*-netbsd*): No longer need config/xm-netbsd.h.
|
||
* arm/xm-netbsd.h: No longer include xm-netbsd.h.
|
||
* xm-linux.h (HAVE_VPRINTF, HAVE_POPEN, HAVE_PUTENV): Deleted.
|
||
* xm-mips.h (HAVE_VPRINTF, HAVE_PUTENV): Deleted.
|
||
* i386/xm-osf.h, xm-arm.h, xm-alpha.h: Likewise.
|
||
* xm-sparc.h (HAVE_POPEN): Deleted.
|
||
* xm-sh.h (HAVE_VPRINTF): Deleted.
|
||
* mips/xm-iris4.h, mips/xm-iris5.h, xm-m88k.h: Likewise.
|
||
* m68k/xm-crds.h, m68k/xm-atari.h, m68k/xm-amix.h: Likewise.
|
||
* xm-svr3.h, xm-svr4.h, i386/xm-mingw32.h: Likewise.
|
||
* i386/xm-os2.h (HAVE_PUTENV): Deleted.
|
||
* i386/xm-dos.h, i386/xm-aix.h: Likewise.
|
||
* arm/xm-netbsd.h (HAVE_VPRINTF, HAVE_STRERROR): No longer
|
||
need undefine.
|
||
* xm-netbsd.h, i386/xm-netbsd.h, m68k/xm-netbsd.h: Deleted.
|
||
* mips/xm-netbsd.h, ns32k/xm-netbsd.h, sparc/xm-netbsd.h: Likewise.
|
||
* i860/xm-fx2800.h, m68k/xm-sun3.h, m68k/xm-tower.h: Likewise.
|
||
|
||
Thu Nov 20 16:04:24 1997 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* explow.c (plus_constant_wide, case MEM): If about to call
|
||
force_const_mem, generate the rtl in a saveable obstack.
|
||
|
||
* arm.md (movhi): Pass the full MEM to storeinthi, storehi and
|
||
storehi_bigend.
|
||
(storeinthi, storehi, storehi_bigend): Be more conservative about
|
||
when not to force a PLUS or MINUS into a REG. Use change_address
|
||
to create new MEMs.
|
||
|
||
Wed Nov 19 15:16:04 1997 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* c-common.c (print_char_table): Add a and A to float formats.
|
||
(scan_char_table): Likewise.
|
||
(check_format_info): Recognize `a' as allocate flag only if used
|
||
in correct context.
|
||
|
||
Wed Nov 19 12:56:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* configure.in: Fix check for <inttypes.h>.
|
||
|
||
Tue Nov 18 19:27:01 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (attribute "type"): Add nil.
|
||
(movsi_ie): y/y alternative is type nil.
|
||
(movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X.
|
||
(movsf_ie+1): Delete.
|
||
|
||
Tue Nov 18 18:38:41 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c (warn_undef): Now static.
|
||
(eval_if_expression): Don't warn about undefined preprocessor symbols
|
||
in system headers.
|
||
* cexp.y (parse_c_expression):
|
||
Now takes new arg specifying whether to warn
|
||
about undefined preprocessor symbols.
|
||
(warn_undef): Now local and static; independent of warn_undef in cccp.c
|
||
(yylex): `register' -> `register int', needed for C9X.
|
||
|
||
The following changes are only if TEST_EXP_READER is defined:
|
||
(expression_signedp): New var.
|
||
(start): Set expression_signedp to signedness of expression.
|
||
(print_unsigned_host_wide_int): New function.
|
||
(main): Use it to print value of expression, instead of hoping that
|
||
`long' is long enough. Print "u" after unsigned values.
|
||
|
||
Tue Nov 18 18:33:30 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (save_restore_insns): If gp_offset or fp_offset are
|
||
large_int, emit two insns instead of one splitable insn.
|
||
* dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
|
||
from cfa_temp_value, use cfa_offset. Add assert checking that
|
||
cfa_reg is SP.
|
||
|
||
Tue Nov 18 09:11:58 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* fold-const.c (div_and_round_double): Return overflow for
|
||
divide-by-zero instead of aborting.
|
||
|
||
* tree.c (substitute_in_expr, case TREE_LIST): Fix two typos.
|
||
|
||
Tue Nov 18 05:03:52 1997 Jeffrey A Law <law@cygnus.com>
|
||
|
||
* arm.c (output_move_double): Allocate 3 entries in otherops array.
|
||
|
||
Tue Nov 18 02:41:01 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c (quote_string_for_make): New function.
|
||
(deps_output): Use it to fix bug with file name quoting in -M output.
|
||
|
||
Mon Nov 17 13:28:33 1997 Philip Blundell <Philip.Blundell@pobox.com>
|
||
|
||
* arm/lib1funcs.asm (__div0): Provide GNU/Linux implementation.
|
||
* arm/t-linux (LIB1ASMFUNCS): Use it.
|
||
|
||
Mon Nov 17 09:13:59 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* function.c (purge_addressof_1): Make copy when substituting argument
|
||
of ADDRESSOF.
|
||
(fixup_var_refs_1): Likewise.
|
||
|
||
* m68k.c: Include tree.h.
|
||
|
||
Mon Nov 17 09:01:05 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* getpwd.c (getpwd, [VMS]): Add extra arg of 0 to getcwd call.
|
||
|
||
* alpha/vms.h ({OPTIMIZATION,OVERRIDE}_OPTIONS): Delete, for now.
|
||
* alpha/xm-vms.h (DIR_SEPARATOR, PATH_SEPARATOR): Delete.
|
||
|
||
Mon Nov 17 08:52:45 1997 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* function.c (fixup_stack_1): Also fix-up refs via ARG_POINTER_REGNUM.
|
||
|
||
* configure.in (arm-*-netbsd*): Doesn't need collect2.
|
||
|
||
Mon Nov 17 08:50:01 1997 Stephen L Moshier <moshier@world.std.com>
|
||
|
||
* i386/isc.h (DWARF2_UNWIND_INFO): Define as 0.
|
||
|
||
Mon Nov 17 08:42:28 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* flow.c (propagate_block): Look for pre-inc/dec within PARALLEL.
|
||
|
||
Mon Nov 17 03:14:46 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cpplib.c (file_size_and_mode): Remove.
|
||
(finclude): Don't assume long and off_t are same size or that
|
||
mode_t fits in int.
|
||
* cccp.c: (main, finclude, check_precompiled): Don't assume size_t
|
||
and off_t are same size.
|
||
* gcov.c (read_files): Don't assume off_t and unsigned are same size.
|
||
|
||
Sun Nov 16 18:56:40 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/objc-act.c (objc_demangle): New function.
|
||
(objc_printable_name): New function.
|
||
(init_objc): Change default function.
|
||
|
||
* expr.c (expand_builtin_apply): Prefer nonlocal over block.
|
||
|
||
Sun Nov 16 18:10:13 1997 Fila Kolodny <fila@ibi.com>
|
||
|
||
* i370.c (i370_function_prolog): New function from i370.h.
|
||
* i370.h (FUNCTION_PROLOG): Just call i370_function_prolog.
|
||
|
||
Sun Nov 16 08:40:35 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* calls.c (expand_call, store_one_arg): Don't pass QImode arguments
|
||
to emit_library_call.
|
||
* expr.c (emit_push_insn, expand_assignment, store_expr): Likewise.
|
||
(expand_expr, expand_builtin): Likewise.
|
||
* function.c (put_var_into_stack, assign_parms): Likewise.
|
||
* alpha.c (alpha_builtin_saveregs): Likewise.
|
||
* clipper.c (clipper_builtin_saveregs): Likewise.
|
||
* m88k.c (m88k_builtin_saveregs): Likewise.
|
||
* pa.c (hppa_builtin_saveregs): Likewise.
|
||
* sparc.c (sparc_builtin_saveregs): Likewise.
|
||
|
||
Sun Nov 16 07:39:08 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* real.h (REAL_VALUES_IDENTICAL): New macro.
|
||
* expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
|
||
* fold-const.c (operand_equal_p): Don't consider -0.0 identical to 0.0.
|
||
* tree.c (simple_cst_equal): Likewise.
|
||
* varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL macro.
|
||
|
||
Sun Nov 16 07:29:12 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* acconfig.h (NEED_DECLARATION_{,R}INDEX): New cases.
|
||
* configure.in: See if need declarations for index and rindex.
|
||
* c-typeck.c, collect2.c, cpplib.c, dwarfout.c, gcov.c, protoize.c:
|
||
Include stdlib.h, string.h, and strings.h, if they exist.
|
||
Only declare index and rindex if needed.
|
||
* collect2.c: Only declare free if needed.
|
||
|
||
* regclass.c (record_address_regs): Refine choice of index and base
|
||
when have sum of two regs, one of which is a hard reg.
|
||
|
||
Sun Nov 16 07:07:45 1997 Robert Lipe (robertl@dgii.com)
|
||
|
||
* i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define as in sysv4 and linux
|
||
(HAVE_ATEXIT): No longer define. This confused ELF destructors.
|
||
(DBX_DEBUGGING_INFO): Define.
|
||
|
||
Sat Nov 15 09:55:11 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept MINUS (until reload
|
||
knows what to do with it).
|
||
|
||
Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
|
||
pick apart floating point values, instead of using CONST_DOUBLE_LOW
|
||
and CONST_DOUBLE_HIGH.
|
||
|
||
* rs6000.md (define_splits for DF constants): Use the appropriate
|
||
REAL_VALUE_* interface to pick apart DF floating point constants in
|
||
a machine independent fashion.
|
||
|
||
Thu Nov 13 07:30:53 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm/netbsd.h (LINK_SPEC): Redefine -- pass -X.
|
||
|
||
* arm.md (movsicc_insn): Add extra reload alternatives for better
|
||
register tying.
|
||
(movsfcc_hard_insn, movsfcc_soft_insn, movdfcc_insn): Likewise.
|
||
|
||
Mon Nov 10 19:32:14 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.md (mov[sdt]f_const_insn): Fix condition to match what
|
||
instruction can handle.
|
||
|
||
Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* stmt.c (expand_decl_cleanup_no_eh): New fn.
|
||
|
||
* except.c (expand_leftover_cleanups): do_pending_stack_adjust.
|
||
|
||
Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.md (lshrdi3_power): Delete '&' from first alternative and
|
||
swap instruction order.
|
||
|
||
Sun Nov 9 09:51:08 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* machmode.def (QCmode, HCmode): New modes.
|
||
|
||
Sun Nov 9 09:24:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* combine.c (sets_function_arg_p): New function.
|
||
(combinable_i3pat): Check if combining with any but the first
|
||
argument register setting insn for a function call.
|
||
|
||
* a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid sheduling load from
|
||
stack slot.
|
||
|
||
Sun Nov 9 09:17:53 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* loop.c (strength_reduce): If initial value of BIV is equivalent to
|
||
a constant, record that as initial value.
|
||
(check_dbra_loop): Don't reverse loop if initial value isn't CONST_INT.
|
||
|
||
Sun Nov 9 09:12:41 1997 Tristan Gingold <gingold@haendel.enst.fr>
|
||
|
||
* expr.c (emit_push_insn): Avoid infinite recursion
|
||
when -fcheck-memory-usage.
|
||
|
||
Sun Nov 9 08:03:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* cse.c (simplify_binary_operation): Fix error in last change.
|
||
|
||
Sun Nov 9 07:56:31 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vmsconfig.com [version.opt]: Parse version string more robustly.
|
||
[@variable@]: Discard configure tokens when using Makefile.in.
|
||
[libgcc2-cxx.list]: Generate this new file for CXX_LIB2FUNCS.
|
||
[cp/input.c]: Suppress it as workaround to avoid linker warning.
|
||
[objc-parse.y]: Now lives in the objc subdirectory.
|
||
* make-cc1.com [objc-parse.{c,y}]: Ditto.
|
||
* make-cccp.com [prefix.c]: Compile additional source file.
|
||
|
||
* cccp.c (VMS_freopen, VMS_fopen, VMS_open, VMS_fstat): Call
|
||
corresponding library routine specified via its ordinary name
|
||
rather than with a decc$ prefix. (Reverses Oct 19 change.)
|
||
|
||
* cccp.c, cexp.y [HOST_WIDE_INT]: Manually splice long lines
|
||
of avoid backslash+newline continuation on #if directives.
|
||
|
||
Sun Nov 9 01:54:54 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
|
||
are shared.
|
||
|
||
Sat Nov 8 23:01:37 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* cse.c (simplify_binary_operation): Don't simplify divide by zero
|
||
for targets that don't support a representation of INFINITY.
|
||
|
||
Sat Nov 8 22:37:29 1997 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* Makefile.in (cse.o): Depend on expr.h.
|
||
* cse.c: Include expr.h.
|
||
(fold_rtx, case MEM): For ADDRESSOF, create new MEM.
|
||
|
||
Sat Nov 8 19:27:56 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (expand_increment): When enqueing a postincrement for a MEM,
|
||
use copy_to_reg if address is not a general_operand.
|
||
|
||
Sat Nov 8 18:39:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* libgcc2.c (L_eh): Define __eh_pc here.
|
||
Replace __eh_type with generic pointer __eh_info.
|
||
|
||
Sat Nov 8 07:03:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha.h (SECONDARY_OUTPUT_RELOAD_CLASS): If FLOAT_REGS,
|
||
need secondary reload for QImode and HImode even if BWX.
|
||
|
||
* expmed.c (store_split_bit_field): Force ADDRESSOF into register.
|
||
|
||
* cse.c (fold_rtx, case ADDRESSOF): New case (that does nothing).
|
||
|
||
* function.c (fixup_var_refs_1, case ADDRESSSOF): Check that
|
||
new value is valid for insn.
|
||
|
||
* stor-layout.c (get_best_mode): Refine test for field within
|
||
unit to work properly for negative positions.
|
||
|
||
* print-rtl.c (print_inline_rtx): Save and restore sawclose and indent.
|
||
|
||
* reload.c (find_replacement): If PLUS, MINUS, or MULT, see if
|
||
either arg contains a replacement.
|
||
|
||
Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
|
||
linked once FDEs.
|
||
|
||
Fri Nov 7 06:50:57 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha.h (FUNCTION_VALUE): Take into account promotion of pointers.
|
||
|
||
* unroll.c (back_branch_in_range_p): Refine check for INSN at loop end.
|
||
|
||
Wed Nov 5 18:17:50 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* fixinc.svr4: Replace `__STDC__ - 0 == 1'
|
||
with `defined (__STRICT_ANSI__)'.
|
||
|
||
Tue Nov 4 18:32:44 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (insv, extzv, extv): Add change_address call.
|
||
(movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
|
||
* mips.c (mips_expand_epilogue): Emit blockage insn before call to
|
||
save_restore_insns if no FP and GP will be restored.
|
||
|
||
* acconfig.h (HAVE_INTTYPES_H): Undef.
|
||
* configure.in (inttypes.h): Check for conflicts between sys/types.h
|
||
and inttypes.h, and verify that intmax_t is defined.
|
||
* mips/x-iris (CC, OPT, OLDCC): Comment out.
|
||
* mips/x-iris3: Likewise.
|
||
|
||
Tue Nov 4 17:28:31 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
|
||
(yylex): Record wide strings using target endianness, not host.
|
||
|
||
Tue Nov 4 16:18:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* Makefile.in (distdir-start): Add dependency on $(srcdir)/config.in.
|
||
|
||
Tue Nov 4 06:14:30 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* c-lex.c (yylex): Don't warn about constants like
|
||
9223372036854775807 and 18446744073709551615U on an L32LL64 host
|
||
unless pedantic.
|
||
|
||
Mon Nov 3 18:42:44 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
|
||
* i386.md (prologue_{set_got,get_pc}): Add UNSPEC_VOLATILE to pattern.
|
||
(prologue_get_pc_and_set_got): New pattern.
|
||
|
||
Mon Nov 3 13:42:21 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c, cpplib.c (compare_defs): Don't complain about arg name
|
||
respellings unless pedantic.
|
||
* cpplib.c (compare_defs): Accept pfile as new arg.
|
||
All callers changed.
|
||
|
||
Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* global.c (global_alloc): Free the conflict matrix after
|
||
reload has finished.
|
||
|
||
Thu Oct 30 17:30:42 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
|
||
Set extra_parts.
|
||
(sparc*-*-*): Recognize --with-cpu=v9.
|
||
* sparc/elf.h: New file.
|
||
* sparc/t-elf: New file.
|
||
|
||
Thu Oct 30 16:36:17 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stmt.c (expand_asm_operand): If error in matching constraint,
|
||
don't emit asm.
|
||
|
||
Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* va-sh.h (__va_arg_sh1): Define.
|
||
(va_arg): Use it.
|
||
SH3E doesn't use any integer registers for subsequent arguments
|
||
once a non-float value was passed in the stack.
|
||
* sh.c (machine_dependent_reorg): If optimizing, put explicit
|
||
alignment in front label for ADDR_DIFF_VEC.
|
||
* sh.h (PASS_IN_REG_P): Fix SH3E case.
|
||
(ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
|
||
|
||
Tue Oct 28 21:09:25 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.md (btst patterns): Add 5200 support.
|
||
|
||
1997-10-28 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* global.c (global_alloc): Use xmalloc instead of alloca for
|
||
CONFLICTS, since max_allocno * allocno_row_words alone can be more
|
||
than 2.5Mb sometimes.
|
||
|
||
Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
|
||
svr4.h.
|
||
|
||
Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
From Brendan:
|
||
* dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
|
||
|
||
Mon Oct 27 16:01:14 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
|
||
|
||
Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (machine_dependent_reorg): When -flag_delayed_branches,
|
||
put an use_sfunc_addr before each sfunc.
|
||
* sh.md (use_sfunc_addr, dummy_jump): New insns.
|
||
(casesi): For TARGET_SH2, emit a dummy_jump after LAB.
|
||
|
||
Mon Oct 27 11:49:43 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2.h: Remove dwarf2out prototypes.
|
||
* tree.h: And put them here.
|
||
* m68k.c, i386.c: Don't include dwarf2.h.
|
||
|
||
Mon Oct 27 00:02:13 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
Remap include files with header.gcc only if user or configuration
|
||
file specifies "-remap".
|
||
|
||
* cccp.c (remap): New var.
|
||
(main): Set it if user specifies "-remap".
|
||
(open_include_file): Remap only if `remap' is nonzero.
|
||
|
||
* cpplib.h (struct cpp_options): New member `remap'.
|
||
* cpplib.c (cpp_options_init): Set remap to 0.
|
||
(open_include_file): Remap only if `remap' is nonzero.
|
||
(cpp_handle_options): Set remap if user specifies "-remap".
|
||
|
||
* i386/cygwin32.h, rs6000/cygwin32.h (CPP_SPEC): Define with -remap.
|
||
|
||
Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
|
||
bit PC-relative offset. The exception range table pointer is now in
|
||
the CIE.
|
||
* frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
|
||
(count_fdes, add_fdes, get_cie): Adjust.
|
||
(cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
|
||
|
||
From H.J. Lu:
|
||
* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
|
||
|
||
Sat Oct 25 20:29:39 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* Makefile.in (float.h-nat): If float.h is to be empty, ensure it is.
|
||
|
||
Sat Oct 25 20:16:52 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
|
||
use varargs.h. Wrap header with <>, not "".
|
||
|
||
Sat Oct 25 20:10:57 1997 Robert Lipe (robertl@dgii.com)
|
||
|
||
* i386/sco5.h (EH_FRAME_SECTION_ASM_OP{,_ELF,_COFF}): Define.
|
||
(DWARF2_UNWIND_INFO): Likewise.
|
||
(EXTRA_SECTIONS): Add in_eh.
|
||
|
||
Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
|
||
(TARGET_MULT_BUG): Define.
|
||
(TARGET_DEFAULT): Default to TARGET_MULT_BUG.
|
||
* mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
|
||
|
||
Fri Oct 24 15:43:57 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (toplevel): Move include stdio.h before config.h.
|
||
|
||
(Patch from H.J. Lu, Aug 27, 1997)
|
||
* rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New; defined as 1.
|
||
|
||
(Patch from Jeff Law, Oct 22, 1997)
|
||
* rs6000.c (struct machine_function): Add pic_offset_table_rtx.
|
||
(rs6000_{save,restore}_machine_status): Save/restore it.
|
||
|
||
* rs6000.md (movsi_got_internal_mem): New pattern to work around
|
||
case where GOT value did not get a register.
|
||
(movsi_got_internal_mem splitter): Split above pattern.
|
||
|
||
(Patch from Geoffrey Keating, Oct 21, 1997)
|
||
* rs6000.c (rs6000_stack_info): Avoid creating a stack
|
||
frame under System V ABI if we only need to save the LR.
|
||
|
||
(Patch from Joel Sherrill, Sep 1, 1997)
|
||
* rs6000/sysv4.h (SUBTARGET_SWITCHES): Add new macro
|
||
EXTRA_SUBTARGET_SWITCHES, which defaults to nothing.
|
||
|
||
(Patch from Geoffrey Keating, Oct 20, 1997)
|
||
* rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS{,_S}): Add -msdata=none
|
||
switch.
|
||
|
||
Fri Oct 24 15:25:50 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.h (ASM_SPEC): Delete.
|
||
|
||
Fri Oct 24 13:16:24 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10200.c (indirect_memory_operand): Delete unused function.
|
||
* mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
|
||
* mn10200.md (bset, bclr insns): Handle output in a reg too.
|
||
|
||
* mn10300.c (symbolic_operand, legitimize_address): New functions.
|
||
* mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
|
||
|
||
Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
|
||
for FILENAME.
|
||
|
||
Tue Oct 21 16:18:13 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* winnt/win-nt.h (CPP_SPEC): Remove reference to obsolete
|
||
option -lang-c-c++-comments.
|
||
|
||
Tue Oct 21 10:00:20 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (movqi, movhi): Avoid using address registers as
|
||
destinations unless absolutely necessary.
|
||
|
||
* mn10200.c (expand_prologue): Fix typo.
|
||
|
||
* mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
|
||
* mn10200.md (neghi2): Provide an alternative which works if
|
||
the input and output register are the same.
|
||
|
||
* mn10300.c (print_operand): Handle 'S'.
|
||
* mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
|
||
shift amount in last alternative
|
||
|
||
* mn10300.c (expand_epilogue): Rework to handle register restores
|
||
in "ret" and "retf" instructions correctly.
|
||
|
||
Tue Oct 21 07:35:19 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.md (insv): Avoid writing result into a paradoxical subreg.
|
||
|
||
Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
|
||
|
||
Mon Oct 20 12:04:04 1997 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* v850.h (CPP_SPEC): Define __v850__.
|
||
(CPP_PREDEFINES): Do not define __v850__.
|
||
|
||
* xm-v850.h: Use __v850 rather than __v850__ to identify v850 port.
|
||
|
||
Mon Oct 20 17:29:55 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
|
||
(DEFAULT_ARCH32_P): New macro.
|
||
(TARGET_ARCH{32,64}): Allow compile time or runtime selection.
|
||
(enum cmodel): Declare.
|
||
(sparc_cmodel_string,sparc_cmodel): Declare.
|
||
(SPARC_DEFAULT_CMODEL): Provide default.
|
||
(TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
|
||
(TARGET_FULLANY): Deleted.
|
||
(TARGET_CM_MEDMID): New macro.
|
||
(CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
|
||
(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
|
||
(CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
|
||
(CPP_SPEC): Rewrite.
|
||
(CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
|
||
(CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
|
||
(ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
|
||
(ASM_SPEC): Add %(asm_arch).
|
||
(EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
|
||
Rename asm_default to asm_cpu_default.
|
||
Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
|
||
cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
|
||
(NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
|
||
({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
|
||
(MASK_INT64,MASK_LONG64): Delete.
|
||
(MASK_ARCH64): Renamed to MASK_64BIT.
|
||
(MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
|
||
(EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
|
||
(TARGET_SWITCHES): Always provide 64 bit options.
|
||
(ARCH64_SWITCHES): Delete.
|
||
(TARGET_OPTIONS): New option -mcmodel=.
|
||
(INT_TYPE_SIZE): Always 32.
|
||
(MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
|
||
(INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
|
||
(FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
|
||
(PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
|
||
* sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
|
||
CPP_SPEC.
|
||
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
|
||
* sparc/linux.h: Likewise.
|
||
* sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
|
||
(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
|
||
(TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
|
||
(SPARC_DEFAULT_CMODEL): Define.
|
||
(CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
|
||
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
|
||
(LONG_DOUBLE_TYPE_SIZE): Define.
|
||
(ASM_SPEC): Add %(asm_arch).
|
||
* sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
|
||
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
|
||
(TARGET_CPU_DEFAULT): Add ultrasparc case.
|
||
* sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
|
||
(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
|
||
(SPARC_DEFAULT_CMODEL): Define.
|
||
* sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
|
||
(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
|
||
MASK_LONG64, MASK_MEDANY.
|
||
(SPARC_DEFAULT_CMODEL): Define.
|
||
(CPP_PREDEFINES): Delete.
|
||
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
|
||
(ASM_SPEC): Add %(asm_arch).
|
||
(LONG_DOUBLE_TYPE_SIZE): Define.
|
||
(DWARF2_DEBUGGING_INFO): Define.
|
||
* sparc/splet.h (CPP_SPEC): Delete.
|
||
* sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
|
||
(FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
|
||
(BLOCK_PROFILER): Likewise.
|
||
* sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
|
||
(sparc_override_options): Handle code model selection.
|
||
(sparc_init_expanders): Renamed from sparc64_init_expanders.
|
||
* sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
|
||
TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
|
||
(sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
|
||
(sethi_di_fullany): Delete.
|
||
|
||
Mon Oct 20 17:20:17 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (compute_frame_size): Not a leaf function if profile_flag set.
|
||
|
||
Sun Oct 19 17:46:02 1997 Douglas Rupp <rupp@gnat.com>
|
||
|
||
* cccp.c (OBJECT_SUFFIX): Add default definition.
|
||
(main): Use OBJECT_SUFFIX.
|
||
(VMS_{freopen,fopen,open}): Use instead of using macro on
|
||
unprefixed name.
|
||
(VMS_fstat): Use decc$fstat explicitly, not via macro.
|
||
|
||
Sun Oct 19 09:07:38 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* prefix.c (get_key_value): Initialize prefix to null.
|
||
* Makefile.in (prefix.o): Properly pass in prefix.
|
||
|
||
* objc/Make-lang.in (objc.distdir): Make the objc directory.
|
||
* Makefile.in (distdir-start): No longer depend on objc-parse.[cy].
|
||
Don't copy objc files here.
|
||
(TAGS): Don't delete objc-parse.y
|
||
|
||
* i386/mingw32.h (LIB_SPEC): Add -ladvapi32.
|
||
(STARTFILE_SPEC): If -dll, use dllcrt1.o.
|
||
(INCOMING_RETURN_ADDR_RTX): Undefine.
|
||
|
||
* Makefile.in (float.h-nat): Avoid using /dev/null for input,
|
||
since it's not present on all systems.
|
||
|
||
* prefix.c : New file.
|
||
* Makefile.in (xgcc, cccp, cppmain, fix-header): Add prefix.o.
|
||
(prefix.o): New rule.
|
||
* cccp.c (update_path): Add extern definition.
|
||
(struct default_include): New field `component'.
|
||
(default_include): Add initializer for new field to all entries.
|
||
(new_include_prefix): Take new arg and call update_path;
|
||
all callers changed.
|
||
Add trailing "." before doing stat of file.
|
||
* cpplib.c (update_path): Add extern definition.
|
||
(struct default_include): New field `component'.
|
||
(default_include): Add initializer for new field to all entries.
|
||
(cpp_start_read): Call update_path.
|
||
* gcc.c (upate_path): Add extern definition.
|
||
(find_a_file): For MS-DOS-based, consider a drive spec as absolute.
|
||
(add_prefix): New arg component and pass to update_path;
|
||
all callers changed.
|
||
* netbsd.h (INCLUDE_DEFAULTS): Add `component' to values.
|
||
* i386/freebsd.h, mips/netbsd.h, winnt/win-nt.h: Likewise.
|
||
* i386/mingw32 (STANDARD_INCLUDE_COMPONENT): New macro.
|
||
* vax/vms.h (INCLUDE_DEFAULTS): New macro.
|
||
* vax/xm-vms.h (INCLUDE_DEFAULTS): Delete from here.
|
||
|
||
* sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): New macro.
|
||
|
||
* i386.c (ix86_prologue): Conditionalize Dwarf2 calls
|
||
on #ifdef INCOMING_RETURN_ADDR_RTX.
|
||
* i386.md (allocate_stack): Fix incorrect operand number.
|
||
|
||
* alpha.c (vmskrunch): Deleted.
|
||
(output_prolog, VMS): Use alloca for entry_label and don't
|
||
truncate to 64 characters.
|
||
* alpha/vms.h (vmskrunch): No longer define.
|
||
(ENCODE_SECTION_INFO): No longer call vmskrunch.
|
||
(ASM_DECLARE_FUNCTION_NAME): No longer override.
|
||
|
||
* toplev.c (output_quoted_string): Call new OUTPUT_QUOTED_STRING macro.
|
||
* i386/mingw32.h (OUTPUT_QUOTED_STRING): New macro.
|
||
|
||
* stmt.c (using_eh_for_cleanups_p): New variable.
|
||
(using_eh_for_cleanups): New function.
|
||
(expand_decl_cleanup): Don't call expand_eh_region_start_tree
|
||
unless using EH for cleanups.
|
||
|
||
* function.c (purge_addressof_1): When dealing with a
|
||
bare (address (mem)), verify that what's inside is valid in insn.
|
||
(instantiate_virtual_regs_1, case ADDRESSOF): If have MEM, just
|
||
do instantiation inside and leave alone here.
|
||
|
||
* fold-const.c (fold, case COND_EXPR): Allow creation
|
||
of {MIN,MAX}_EXPR, but preserve info on orginal comparison code.
|
||
|
||
* function.h (restore_tree_status): Update prototype.
|
||
|
||
* cse.c (cse_basic_block): Flush the hash table every 1,000 insns.
|
||
|
||
Sat Oct 18 13:48:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* longlong.h (count_leading_zeros): Add missing casts to USItype.
|
||
|
||
Sat Oct 18 13:35:09 1997 Marc Lehmann (pcg@goof.com)
|
||
|
||
* toplev.c (main): Don't execute "ps" under MSDOS.
|
||
|
||
Sat Oct 18 13:26:42 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* function.c (instantiate_virtual_regs): Don't instantiate the
|
||
stack slots for the parm registers until after the insns have had
|
||
their virtuals instantiated.
|
||
|
||
* varargs.h (va_arg): For ARM systems, definition is endian-dependent.
|
||
* stdarg.h (va_arg): Likewise.
|
||
|
||
Sat Oct 18 11:23:04 1997 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* final.c (end_final): Use ASM_OUTPUT_ALIGNED_DECL_LOCAL if defined.
|
||
* varasm.c (assemble_static_space): Likewise.
|
||
(assemble_variable): Use ASM_OUTPUT_ALIGNED_DECL_{COMMON,LOCAL} if def.
|
||
|
||
Sat Oct 18 11:02:19 1997 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* expr.c (use_group_regs): Don't call use_reg unless REG.
|
||
|
||
Sat Oct 18 10:39:22 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
|
||
redundant conditional moves to single operand.
|
||
|
||
* expmed.c (extract_bit_field): Don't make flag_force_mem disable
|
||
extzv for memory operands.
|
||
|
||
Sat Oct 18 09:58:44 1997 Jeffrey A Law <law@cygnus.com>
|
||
|
||
* ptx4.h: Fix typo.
|
||
|
||
* integrate.c (save_for_inline_copying): Avoid undefined pointer
|
||
operations.
|
||
(expand_inline_function): Likewise.
|
||
|
||
Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.c (restore_tree_status): Also free up temporary storage
|
||
when we finish a toplevel function.
|
||
(dump_tree_statistics): Print stats for backend obstacks.
|
||
|
||
* libgcc2.c (__throw): Don't copy the return address.
|
||
* dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
|
||
|
||
* tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
|
||
* tree.h: Declare them.
|
||
|
||
* except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
|
||
* toplev.c (main): Initialize exceptions_via_longjmp.
|
||
|
||
* tree.c: Add extra_inline_obstacks.
|
||
(save_tree_status): Use it.
|
||
(restore_tree_status): If this is a toplevel inline obstack and we
|
||
didn't want to save anything on it, recycle it.
|
||
(print_inline_obstack_statistics): New fn.
|
||
* function.c (pop_function_context_from): Pass context to
|
||
restore_tree_status.
|
||
|
||
Sat Oct 18 09:45:22 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* profile.c (get_file_function_name): Remove declaration.
|
||
* c-lang.c (finish_file): Likewise.
|
||
|
||
Sat Oct 18 09:35:40 1997 Tristan Gingold <gingold@messiaen.enst.fr>
|
||
|
||
* expr.c (expand_assignment): If -fcheck-memory-usage, add call to
|
||
chkr_check_addr if size not zero.
|
||
(expand_expr, case COMPONENT_REF): Likewise.
|
||
(expand_builtin): If -fcheck_memory-usage, check memory usage
|
||
of operands for strlen, strcpy, and memcpy or don't use builtins
|
||
for memcmp and strcmp.
|
||
* expr.h (chkr_check_str_libfunc): Declare.
|
||
* optabs.c (chkr_check_str_libfunc): New variable.
|
||
(init_optabs): Initialize it.
|
||
|
||
Sat Oct 18 09:29:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* i386/cygwin32.h (ASM_COMMENT_START): Redefine.
|
||
|
||
Sat Oct 18 09:23:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* frame.c (__frame_state_for): Execute the FDE insns until the
|
||
current pc value is strictly bigger than the target pc value.
|
||
|
||
* expr.c (expand_expr, case TARGET_EXPR): If target and slot has
|
||
no DECL_RTL, then call mark_addressable again for the slot after
|
||
we give it RTL.
|
||
|
||
Sat Oct 18 08:58:36 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
|
||
|
||
* m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
|
||
* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Unconditionally define.
|
||
* libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
|
||
__DOLPHIN__.
|
||
|
||
* m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment.
|
||
* dwarf2out.c (output_call_frame_info): Call app_enable and
|
||
app_disable to let GNU as accept the generated comments.
|
||
|
||
* m88k.c (m88k_begin_prologue): Remove superfluous backslash.
|
||
|
||
Sat Oct 18 08:50:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* flow.c (print_rtl_with_bb): Cast alloca return values.
|
||
|
||
Sat Oct 18 08:47:46 1997 Douglas Rupp <rupp@gnat.com>
|
||
|
||
* alpha/vms.h (LITERALS_SECTION_ASM_OP, ASM_OUTPUT_DEF):
|
||
(EXTRA_SECTION_FUNCTIONS): Add literals_section.
|
||
(EXTRA_SECTIONS): Include in_literals.
|
||
|
||
Sat Oct 18 08:40:55 1997 Nick Burrett <nick.burrett@btinternet.com>
|
||
|
||
* cpplib.c: (initialize_builtins): Cast all string constants for the
|
||
function install, to type U_CHAR *.
|
||
(eval_if_expression): Likewise.
|
||
* cppexp.c: (cpp_lex): Cast string, for cpp_lookup, to type U_CHAR *.
|
||
|
||
Sat Oct 18 08:38:13 1997 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* c-lex.c (check_newline) At `skipline', flush nextchar as well.
|
||
|
||
Sat Oct 18 08:17:13 1997 Paul Russell <Paul.Russell@RustCorp.com.au>
|
||
|
||
* input.h (struct file_stack): Added indent_level.
|
||
* c-lex.c (check_newline): Add {}-count & balance warning.
|
||
|
||
Sat Oct 18 06:54:39 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* regclass.c (record_address_regs, case PLUS): Refine how to choose
|
||
which is base and index.
|
||
|
||
* alpha.h (FUNCTION_VALUE): Use word_mode only for integral types,
|
||
not types with integral modes.
|
||
|
||
* final.c (alter_cond): Properly conditionalize forward decl.
|
||
|
||
* tree.h (SAVE_EXPR_NOPLACEHOLDER): New flag.
|
||
* tree.c (contains_placeholder_p, case SAVE_EXPR): Avoid
|
||
checking each SAVE_EXPR more than once.
|
||
|
||
* rs6000.md (nonlocal_goto_receiver): Don't test pool size.
|
||
|
||
* i386.c (load_pic_register): New function.
|
||
(ix86_prologue): Code to load PIC register moved to new function.
|
||
Don't emit blockage if not generating RTL.
|
||
* i386.md (nolocal_goto_receiver): New pattern.
|
||
|
||
* i386.c: Major cleanup, mostly reformatting.
|
||
Include dwarf2.h.
|
||
Remove many spurious casts.
|
||
(ix86_{pro,epi}logue): Use proper mode for SET rtx.
|
||
|
||
Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
|
||
|
||
* sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
|
||
* sparc.h (FUNCTION_PROFILER): Fix format string when TARGET_MEDANY.
|
||
* sparc.c (output_double_int): Output DI mode values
|
||
correctly when HOST_BITS_PER_WIDE_INT is 64.
|
||
(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
|
||
fmovd so it works if a quad float ends up in one of the upper 32
|
||
float regs.
|
||
* sparc.md (pic_{lo_sum,sethi}_di): New patterns for PIC support
|
||
on sparc64.
|
||
|
||
Fri Oct 17 16:27:07 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
|
||
* sparc.h (PROMOTE_MODE): Promote small ints if arch64.
|
||
(PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
|
||
(SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
|
||
(SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
|
||
(SPARC_FP_ARG_FIRST): New macro.
|
||
(CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
|
||
(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
|
||
(NPARM_REGS): There are 32 fp argument registers now.
|
||
(FUNCTION_ARG_REGNO_P): Likewise.
|
||
(FIRST_PARM_OFFSET): Update to new v9 abi.
|
||
(REG_PARM_STACK_SPACE): Define for arch64.
|
||
(enum sparc_arg_class): Delete.
|
||
(sparc_arg_count,sparc_n_named_args): Delete.
|
||
(struct sparc_args): Redefine and use for arch32 as well as arch64.
|
||
(GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
|
||
(FUNCTION_ARG_ADVANCE): Rewrite.
|
||
(FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
|
||
(FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
|
||
(FUNCTION_ARG_CALLEE_COPIES): Delete.
|
||
(FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
|
||
(STRICT_ARGUMENT_NAMING): Define.
|
||
(doublemove_string): Declare.
|
||
* sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
|
||
(single_move_string): Use GEN_INT, and HOST_WIDE_INT.
|
||
(doublemove_string): New function.
|
||
(output_move_quad): Clean up some of the arch64 support.
|
||
(compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
|
||
Don't add 8 bytes of reserved space if arch64.
|
||
(sparc_builtin_saveregs): Combine arch32/arch64 versions.
|
||
(init_cumulative_args): New function.
|
||
(function_arg_slotno): New static function.
|
||
(function_arg,function_arg_partial_nregs): New functions.
|
||
(function_arg_{pass_by_reference,advance}): New functions.
|
||
(function_arg_padding): New function.
|
||
* ginclude/va-sparc.h: Rewrite v9 support.
|
||
|
||
Fri Oct 17 13:21:45 EDT 1997 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* arm/netbsd.h (TYPE_OPERAND_FMT): use % not @ to avoid
|
||
problems with comments.
|
||
|
||
Fri Oct 17 13:00:38 EDT 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm/aout.h (ASM_OUTPUT_LABEL): Define in place of ARM_OUTPUT_LABEL.
|
||
* arm/aof.h (ASM_OUTPUT_LABEL): Likewise.
|
||
* arm.h (ASM_OUTPUT_LABEL): Delete.
|
||
(ASM_OUTPUT_INTERNAL_LABEL): Call ASM_OUTPUT_LABEL directly.
|
||
* arm.c (arm_asm_output_label): Delete.
|
||
|
||
* arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Do what is needed inline.
|
||
* arm.c (output_lcomm_directive): Delete.
|
||
|
||
* arm.h (PUSH_ROUNDING): Delete; this is not what happens.
|
||
(ACCUMULATE_OUTGOING_ARGS): Define.
|
||
(PROMOTE_FUNCTION_ARGS): Define.
|
||
(INITIAL_ELIMINATION_OFFSET): Take current_function_outgoing_args_size
|
||
into account.
|
||
* arm.c (use_return_insn, output_func_epilogue,
|
||
arm_expand_prologue): Likewise.
|
||
|
||
* arm.c (const_ok_for_arm): If HOST_WIDE_INT more than 32 bits,
|
||
insist high bits are all zero or all one.
|
||
(output_move_double): Handle case where CONST_INT is more than 32 bits.
|
||
|
||
* arm.c (load_multiple_sequence): Support SUBREG of MEM.
|
||
(store_multiple_sequence): Likewise.
|
||
|
||
* arm.c (arm_gen_load_multiple): New args UNCHANGING_P and IN_STRUCT_P.
|
||
Use them if we create any new MEMs; all callers changed.
|
||
(arm_gen_store_multiple): Likewise.
|
||
(arm_gen_movstrqi): Preserve RTX_UNCHANGING_P and MEM_IN_STRUCT_P
|
||
on any MEMs created.
|
||
|
||
* arm.h (ASM_OUTPUT_MI_THUNK): Use branch instruction to jump to label.
|
||
(RETURN_ADDR_RTX): Use NULL_RTX rather than casting zero.
|
||
(output_move_double): Correct typo in prototype.
|
||
|
||
* arm.md (movsfcc): If not TARGET_HARD_FLOAT, ensure operand[3] valid.
|
||
|
||
* arm/netbsd.h (CPP_PREDEFINES): Always predefine __arm__.
|
||
* arm/xm-netbsd.h (SYS_SIGLIST_DECLARED, HAVE_STRERROR): Define these.
|
||
|
||
* arm/t-netbsd (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS) Don't define
|
||
these any more.
|
||
* configure.in (arm-*-netbsd*): Pick up t-netbsd before arm/t-netbsd.
|
||
|
||
Thu Oct 16 19:31:22 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* v850.c (ep_memory_offset): New function.
|
||
(ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
|
||
|
||
* v850.h (CONST_OK_FOR_*): Add and correct comments.
|
||
(CONSTANT_ADDRESS_P): Add comment.
|
||
(EXTRA_CONSTRAINT): Define 'U'.
|
||
* v850.md: Add comments on bit field instructions.
|
||
(addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
|
||
(lshrsi3): Use N not J constraint.
|
||
|
||
* v850.md (v850_tst1+1): New define_split for tst1 instruction.
|
||
|
||
* v850.c (reg_or_0_operand): Call register_operand.
|
||
(reg_or_int5_operand): Likewise.
|
||
* v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
|
||
(TARGET_SWITCHES): Add "big-switch".
|
||
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
|
||
ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
|
||
(CASE_DROPS_THROUGH): Comment out.
|
||
(CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
|
||
* v850.md (cmpsi): Delete compare mode.
|
||
(casesi): New pattern.
|
||
|
||
* v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
|
||
* v850.md (ashlsi3): Use SImode not QImode for shift count.
|
||
(lshrsi3): Likewise.
|
||
|
||
* v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
|
||
unreachable switch statement after 'b' support. Remove "b" from
|
||
strings for 'b' support.
|
||
* v850.md (branch_normal, branch_invert): Change %b to b%b.
|
||
|
||
Thu Oct 16 13:08:45 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.in (sparc-*-elf*): New target.
|
||
|
||
Wed Oct 15 22:30:37 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* h8300.h (REG_CLASS_CONTENTS): AP is a general register.
|
||
(REG_OK_FOR_BASE_P, ! REG_OK_STRICT case): Reject special registers.
|
||
|
||
Wed Oct 15 22:00:57 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (movhi+1): Add x/r alternative.
|
||
|
||
* sh/elf.h (HANDLE_SYSV_PRAGMA): Undefine.
|
||
|
||
* va-sh.h (va_arg): Fix big endian bugs for small integers.
|
||
|
||
Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
|
||
PPC601.
|
||
(umulsidi3,umulsi3_highpart): Likewise.
|
||
(smulsi3_highpart_no_mq): Add !TARGET_POWER.
|
||
|
||
Wed Oct 15 18:45:31 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
|
||
|
||
Wed Oct 15 17:17:33 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (following_call): Fail if the CALL_INSN is an indirect call.
|
||
|
||
Wed Oct 1 17:52:09 1997 Douglas Rupp <rupp@gnat.com>
|
||
|
||
* vms.h (UNALIGNED_{SHORT,INT,DOUBLE_INT}_ASM_OP): Define.
|
||
|
||
Wed Oct 1 16:09:42 1997 Benjamin Kosnik <bkoz@melange.gnu.ai.mit.edu>
|
||
|
||
* fixincludes: Fix sys/param.h so that MAXINT will not be redefined
|
||
on HPUX.
|
||
|
||
Wed Oct 1 08:08:21 1997 Jeffrey A Law <law@chunks.cygnus.com>
|
||
|
||
* cse.c (this_insn_cc0_mode): Initialize.
|
||
|
||
Wed Oct 1 07:22:12 1997 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.h (RETURN_ADDR_RTX): Use FRAME arg, not ap.
|
||
|
||
Tue Sep 30 19:19:58 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* except.c (find_exception_handler_labels): Correct argument to free.
|
||
|
||
Fri Sep 26 14:06:45 1997 Mike Stump <mrs@wrs.com>
|
||
|
||
* c-decl.c (start_struct): Ensure that structs with forward
|
||
declarations are in fact packed when -fpack-struct is given.
|
||
|
||
Wed Sep 24 11:31:24 1997 Mike Stump <mrs@wrs.com>
|
||
|
||
* stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
|
||
packing structure. This allows a structure with only bytes to be
|
||
aligned on a byte boundary and have no padding on a m68k.
|
||
|
||
Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* except.c (find_exception_handler_labels): Free LABELS when done.
|
||
|
||
Tue Sep 30 10:47:33 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cexp.y, cppexp.c (HOST_BITS_PER_WIDE_INT):
|
||
Define only if not already defined.
|
||
|
||
Mon Sep 29 17:55:55 1997 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* c-decl.c (warn_implicit): Deleted.
|
||
(warn_implicit_int, mesg_implicit_function_declaration}): New vars.
|
||
(c_decode_option): For -Wimplicit, set both new variables.
|
||
Add -Wimplicit-function-declarations, -Wimplicit-int,
|
||
and -Werror-implicit-function-declaration.
|
||
(implicitly_declare, grokdeclarator): Use new flags.
|
||
* toplev.c (lang_options): Add new -W options.
|
||
|
||
Mon Sep 29 17:55:15 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* c-common.c (check_format_info): Add check for scanf into
|
||
constant object or via constant pointer type.
|
||
|
||
Mon Sep 29 16:10:12 1997 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (beq): For registers and ints 0-255, use cmpeq+bne.
|
||
(bne): Likewise for cmpeq+beq.
|
||
|
||
Mon Sep 29 15:58:22 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_simplify_set): Fix return values.
|
||
|
||
Mon Sep 29 08:21:35 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* i386.c (notice_update_cc): Use reg_overlap_mentioned_p.
|
||
|
||
Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* libgcc2.c (__throw): Fix thinko.
|
||
|
||
Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* cplus-dem.c (demangle_template): Add new parameter. Handle new
|
||
template-function mangling.
|
||
(consume_count_with_underscores): New function.
|
||
(demangle_signature): Handle new name-mangling scheme.
|
||
|
||
Sun Sep 28 11:19:09 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* flow.c (print_rtl_with_bb): Reformat messages about BB boundaries.
|
||
|
||
* calls.c: Include regs.h.
|
||
* profile.c: Likewise.
|
||
* Makefile.in (calls.o, profile.o): Depend on regs.h.
|
||
* except.h (expand_builtin_dwarf_reg_size): Put in #ifdef TREE_CODE.
|
||
|
||
* tree.h (get_file_function_name): Add decl.
|
||
* dwarf2out.c (output_call_frame_info): Don't cast its result.
|
||
|
||
Sun Sep 28 10:58:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (sub-makes): Pass value of LANGUAGES.
|
||
|
||
Sun Sep 28 10:52:59 1997 Ian Dall <ian.dall@dsto.defence.gov.au>
|
||
|
||
* regs.h (SMALL_REGISTER_CLASSES): Default to 0.
|
||
* calls.c (prepare_call_address, expand_call):
|
||
Remove #if test on SMALL_REGISTER_CLASSES.
|
||
* combine.c (can_combine_p, combinable_i3pat, try_combine): Likewise.
|
||
* cse.c (canon_hash): Likewise.
|
||
* function.c (expand_function_start): Likewise.
|
||
* jump.c (jump_optimize): Likewise.
|
||
* local-alloc.c (optimize_reg_copy_1): Likewise.
|
||
* loop.c (scan_loop, valid_initial_value_p): Likewise.
|
||
* profile.c (output_arc_profiler): Likewise.
|
||
* reload.c (push_secondary_reload, push_reload): Likewise.
|
||
(combine_reloads): Likewise.
|
||
* reload1.c (reload, scan_paradoxical_subregs): Likewise.
|
||
(order_regs_for_reload, reload_as_needed): Likewise.
|
||
(choose_reload_regs): Likewise.
|
||
(merge_assigned_reloads): Declare unconditionally.
|
||
|
||
Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
|
||
* tree.h (built_in_function): Likewise.
|
||
* expr.c (expand_builtin): Likewise.
|
||
* except.h: Likewise.
|
||
* dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
|
||
* libgcc2.c (copy_reg): New fn.
|
||
(__throw): Use it.
|
||
|
||
Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* frame.c (gansidecl.h): New include, for PROTO.
|
||
* dwarf2out.c: Move inclusion of dwarf2.h down.
|
||
(dwarf2out_cfi_label): Don't declare here.
|
||
* dwarf2.h (dwarf2out_{do_frame,cfi_label,def_cfa}): New declarations.
|
||
(dwarf2out_{window_save,args_size,reg_save,return_save}): Likewise.
|
||
(dwarf2out_{return_reg,begin_prologue,end_epilogue}): Likewise.
|
||
* m68k.c (dwarf2.h): Include.
|
||
(output_function_prologue): Add dwarf2 support.
|
||
* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
|
||
(INCOMING_FRAME_SP_OFFSET): Likewise.
|
||
|
||
* integrate.c (copy_rtx_and_substitute, case ADDRESSOF): New case.
|
||
|
||
* integrate.c (expand_inline_function): Make sure there is at
|
||
least one insn that can be used as an insertion point.
|
||
|
||
Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* c-typeck.c (build_binary_op): Warn about comparing signed vs
|
||
unsigned if -W is specified and -Wno-sign-compare is not.
|
||
* c-decl.c (warn_sign_compare): Initialize to -1.
|
||
(c_decode_option): -Wall no longer implies -Wsign-compare.
|
||
|
||
Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
|
||
|
||
Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
|
||
(get_pc_via_rdpc): Renamed from get_pc_sp64.
|
||
* sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
|
||
|
||
Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
|
||
|
||
* sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
|
||
(TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
|
||
and -malign-functions=.
|
||
(sparc_align_{loops,jumps,funcs}_string): Declare.
|
||
(sparc_align_{loops,jumps,funcs}): Declare.
|
||
(DEFAULT_SPARC_ALIGN_FUNCS): New macro.
|
||
(FUNCTION_BOUNDARY): Use sparc_align_funcs.
|
||
(STACK_BIAS): Define.
|
||
(SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT, then perform test.
|
||
(SPARC_SETHI_P): New macro.
|
||
(CONST_OK_FOR_LETTER_P): Use it.
|
||
(ASM_OUTPUT_ALIGN_CODE): Define.
|
||
(ASM_OUTPUT_LOOP_ALIGN): Define.
|
||
* sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
|
||
(sparc_align_{loops,jumps,funcs}): New globals.
|
||
(sparc_override_options): Handle -malign-loops=, -malign-jumps=,
|
||
-malign-functions=.
|
||
(move_operand): Use SPARC_SETHI_P.
|
||
(arith_double_operand): Cast to unsigned HOST_WIDE_INT, then test.
|
||
(arith11_double_operand): Likewise.
|
||
(arith10_double_operand): Likewise.
|
||
(finalize_pic): Finish sparc64 support.
|
||
(emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
|
||
64 bit constants if able.
|
||
(output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
|
||
(sparc_builtin_saveregs [sparc64]): Don't save fp regs if ! TARGET_FPU.
|
||
* sparc.md: Use GEN_INT instead of gen_rtx.
|
||
(get_pc_sp32): Use for sparc64 as well.
|
||
(lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
|
||
(sethi_di_sp64_const): Likewise.
|
||
(movtf_cc_sp64): Check TARGET_HARD_QUAD.
|
||
(cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
|
||
(ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
|
||
|
||
Wed Sep 24 08:25:28 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* i386.md (allocate_stack): Fix typo in last change.
|
||
|
||
Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/linux-aout.h (COMMENT_BEGIN): Delete.
|
||
* sparc/linux.h (COMMENT_BEGIN): Likewise.
|
||
* sparc/linux64.h (COMMENT_BEGIN): Likewise.
|
||
|
||
Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
|
||
|
||
Add sparc64 linux support.
|
||
* configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
|
||
to xm_file list on 32-bit sparc-linux.
|
||
* sparc/xm-sp64.h: New file.
|
||
* sparc/linux64.h: New file.
|
||
* sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
|
||
Don't include xm-sparc.h.
|
||
* config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
|
||
* glimits.h (LONG_MAX): Handle sparc64.
|
||
|
||
Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* final.c (final_end_function): Also do dwarf2 thing if
|
||
DWARF2_DEBUGGING_INFO.
|
||
(final_start_function): Likewise.
|
||
|
||
Tue Sep 23 06:55:40 1997 David S. Miller <davem@tanya.rutgers.edu>
|
||
|
||
* expmed.c (expand_divmod): If compute_mode is not same as mode,
|
||
handle case where convert_modes causes op1 to no longer be CONST_INT.
|
||
|
||
Tue Sep 23 00:58:48 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
|
||
|
||
Mon Sep 22 18:26:25 1997 J. Kean Johnston <jkj@sco.com>
|
||
|
||
* i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
|
||
(MULTILIB_DEFAULTS): Define.
|
||
(ASM_SPEC, CPP_SPEC): Handle -mcoff.
|
||
(STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
|
||
(LIBGCC_SPEC): Likewise.
|
||
(MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
|
||
(SUBTARGET_SWITCHES): Add -mcoff and -melf.
|
||
* i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
|
||
(CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
|
||
(EXTRA_PARTS, TAROUTOPTS): Delete.
|
||
(libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
|
||
(MULTILIB_OPTIONS): Define.
|
||
(MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
|
||
(MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
|
||
|
||
Mon Sep 22 14:42:11 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reg-stack.c (find_blocks): Fix thinko in last change.
|
||
|
||
Mon Sep 22 16:22:41 1997 David S. Miller <davem@tanya.rutgers.edu>
|
||
|
||
* combine.c (try_combine): Use NULL_RTX, not 0, in gen_rtx calls.
|
||
* cse.c (cse_main): Likewise.
|
||
* emit-rtl.c (gen_label_rtx): Likewise.
|
||
* expr.c (init_expr_once): Likewise.
|
||
* sched.c (schedule_insns): Likewise.
|
||
* varasm.c (immed_double_const): Likewise.
|
||
|
||
* sparc.h (INCOMING_FRAME_SP_OFFSET): Define as SPARC_STACK_BIAS.
|
||
|
||
Mon Sep 22 16:13:21 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* alpha/linux.h (HANDLE_SYSV_PRAGMA): Define.
|
||
|
||
Mon Sep 22 16:02:01 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
||
|
||
* c-common.c (decl_attributes): Add support for TYPE_UNUSED on types.
|
||
* c-decl.c (finish_decl): Set TREE_USED on decls if TREE_USED on type.
|
||
* stmt.c (expand_end_bindings): Check DECL_NAME and DECL_ARTIFICIAL
|
||
before unused variable warning.
|
||
|
||
Mon Sep 22 14:04:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* rtlanal.c (computed_jump_p): Fix typo in last change.
|
||
|
||
* clipper.md (movstrsi): Use change_address instead of making new MEM.
|
||
* dsp16xx.md (movstrqi): Likewise.
|
||
* i370.md (movstrsi): Likewise.
|
||
* i860.md (movstrsi): Likewise.
|
||
* pa.md (movstrsi): Likewise.
|
||
* mips.md (movstrsi): Fix (unused) pattern in define_expand.
|
||
* pdp11.md (movstrhi): Likewise.
|
||
|
||
* alpha.md (allocate_stack): Use virtual_stack_dynamic for result.
|
||
* i386.md (allocate_stack): Likewise.
|
||
* rs6000.md (allocate_stack): Likewise.
|
||
|
||
* alpha.h (FLOAT_STORE_FLAG_VALUE): Different for VAX and IEEE float.
|
||
|
||
* function.c (assign_parms): Make max_parm_reg handling more
|
||
precise and make it agree with size of parm_reg_stack_loc.
|
||
* integrate.c (save_for_inline_{nocopy,copying}): Remove
|
||
redundant assignment of max_parm_reg.
|
||
|
||
* function.c (assign_parms): Properly set RTX_UNCHANGING_P for
|
||
copy of parm.
|
||
|
||
* integrate.c (copy_rtx_and_substitute, case SET): Handle
|
||
a SET_DEST of the virtual fp or ap specially and undo
|
||
the adjustment into the local area as well.
|
||
(mark_stores): Don't wipe out map entries for virtual fp and ap.
|
||
|
||
* alpha.h (FLOAT_STORE_FLAG_VALUE): Different for VAX and IEEE float.
|
||
|
||
* emit-rtl.c (gen_lowpart): Handle ADDRESSOF.
|
||
|
||
Mon Sep 22 13:35:56 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* rtlanal.c (replace_regs): Fix up lossage in last patch.
|
||
|
||
Sun Sep 21 19:28:48 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (jmp_uses_reg_or_mem): Deleted unused function.
|
||
(find_basic_blocks): Use computed_jump_p to determine if a
|
||
particular JUMP_INSN is a computed jump.
|
||
* reg-stack.c (find_blocks): Use computed_jump_p to determine
|
||
if a particular JUMP_INSN is a computed jump.
|
||
* rtlanal.c (jmp_uses_reg_or_mem): New function.
|
||
(computed_jump_p): Likewise.
|
||
* rtl.h (computed_jump_p): Declare.
|
||
* genattrtab.c (pc_rtx): Define and initialize.
|
||
|
||
* cse.c (simplify_relational_operation): Set h0u just like h0s.
|
||
Similarly for h1u and h1s.
|
||
|
||
Sun Sep 21 14:13:31 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* function.c (instantiate_virtual_regs): Fix thinko in last patch.
|
||
|
||
Sun Sep 21 10:33:26 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c, cpplib.c (special_symbol): If STDC_0_IN_SYSTEM_HEADERS
|
||
is defined, expand __STDC__ to 0 in system headers.
|
||
* i386/sol2.h, rs6000/sol2.h, sparc/sol2.h:
|
||
(STDC_0_IN_SYSTEM_HEADERS): New macro.
|
||
(CPP_SPEC): Remove -D__STDC__=0; it's no longer needed.
|
||
|
||
* fixinc.math (_MATH_H_WRAPPER): Define at the end of the
|
||
wrapper, not the start, so that if #include_next gets another
|
||
instance of the wrapper, this will follow the #include_next
|
||
chain until we arrive at the real <math.h>.
|
||
|
||
* fixproto (subdirs_made): New var, to keep track of which
|
||
subdirectories we've made (in reverse order). At the end,
|
||
attempt to rmdir them all, so that we don't create any empty
|
||
directories.
|
||
|
||
Sun Sep 21 10:02:07 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* pa.c (move_operand): Respect -mdisable-indexing.
|
||
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
|
||
|
||
Sun Sep 21 09:29:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* function.c (purge_addressof_1): Don't convert (MEM (ADDRESSOF (REG)))
|
||
to (SUBREG (REG)) on big endian machines.
|
||
Don't fall through to substitute the inner (REG) unchanged
|
||
when the above conversion cannot be validated.
|
||
|
||
Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* frame.c (__deregister_frame): Properly check for initialized object.
|
||
|
||
* function.c (instantiate_virtual_regs): Instantiate
|
||
parm_reg_stack_locs.
|
||
|
||
Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/sysv4.h (ASM_COMMENT_START): Delete.
|
||
* sparc.h (ASM_COMMENT_START): Define.
|
||
* sparc.c (output_function_prologue): Use it.
|
||
(sparc_flat_output_function_{epi,pro}logue): Likewise.
|
||
|
||
Fri Sep 19 19:43:09 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (strength_reduce): Fix typo.
|
||
|
||
* m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
|
||
* mips.h, xm-rs6000.h, rs6000/xm-sysv4.h: Likewise.
|
||
|
||
Fri Sep 19 20:10:30 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* rtl.h (find_use_as_address): Delete accidentally added decl.
|
||
|
||
Fri Sep 19 08:36:16 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* jump.c (thread_jumps): Check can_reverse_comparison_p before
|
||
threading a reversed-condition jump.
|
||
|
||
Fri Sep 19 08:16:12 1997 Andrew M. Bishop <amb@gedanken.demon.co.uk>.
|
||
|
||
* Add support for new -dI option for cxref,
|
||
* cccp.c (dump_includes): New variable.
|
||
(struct directive, directive_table): Remove members angle_brackets,
|
||
traditional_comments, pass_thru; all code using struct directive
|
||
now uses `type' member instead.
|
||
(IS_INCLUDE_DIRECTIVE_TYPE): New macro.
|
||
(main, handle_directive): Add support for new -dI option.
|
||
(do_ident): Avoid unnecessary alloca.
|
||
(do_pragma): Avoid unnecessary comparison to newline.
|
||
|
||
* cpplib.h (struct cpp_options): New member dump_includes.
|
||
* cpplib.c (struct directive, directive_table): Remove members
|
||
traditional_comments, pass_thru; all code using struct directive
|
||
now uses `type' member instead.
|
||
(IS_INCLUDE_DIRECTIVE_TYPE): New macro.
|
||
(handle_directive, cpp_handle_options): Add support for new -dI option.
|
||
|
||
Fri Sep 19 07:57:19 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vax/xm-vms.h (expand_builtin_{extract,set}_return_addr): New macros.
|
||
|
||
Fri Sep 19 07:47:29 1997 Nick Burrett <n.a.burrett@btinternet.com>
|
||
|
||
* cpplib.c (pcstring_used, pcfinclude): Delete unused declarations.
|
||
(check_preconditions, print_containing_files, pipe_closed): Likewise.
|
||
(dump_defn_1, dump_arg_n, make_undef): Likewise.
|
||
(trigraph_pcp): Pre-process out decl.
|
||
(quote_string): Cast CPP_PWRITTEN macro to char * for sprintf.
|
||
(output_line_command): Likewise.
|
||
(macro_expand): Likewise.
|
||
(do_line): Cast atoi argument to char *.
|
||
* genattrtab.c (simplify_by_alternatives): Pre-process out decl.
|
||
* genpeep.c (gen_exp): Remove decl.
|
||
|
||
Fri Sep 19 07:29:40 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* enquire.c (basic): Elminate dangling else warning.
|
||
* except.h (struct function, save_eh_status, restore_eh_status):
|
||
Don't declare.
|
||
* expr.c (clear_storage): Don't return without a value.
|
||
* function.h ({save,restore}_machine_status): Add proper prototype.
|
||
({save,restore}_{tree,eh,stmt,expr,emit,storage}_status): Declare.
|
||
* real.h (real_value_truncate): Add proper prototype.
|
||
(target_isnan, target_isinf, target_negative, debug_real): Declare.
|
||
(assemble_real): Likewise.
|
||
* recog.c (strict_memory_address_p, memory_address_p): Don't declare.
|
||
(find_single_use_1): Add prototype.
|
||
* recog.h (init_recog, init_recog_no_volatile): Declare.
|
||
(check_asm_operands, constrain_operands, memory_address_p): Likewise.
|
||
(strict_memory_address_p, validate_replace_rtx): Likewise.
|
||
(reg_fits_class_p, find_single_use, general_operand): Likewise.
|
||
(address_operand, register_operand, scratch_operand): Likewise.
|
||
(immediate_operand, const_int_operand, const_double_operand): Likewise.
|
||
(nonimmediate_operand, nonmemory_operand, push_operand): Likewise.
|
||
(memory_operand, indirect_operand, mode_independent_operand): Likewise.
|
||
(comparison_operator, offsettable_{,nonstrict_}memref_p): Likewise.
|
||
(offsettable_address_p, mode_dependent_address_p, recog): Likewise.
|
||
(add_clobbers): Likewise.
|
||
* reload.h (strict_memory_address_p): Don't declare here.
|
||
* rtl.h (struct rtvec_def): Make num_elem an integer.
|
||
(PUT_NUM_ELEM): Delete cast to unsigned.
|
||
(rtx_unstable_p, rtx_varies_p, reg_mentioned_p): Declare.
|
||
(reg_{referenced,used_between,referenced_between}_p: Likewise.
|
||
({reg_set,modified,no_labels}_between_p, modified_in_p): Likewise.
|
||
(reg_set_p, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
|
||
(note_stores, rtx_equal_p, dead_or_set{,_regno}_p): Likewise.
|
||
(remove_note, side_effects_p, volatile_{refs,insn}_p): Likewise.
|
||
(may_trap_p, inequality_comparison_p): Likewise.
|
||
* rtlanal.c (note_stores, reg_set_p): Don't declare.
|
||
(rtx_addr_can_trap_p): Add prototype, make static.
|
||
(reg_set_p_1): Add declaration for parameter pat.
|
||
* emit-rtl.c: Include recog.h.
|
||
* integrate.c: Likewise.
|
||
* jump.c: Likewise.
|
||
* unroll.c: Likewise.
|
||
* Makefile.in (emit-rtl.o, integrate.o, jump.o, unroll.o): Depend
|
||
on recog.h.
|
||
|
||
Fri Sep 19 06:52:22 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* enquire.c (SYS_FLOAT_H_WRAP): New macro.
|
||
Include "float.h" if SYS_FLOAT_H_WRAP is nonzero.
|
||
(f_define): New argument `req'.
|
||
(main): Output `#include_next <float.h>' if wrapping float.h.
|
||
(i_define, f_define): Don't output anything if wrapping float.h
|
||
and if the system defn is already correct. Put other value tests
|
||
inside `#ifdef VERIFY'.
|
||
(UNDEFINED): New macro.
|
||
(I_MAX, I_MIN, U_MAX, F_RADIX, F_MANT_DIG, F_DIG, F_ROUNDS):
|
||
Define even if VERIFY isn't defined, because SYS_FLOAT_H_WRAP may need
|
||
these values. Give them the value UNDEFINED if not already defined.
|
||
(F_EPSILON, F_MIN_EXP, F_MIN, F_MIN_10_EXP, F_MAX_EXP): Likewise.
|
||
(F_MAX, F_MAX_10_EXP): Likewise.
|
||
(FPROP): Prefer system float.h definition of F_ROUNDS.
|
||
Pass system values to f_define.
|
||
* Makefile.in (FLOAT_H_TEST): New var.
|
||
(float.h-nat): Make it empty if we can use the system float.h without
|
||
change.
|
||
(enquire.o): Define SYS_FLOAT_H_WRAP=1 if we can build a wrapper
|
||
around the system <float.h>. Remove include/float.h before compiling.
|
||
(stmp-headers): Remove include/float.h if we would just be installing
|
||
an empty file (which is a placeholder that stands for no file).
|
||
|
||
* fix-header.c: Don't munge headers for POSIX and XOPEN,
|
||
as this is too error-prone.
|
||
(ADD_MISSING_POSIX, ADD_MISSING_XOPEN): New macros, normally undefed.
|
||
(POSIX1_SYMBOL, POSIX2_SYMBOL): Now 0 unless ADD_MISSING_POSIX.
|
||
(XOPEN_SYMBOL, XOPEN_EXTENDED_SYMBOL): Now 0 unless ADD_MISSING_XOPEN.
|
||
(main): Ignore symbols whose flags are 0.
|
||
|
||
Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* v850.c (compute_register_save_size): Correct register number.
|
||
* v850.md (save_interrupt, return_interrupt): Likewise.
|
||
* v850/lib1funcs.asm (save_interrupt): Likewise.
|
||
(return_interrupt): Use stack pointer, not element pointer.
|
||
|
||
Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* final.c (final_scan_insn): Hand BARRIERs to dwarf2 code.
|
||
* dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
|
||
(dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
|
||
|
||
* except.c (end_eh_unwinder): Subtract 1 from return address.
|
||
* libgcc2.c (__throw): Likewise.
|
||
(find_exception_handler): Don't change PC here. Compare end with >.
|
||
|
||
Thu Sep 18 14:01:20 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* configure.in: Make sure to create the stage* and include
|
||
symbolic links in each subdirectory.
|
||
|
||
Thu Sep 18 13:20:37 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh/lib1funcs.asm (LOCAL): Define.
|
||
(whole file): Use it.
|
||
|
||
Thu Sep 18 09:52:24 1997 Benjamin Kosnik <bkoz@beauty.cygnus.com>
|
||
|
||
* collect2.c (collect_execute): Specify name of new file when
|
||
redirecting stdout/stderr.
|
||
|
||
Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (reload_peepholes): Don't allow addresses with side
|
||
effects for the memory operand.
|
||
|
||
Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* libgcc2.c (find_exception_handler): Subtract one from our PC when
|
||
looking for a handler, to avoid hitting the beginning of the next
|
||
region.
|
||
|
||
* except.c (expand_builtin_set_return_addr_reg): Use force_operand.
|
||
|
||
Wed Sep 17 18:23:09 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips/abi64.h (LONG_MAX_SPEC): Define.
|
||
* mips.h (LONG_MAX_SPEC): Define.
|
||
(CPP_SPEC): Include long_max_spec.
|
||
(EXTRA_SPECS): Include long_max_spec.
|
||
|
||
Wed Sep 17 14:17:26 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* configure.in (AC_CHECK_HEADERS): Add inttypes.h, limits.h.
|
||
({sparc,i[3456]86,powerpcle}-*-solaris2*): Use fixinc.math.
|
||
|
||
* fixinc.math (PWDCMD, ORIGDIR, LINKS): Remove.
|
||
Remove duplicate test for missing $1.
|
||
Don't cd to $INPUT.
|
||
Build wrapper around system <math.h> instead of copying it;
|
||
this is better if the system <math.h> is updated later by a software
|
||
patch or upgrade.
|
||
|
||
* cccp.c (HAVE_STDLIB_H, HAVE_UNISTD_H):
|
||
Do not define any more; now autoconfed.
|
||
<limits.h>: Include if HAVE_LIMITS_H.
|
||
(HOST_BITS_PER_WIDE_INT): Remove.
|
||
(HOST_WIDE_INT): Use intmax_t or long long if available.
|
||
(pcfinclude): Use size_t, not HOST_WIDE_INT, for cast from pointer;
|
||
this is less likely to annoy the compiler.
|
||
|
||
* cexp.y (HAVE_STDLIB_H): Do not define any more; now autoconfed.
|
||
<limits.h>: Include if HAVE_LIMITS_H.
|
||
(HOST_WIDE_INT): Use intmax_t or long long if available.
|
||
(unsigned_HOST_WIDE_INT, CHAR_BIT): New macros.
|
||
(HOST_BITS_PER_WIDE_INT): Define in terms of CHAR_BIT and sizeof.
|
||
(MAX_CHAR_TYPE_MASK, MAX_CHAR_TYPE_MASK): Rewrite so that we don't use
|
||
HOST_BITS_PER_WIDE_INT in a preprocessor expression, since it now
|
||
uses sizeof.
|
||
|
||
* cppexp.c: <limits.h>: Include if HAVE_LIMITS_H.
|
||
(HOST_WIDE_INT): Use intmax_t or long long if available.
|
||
(CHAR_BIT): New macro.
|
||
(HOST_BITS_PER_WIDE_INT): Define in terms of CHAR_BIT and sizeof.
|
||
* cpplib.c: <limits.h>: Include if HAVE_LIMITS_H.
|
||
(HOST_WIDE_INT): Use intmax_t or long long if available.
|
||
(HOST_BITS_PER_WIDE_INT): Remove.
|
||
|
||
Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* v850.c (construct_save_jarl): Fix thinko in last change.
|
||
|
||
Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
|
||
use sparc.h's copies.
|
||
* sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print ascii form
|
||
as well.
|
||
|
||
Wed Sep 17 14:08:20 1997 Nick Burrett <nick.burrett@btinternet.com>
|
||
|
||
* explow.c (allocate_dynamic_stack_space): Make allocate_stack
|
||
pass 'target' as an extra operand.
|
||
* expr.c (expand_builtin_apply): Use allocate_dynamic_stack_space
|
||
to push a block of memory onto the stack.
|
||
* alpha.md (allocate_stack): Alter in accordance with new operand.
|
||
* i386.md (allocate_stack): Likewise.
|
||
* rs6000.md (allocate_stack): Likewise.
|
||
|
||
Wed Sep 17 13:34:43 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386/xm-sco5.h (sys_siglist, SYS_SYGLIST_DECLARED): Define.
|
||
|
||
Wed Sep 17 13:27:05 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* Makefile.in (native): Correct dependency to auto-config.h from
|
||
config.h.
|
||
|
||
Tue Sep 16 10:02:02 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* libgcc2.c (find_exception_handler): Not found is -1.
|
||
|
||
* integrate.c (expand_inline_function): Move expand_start_bindings
|
||
after expanding the arguments.
|
||
|
||
* i386.c (ix86_prologue): Pass SYMBOL_REF to
|
||
gen_prologue_{get_pc,set_got}.
|
||
* i386.md (prologue_set_got, prologue_get_pc): Adjust.
|
||
|
||
Tue Sep 16 07:33:15 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* fold-const.c (make_range): Correctly handle cases of converting
|
||
from unsigned to signed type.
|
||
|
||
* function.c (flush_addressof): New function.
|
||
|
||
* combine.c (num_sign_bit_copies): If asking about wider mode,
|
||
treat like paradoxical subreg.
|
||
|
||
Tue Sep 16 00:26:52 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (simplify_relational_operation): If MODE specifies mode wider
|
||
than HOST_WIDE_INT, high word of CONST_INT is derived from sign bit
|
||
of low word.
|
||
|
||
Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* v850.c ({register,pattern}_is_ok_for_epilogue): New functions.
|
||
(construct_{save,restore}_jr, pattern_is_ok_for_prologue): Likewise.
|
||
* v850.h (pattern_is_ok_for_{pro,epi}logue): New predicates.
|
||
(register_is_ok_for_epilogue): Likewise.
|
||
* v850.md: Replace prologue and epilogue patterns with a
|
||
match_parallel pattern.
|
||
* v850.c (output_move_single_unsigned): Cope with zero
|
||
extending and moving between registers at the same time.
|
||
|
||
Mon Sep 15 22:02:46 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixinc.math: New file to fix math.h on some systems.
|
||
* configure.in (*-*-freebsd*, *-*-netbsd*): Use fixinc.math on these
|
||
systems.
|
||
|
||
Mon Sep 15 18:58:36 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sched.c (update_flow_info) When looking if to set found_split_dest
|
||
or found_orig_dest, look at all parts of a PARALLEL.
|
||
|
||
* sh.md (casesi_0): Reduce functionality, exclude insns from
|
||
mova onwards. Changed expander caller.
|
||
(casesi_worker_0): New insn.
|
||
(casesi_worker_0+[12]): New define_splits.
|
||
(casesi_worker): Need no gen_* function.
|
||
(casesi): Use casesi_worker_0 instead of casesi_worker.
|
||
* sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
|
||
|
||
Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
|
||
* dwarf2.h: Add DW_CFA_GNU_args_size.
|
||
* frame.c (execute_cfa_insn): Likewise.
|
||
* dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
|
||
(dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
|
||
(dwarf2out_frame_debug): If this isn't a prologue or epilogue
|
||
insn, hand it off to dwarf2out_stack_adjust.
|
||
(dwarf2out_begin_prologue): Initialize args_size.
|
||
* frame.h (struct frame_state): Add args_size.
|
||
* libgcc2.c (__throw): Use args_size.
|
||
* final.c (final_scan_insn): If we push args, hand off all insns
|
||
to dwarf2out_frame_debug.
|
||
* defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug): Fix typo.
|
||
Handle epilogue restore of SP from FP.
|
||
* emit-rtl.c (gen_sequence): Still generate a sequence if the
|
||
lone insn has RTX_FRAME_RELATED_P set.
|
||
|
||
* frame.c (extract_cie_info): Handle "e" augmentation.
|
||
* dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
|
||
absence of UNALIGNED_*_ASM_OP.
|
||
(UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
|
||
(output_call_frame_info): Use "e" instead of "z" for augmentation.
|
||
Don't emit augmentation fields length.
|
||
(dwarf2out_do_frame): Move outside of #ifdefs.
|
||
* defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
|
||
opcodes.
|
||
|
||
* sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
|
||
* sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
|
||
* sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
|
||
* sparc/sun4gas.h: New file.
|
||
* configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
|
||
|
||
* collect2.c (write_c_file_stat, write_c_file_glob): Declare
|
||
__register_frame_table and __deregister_frame.
|
||
|
||
Mon Sep 15 19:04:34 1997 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* except.c (find_exception_handler_labels): Use xmalloc instead of
|
||
alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
|
||
in some cases.
|
||
|
||
Sat Sep 13 23:13:51 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cpplib.h (PARAMS): Fix misspelling of __STDC__.
|
||
(cpp_get_token): Arg is cpp_reader *, not struct parse_marker *.
|
||
|
||
* cpplib.c (cpp_fatal, cpp_file_line_for_message): New decls.
|
||
(ppp_hash_cleanup, cpp_message, cpp_print_containing_files): Likewise.
|
||
(copy_rest_of_line): Fix typo that prevented recognition of
|
||
C++ style comments.
|
||
(output_line_command, special_symbol): Use %ld for long, not %d.
|
||
|
||
* cppexp.c (xrealloc): Declare first arg as void *, not char *.
|
||
(cpp_lex): Cast 2nd arg of cpp_parse_escape from const char ** to
|
||
char **.
|
||
|
||
Fri Sep 12 16:54:04 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* bitmap.h (bitmap_print): Don't use STDIO_PROTO.
|
||
|
||
Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* except.h: Prototype dwarf2 hooks.
|
||
* expr.c: Adjust.
|
||
|
||
Thu Sep 11 18:36:51 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* local-alloc.c (contains_replace_regs): New function.
|
||
(update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
|
||
verify that there is no existing REG_EQUIV note, and add a call to
|
||
contains_place_regs.
|
||
|
||
* m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Add __HPUX_ASM__ versions.
|
||
|
||
Wed Sep 10 21:49:38 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): For passes starting with
|
||
flow_analysis, use print_rtl_with_bb instead of print_rtl.
|
||
* print-rtl.c (print_rtl_single): Print a single rtl value to a
|
||
file.
|
||
* flow.c (print_rtl_with_bb): Print which insns start and end
|
||
basic blocks. For the start of a basic block, also print the live
|
||
information.
|
||
* bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
|
||
two bitmaps ANDed together.
|
||
(bitmap_print): Declare.
|
||
* bitmap.c (function_obstack): Don't declare any more.
|
||
(bitmap_obstack): Obstack for allocating links from.
|
||
(bitmap_obstack_init): New static to say whether to initialize
|
||
bitmap_obstack.
|
||
(bitmap_element_allocate): Use bitmap_obstack to allocate from.
|
||
(bitmap_release_memory): Free all memory allocated from
|
||
bitmap_obstack.
|
||
(toplevel): Conditionally include stdlib.h.
|
||
(free): Provide a declaration if NEED_DECLARATION_FREE.
|
||
|
||
* basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
|
||
EXECUTE_IF_AND_IN_BITMAP.
|
||
|
||
Wed Sep 10 17:53:33 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (addr_diff_vec_adjust): Properly propagate considered
|
||
address changes through alignments.
|
||
|
||
Wed Sep 10 13:10:52 1997 Per Bothner <bothner@cygnus.com>
|
||
|
||
* stor-layout.c (layout_type): Simplify special BOOLEAN_TYPE handling.
|
||
|
||
Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
|
||
if DWARF2_UNWIND_INFO.
|
||
|
||
Wed Sep 10 15:43:10 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cplus-dem.c (demangle_fund_type): Change "complex" to "__complex".
|
||
|
||
Wed Sep 10 11:13:53 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
Handle `extern int errno;' correctly when fixing <errno.h>.
|
||
* fix-header.c (recognized_extern): Use name_length when comparing.
|
||
* scan-decls.c (scan_decls): Don't ignore the first CPP_NAME in a
|
||
declaration, so that we see the `extern' in `extern int errno;'.
|
||
|
||
Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
Add support for exception handling using DWARF 2 frame unwind info.
|
||
* libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
|
||
next_stack_level, in_reg_window): Helper fns.
|
||
(__throw): Implement for DWARF2_UNWIND_INFO.
|
||
|
||
* expr.c (expand_builtin): Handle builtins used by __throw.
|
||
* tree.h (enum built_in_function): Add builtins used by __throw.
|
||
* c-decl.c (init_decl_processing): Declare builtins used by __throw.
|
||
* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
|
||
* except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
|
||
(expand_builtin_extract_return_addr): Likewise.
|
||
(expand_builtin_frob_return_addr): Likewise.
|
||
(expand_builtin_set_return_addr_reg): Likewise.
|
||
(expand_builtin_eh_stub): Likewise.
|
||
(expand_builtin_set_eh_regs): Likewise.
|
||
(eh_regs): Choose two call-clobbered registers for passing back values.
|
||
|
||
* frame.c, frame.h: New files for parsing dwarf 2 frame info.
|
||
* Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
|
||
(libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
|
||
(stmp-multilib): Likewise.
|
||
($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
|
||
|
||
* except.c: #include "defaults.h".
|
||
(exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
|
||
(emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
|
||
(register_exception_table_p): New fn.
|
||
(start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
|
||
(end_eh_unwinder): Likewise.
|
||
|
||
* crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
|
||
call __register_frame and __deregister_frame as needed.
|
||
* varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
|
||
* dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
|
||
EH_FRAME_SECTION_ASM_OP.
|
||
* sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
|
||
* mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
|
||
(LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
|
||
|
||
* dwarf2out.c (output_call_frame_info): If no support for
|
||
EXCEPTION_SECTION, mark the start of the frame info with a
|
||
collectable tag.
|
||
* collect2.c (frame_tables): New list.
|
||
(is_ctor_dtor): Recognise frame entries.
|
||
(scan_prog_file): Likewise.
|
||
(main): Pass -fno-exceptions to sub-compile. Also do collection
|
||
if there are any frame entries.
|
||
(write_c_file_stat): Call __register_frame_table and
|
||
__deregister_frame as needed.
|
||
(write_c_file_glob): Likewise.
|
||
|
||
* defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
|
||
Also require unaligned reloc support.
|
||
* sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
|
||
UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
|
||
* sparc/sysv4.h: Not here.
|
||
|
||
* toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
|
||
* dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
|
||
(dwarf2out_finish): Don't call dwarf2out_frame_finish.
|
||
|
||
* libgcc2.c (L_eh): Reorganize, moving code shared by different
|
||
EH implementations to the top.
|
||
(find_exception_handler): Split out. Start from 0. Compare against
|
||
end with >=.
|
||
(__find_first_exception_table_match): Use it.
|
||
* except.c (output_exception_table): Don't do anything if there's
|
||
no table. Don't output a first entry of zeroes.
|
||
(eh_outer_context): Adjust properly.
|
||
(add_eh_table_entry): Use xrealloc.
|
||
* toplev.c (compile_file): Just call output_exception_table.
|
||
|
||
Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (save_varasm_status): Take the target function context.
|
||
* function.c (push_function_context_to): Pass it in.
|
||
|
||
* rtl.def (ADDRESSOF): Add new field for original regno.
|
||
* function.c (put_reg_into_stack and callers): Add original_regno
|
||
argument.
|
||
(gen_mem_addressof): Remember the original regno.
|
||
* rtl.def (INLINE_HEADER): Add new field for parm_reg_stack_loc.
|
||
* rtl.h (PARMREG_STACK_LOC): New macro.
|
||
(ADDRESSOF_REGNO): New macro.
|
||
* emit-rtl.c (gen_inline_header_rtx): Add parm_reg_stack_loc.
|
||
* function.c (max_parm_reg, parm_reg_stack_loc): No longer static.
|
||
(assign_parms): Allocate parm_reg_stack_loc on saveable obstack.
|
||
* integrate.c (output_inline_function): Set max_parm_reg and
|
||
parm_reg_stack_loc from inline header.
|
||
(initialize_for_inline): Pass in parm_reg_stack_loc.
|
||
|
||
Wed Sep 10 11:30:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (override_options): Don't set TARGET_SCHEDULE_PROLOGUE
|
||
(ix86_expand_prologue, ix86_expand_epilogue): Emit rtl by default.
|
||
|
||
Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
|
||
|
||
* i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
|
||
|
||
Wed Sep 10 08:48:44 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* xm-m88k.h (USG): Only define if it hasn't already been defined.
|
||
|
||
* i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
|
||
|
||
* expr.c (do_jump_by_parts_equality_rtx): Don't clobber the
|
||
source operand when performing an IOR of the parts.
|
||
|
||
* expr.c (emit_block_move): Always return a value.
|
||
|
||
* expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
|
||
when clearing non-BLKmode data.
|
||
|
||
* final.c (shorten_branches): Remove last change for ADDR_VEC
|
||
alignment computation. During first pass, assume worst
|
||
possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
|
||
|
||
Wed Sep 10 09:33:19 1997 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* explow.c (emit_stack_save, emit_stack_restore): Correctly
|
||
handle HAVE_{save,restore}_stack_* evaluating to 0.
|
||
|
||
Wed Sep 10 09:27:45 1997 Weiwen Liu <liu@hepvms.physics.yale.edu>
|
||
|
||
* Makefile.in (sdbout.o): Add dependency on insn-config.h.
|
||
|
||
Wed Sep 10 09:24:56 1997 Nick Burrett <n.a.burrett@btinternet.com>
|
||
|
||
* sched.c (birthing_insn_p): Rename prototype decl from birthing_insn.
|
||
* final.c (leaf_renumber_regs, alter_cond): Declare prototype only
|
||
if LEAF_REGISTERS is defined.
|
||
* reload1.c (merge_assigned_reloads): Declare prototype only if
|
||
SMALL_REGISTER_CLASSES is defined.
|
||
* loop.c (replace_call_address): Pre-process out prototype decl.
|
||
* real.c (dectoe, etodec, todec): Declare proto if DEC is defined
|
||
(ibmtoe, etoibm, toibm): Declare proto if IBM is defined
|
||
|
||
Wed Sep 10 09:13:51 1997 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* configure.in (out_file): Emit definition to config.status.
|
||
|
||
Wed Sep 10 08:37:56 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (shorten_branches): Fix alignment calculation.
|
||
Don't count the lengths of deleted instructions.
|
||
|
||
Wed Sep 10 08:34:11 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cpplib.c (cpp_start_read): Make known_suffixes static.
|
||
|
||
Wed Sep 10 08:27:05 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.c (print_operand_address) [MOTOROLA]: When compiling
|
||
with -fpic (not -fPIC) force the GOT offset to 16 bits.
|
||
|
||
Wed Sep 10 08:22:51 1997 Christian Iseli <chris@lslsun.epfl.ch>
|
||
|
||
* expr.c (convert_move): Add missing use of trunctqtf2.
|
||
|
||
Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
|
||
|
||
* except.c (eh_outer_context): Do masking using expand_and.
|
||
|
||
Wed Sep 10 07:52:21 1997 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* pa/rtems.h (subtarget_switches): Removed -mrtems subtarget_switch.
|
||
* configure.in (sh*-*-rtems*): New target.
|
||
* sh.h (TARGET_SWITCHES: Call SUBTARGET_SWITCHES.
|
||
(SUBTARGET_SWITCHES): Provide default definition.
|
||
|
||
Wed Sep 10 06:33:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* i386/mingw32.h ({LIB,LINK}_SPEC): Check for -mwindows, not -windows.
|
||
|
||
* alpha/vms.h (ASM_OUTPUT_SECTION): Clear NAME if overlaid.
|
||
|
||
* c-parse.in (unary_expr): Test DECL_C_BIT_FIELD, not DECL_BIT_FIELD.
|
||
* c-typeck.c (default_conversion): Likewise.
|
||
|
||
* tree.c (contains_placeholder_p, substitute_in_expr):
|
||
Handle placeholders inside args of CALL_EXPR (and hence in TREE_LIST).
|
||
|
||
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Check all
|
||
expressions in placeholder_list.
|
||
|
||
Tue Sep 9 18:10:30 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
Add port done awhile ago for the ARC cpu.
|
||
* arc.h, arc.c, arc.md, t-arc, xm-arc.h: New files.
|
||
* arc/initfini.c, arc/lib1funcs.asm: New files.
|
||
* ginclude/va-arc.h: New file.
|
||
* ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
|
||
* ginclude/varargs.h: Likewise.
|
||
* Makefile.in (USER_H): Add va-arc.h.
|
||
* configure.in (arc-*-elf*): Recognize.
|
||
* longlong.h: Add ARC support.
|
||
|
||
Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
|
||
write_symbols.
|
||
|
||
Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* v850.h (ASM_SPEC): Pass on target processor.
|
||
(CPP_PREDEFINES): Only define if not already specified.
|
||
(TARGET_VERSION): Only define if not already specified.
|
||
(MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
|
||
processor.
|
||
(EXTRA_SWITCHES): Extra entries in the switches array.
|
||
(TARGET_DEFAULT): Set default target processor.
|
||
|
||
Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure.in (alpha*-*-*): Support pca56 and ev6.
|
||
|
||
* varasm.c (named_section): Set in section after writing directive.
|
||
* dwarf2out.c (output_call_frame_info): Call named_section.
|
||
|
||
Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* mips.c (function_prologue): Set up the CFA when ABI_32.
|
||
|
||
* sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
|
||
for dwarf2 unwind info.
|
||
(output_function_prologue, sparc_flat_output_function_prologue): Same.
|
||
|
||
* final.c (final_end_function): Check dwarf2out_do_frame instead
|
||
of DWARF2_DEBUG for dwarf2 unwind info.
|
||
(final_scan_insn): Likewise.
|
||
(final_start_function): Likewise. Initialize dwarf2 frame debug here.
|
||
(final): Not here.
|
||
|
||
* expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
|
||
count > 0.
|
||
|
||
* varasm.c (exception_section): Check EXCEPTION_SECTION first.
|
||
|
||
Mon Sep 8 14:58:07 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* toplev.c (main): Change #elif to #else/#ifdef
|
||
|
||
* i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
|
||
|
||
Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha.h (processor_type): Add EV6.
|
||
({TARGET,MASK}_BWX): Renamed from _BYTE_OPS.
|
||
({TARGET,MASK}_{CIX,MAX}): New macros.
|
||
(MASK_CPU_EV5): Change bit number.
|
||
(MASK_CPU_EV6, {TARGET,MASK}_SUPPORT_ARCH): New macros.
|
||
(TARGET_OPTIONS): Rename "byte" to "bwx" and add "cix" and "max".
|
||
(MINIMUM_ATOMIC_ALIGNMENT): Rename TARGET_BYTE_OPS to TARGET_BWX.
|
||
(SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS, ASM_FILE_START): Likewise.
|
||
(SECONDARY_MEMORY_NEEDED): Not needed if CIX.
|
||
(ASM_FILE_START): Only write if TARGET_SUPPORT_ARCH.
|
||
Add "pca56" and "ev6".
|
||
* alpha.c (input_operand): Rename TARGET_BYTE_OPS to TARGET_BWX.
|
||
(override_options): Likewise; also add new CPU types and subset flags.
|
||
* alpha.md: Rename TARGET_BYTE_OPS to TARGET_BWX.
|
||
(cpu attr): Add "ev6".
|
||
(ev5 function units): Use for ev6 as well, for now.
|
||
(ffsdi2): New define_expand and define_insn, for TARGET_CIX.
|
||
(sqrt[sd]f2): New patterns, for TARGET_CIX.
|
||
(s{min,max}[qh]i3): New patterns, for TARGET_MAX.
|
||
(movsi): Use ldf/lsf when appropriate, instead of lds/sts.
|
||
(mov[sd]i): Add use of ftio/itof for TARGET_CIX.
|
||
* configure.in (alpha*-dec-osf*): Set MASK_SUPPORT_ARCH for >= 4.0B.
|
||
Rename MASK_BYTE_OPS to MASK_BWX.
|
||
|
||
* i386/mingw32.h (STANDARD_INCLUDE_DIR): New macros.
|
||
(STARTFILE_SPEC, PATH_SEPARATOR): Likewise.
|
||
|
||
* configure.in (AC_PROG_LN_S): Remove; unneeded.
|
||
(*cygwin32*, *mingw32*): Default prefix to /usr.
|
||
(symbolic_link): Set to "cp -p" if no "ln -s"; add AC_SUBST.
|
||
(configure.lang call): Change remaining use of config.h to auto-conf.h.
|
||
|
||
* Makefile.in (LN): Add new symbol.
|
||
(FLAGS_TO_PASS): Pass it down.
|
||
(stage[1-4]-start): Use $(LN), not "ln -s".
|
||
|
||
* mips.h (flag_omit_frame_pointer, frame_pointer_needed, optimize):
|
||
Remove declarations: no longer needed.
|
||
* pyr.md: Remove unneeded declarations of `optimize'.
|
||
* h8300.md: Likewise.
|
||
* sparc.c (dwarf2out_cfi_label): Add declaration.
|
||
(save_regs, output_function_prologue): Remove cast for it.
|
||
(sparc_flat_{save_restore,output_function_prologue): Likewise.
|
||
({save,restore}_regs): No longer inline.
|
||
|
||
Mon Sep 8 03:08:35 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i960.h (LINK_SPEC): Handle -mjX and -mrp switches.
|
||
|
||
* mips.md (nonlocal_goto_receiver): Define.
|
||
|
||
* unroll.c (calculate_giv_inc): Handle increment with code PLUS.
|
||
|
||
* alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
|
||
is passed in.
|
||
* emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
|
||
SFmode for 64 bit hosts.
|
||
|
||
* profile.c (output_arc_profiler): Verify next_insert_after is an
|
||
INSN before and after skipping a stack pop. Check next_insert_after
|
||
for non NULL before deferencing it.
|
||
(output_func_start_profiler): Set DECL_EXTERNAL to zero.
|
||
|
||
* va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
|
||
|
||
* m68k.md (iorsi_zexthi_ashl16): Disable.
|
||
|
||
* varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
|
||
|
||
Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
|
||
prologue insn, only the first elt is significant.
|
||
(output_call_frame_info): For exception handling, always use 4-byte
|
||
fields as specified by the dwarf2 spec.
|
||
Don't skip trivial FDEs.
|
||
|
||
Sun Sep 7 03:35:28 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* fix-header.c (std_include_table): Remove bogus entry for popen
|
||
under stdio.h with ANSI_SYMBOL. popen is a POSIX2_SYMBOL.
|
||
|
||
Fri Sep 5 17:19:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (movsf_ie+1): Typo fix.
|
||
|
||
Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* v850: New directory for v850 port.
|
||
* v850/lib1funcs.asm: New file.
|
||
* t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
|
||
* ginclude/va-v850.h: New file.
|
||
* varargs.h, stdarg.h: Include va-mn10200.h.
|
||
* configure.in (mn10200-*-*): New target.
|
||
* Makefile.in (USER_H): Add va-mn10200.h.
|
||
|
||
* xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
|
||
* mips/xm-news.h (SYS_SIGLIST_DECLARED): Define.
|
||
* mips/xm-sysv4.h (SYS_SIGLIST_DECLARED): Define.
|
||
|
||
Fri Sep 5 03:50:15 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.md (fma patterns): Extend previous -mno-fused-madd
|
||
patch to DFmode patterns inadvertently omitted.
|
||
|
||
Thu Sep 4 20:06:02 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
|
||
|
||
* sparc.md: Add ultrasparc scheduling support.
|
||
* sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
|
||
|
||
Wed Sep 3 20:56:24 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Define.
|
||
|
||
Wed Sep 3 20:52:07 1997 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* sh/rtems.h: New file.
|
||
|
||
Wed Sep 3 17:30:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* reg-stack.c (subst_stack_regs): Pop the stack register for a
|
||
computed goto which sets the same stack register.
|
||
|
||
Wed Sep 3 17:30:36 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
|
||
|
||
Wed Sep 3 11:25:19 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (reload peepholes): Fix typo in last change.
|
||
|
||
Wed Sep 3 03:02:02 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (movsi_ie): Move t/r alternative after r/r alternative.
|
||
|
||
Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cccp.c (sys_errlist): Remove special 4.4bsd declaration.
|
||
* collect2.c (sys_errlist): Likewise.
|
||
* cpplib.c (sys_errlist): Likewise.
|
||
* gcc.c (sys_errlist): Likewise.
|
||
* protoize.c (sys_errlist): Likewise.
|
||
* configure.in: Check for strerror.
|
||
* xm-freebsd.h (HAVE_STRERROR): Remove definition.
|
||
* xm-gnu.h (HAVE_STRERROR): Likewise.
|
||
* xm-linux.h (HAVE_STRERROR): Likewise.
|
||
* xm-netbsd.h (HAVE_STRERROR): Likewise.
|
||
* alpha/xm-linux.h (HAVE_STRERROR): Likewise.
|
||
* i386/xm-bsd386.h (HAVE_STRERROR): Likewise.
|
||
* i386/xm-cygwin32.h (HAVE_STRERROR): Likewise.
|
||
* i386/xm-dos.h (HAVE_STRERROR): Likewise.
|
||
* i386/xm-mingw32.h (HAVE_STRERROR): Likewise.
|
||
* pa/xm-pa.h (HAVE_STRERROR): Likewise.
|
||
* pa/xm-papro.h (HAVE_STRERROR): Likewise.
|
||
* rs6000/xm-cygwin32.h (HAVE_STRERROR): Likewise.
|
||
* rs6000/xm-sysv4.h (HAVE_STRERROR): Likewise.
|
||
|
||
* collect2.c (SYS_SIGLIST_DECLARED): Renamed from
|
||
DONT_DECLARE_SYS_SIGLIST.
|
||
* mips-tfile.c (SYS_SIGLIST_DECLARED): Likewise.
|
||
* xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
|
||
* xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
|
||
* alpha/xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
|
||
* i386/xm-bsd386.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
|
||
* i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
|
||
* mips/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
|
||
* rs6000/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
|
||
* sparc/xm-sol2.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
|
||
* configure.in: Check for sys_siglist declaration.
|
||
|
||
* Makefile.in (libgcc2.a): Add missing "else true" clause.
|
||
(stage{1,2,3,4}-start): Likewise.
|
||
|
||
* mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
|
||
are relative to the next instruction, not the current instruction.
|
||
|
||
Tue Sep 2 14:15:32 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (xrealloc): Handle null ptr.
|
||
|
||
Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
|
||
|
||
* fixincludes: Permits spaces between # and define. Discard C++
|
||
comments in sys/pci.h on HP/UX 10.20.
|
||
|
||
Tue Sep 2 09:28:31 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
|
||
|
||
Tue Sep 2 00:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (expand_expr, case COND_EXPR): It's OK to merge two
|
||
SAVE_EXPRs.
|
||
|
||
Mon Sep 1 23:36:45 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (restore_unscaled_index_insn_codes): New function.
|
||
(record_unscaled_index_insn_codes): Likewise.
|
||
(output_function_prologue): Call restore_unscaled_index_insn_codes.
|
||
(output_function_epilogue): Free memory for unscaled_index_insn_codes.
|
||
(pa_reorg): Call record_unscaled_index_insn_codes.
|
||
|
||
Mon Sep 1 14:46:09 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (casesi_jump_1, casesi_jump2): Generate expanders.
|
||
(casesi_jump): Delete.
|
||
(casesi) Use gen_casesi_jump_1 and gen_casesi_jump2 instead of
|
||
gen_casesi_jump.
|
||
|
||
Mon Sep 1 14:36:36 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* sparc/sol2.h (CPP_SPEC): Add -D__STDC__=0 unless -ansi
|
||
or -traditional, for compatibility with Sun's practice.
|
||
* i386/sol2.h (CPP_SPEC), rs6000/sol2.h (CPP_SPEC): Likewise.
|
||
* configure.in ({sparc,i[3456]86,powerpcle}-*-solaris2*):
|
||
Set fixincludes=Makefile.in.
|
||
|
||
Mon Sep 1 14:08:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* Makefile.in (config.status): Depend on version.c.
|
||
|
||
Mon Sep 1 13:48:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* acconfig.h: Remove include of config2.h.
|
||
* configure.in: Build auto-config.h, not config.h, from autoconf data.
|
||
Add auto-conf.h in front of all other host_xm_file entries.
|
||
Make config.h, not config2.h, from host_xm_file.
|
||
* Makefile.in (auto-config.h): New rule; was config.h.
|
||
(distclean): Remove auto-config.h, not config2.h.
|
||
|
||
* expr.c (do_jump_by_parts_equality_rtx): Try to do by IOR of
|
||
all the words.
|
||
|
||
Mon Sep 1 13:07:36 1997 Bob Manson <manson@charmed.cygnus.com>
|
||
|
||
* sparc/t-vxsparc (TARGET_LIBGCC2_CFLAGS): New definition.
|
||
(LIBGCC2_CFLAGS): Deleted.
|
||
* m68k/t-vxworks68: Likewise.
|
||
* i960/t-vxworks960: Likewise.
|
||
* a29k/t-vx29k: Likewise.
|
||
|
||
Sun Aug 31 17:12:27 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* real.c (EMULONG): Correct typo in spelling of HOST_BITS_PER_LONGLONG.
|
||
|
||
Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.md (movstrsi_internal[23]): Set insn type to "store" to
|
||
get more accurate schedules.
|
||
|
||
* pa.md (reload_peepholes): Make sure operand is a REG before
|
||
examining REGNO. Allow general registers too.
|
||
|
||
Thu Aug 28 12:34:56 1997 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* reload1.c (reload_cse_no_longer_dead): Don't pass incremented regno
|
||
to SET_HARD_REG_BIT, it can be evaluated twice.
|
||
|
||
Wed Aug 27 20:15:53 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh/elf.h: (LINK_SPEC): Use shlelf.
|
||
(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX, ASM_FILE_START): Redefine.
|
||
* sh/lib1funcs.asm (___ashrsi3, ___ashlsi3, ___lshrsi3):
|
||
Truncate shift count. Use braf if not SH1.
|
||
* sh.c (sfunc_uses_reg): No longer static.
|
||
Check for SImode inside the USE.
|
||
(shiftcosts, expand_ashiftrt, shl_sext_kind):
|
||
Use SH_DYNAMIC_SHIFT_COST.
|
||
(sh_dynamicalize_shift_p, output_branchy_insn): New functions.
|
||
(output_ieee_ccmpeq, mova_p, cache_align_p, fixup_aligns): Likewise.
|
||
(branch_offset, short_cbranch_p, med_branch_p): Likewise.
|
||
(braf_branch_p, align_length, fixup_addr_diff_vecs): Likewise.
|
||
(addr_diff_vec_adjust, get_dest_uid, gen_far_branch): Likewise.
|
||
(split_branches, regs_used, gen_block_redirect): Likewise.
|
||
(from_compare): Can't compare non-zero DImode constant directly.
|
||
Emit special code for TARGET_SH3E floating point with code == GE.
|
||
Force 0.0 into a register for SH3E.
|
||
(print_operand): Add ','.
|
||
Emit the actual comparison instruction.
|
||
(sh_builtin_saveregs): Save floating point registers in order that
|
||
allows pre-decrement.
|
||
(find_barrier): New arguments num_mova and mova. Changed caller.
|
||
When rewinding to before a mova, also restore the last found barrier.
|
||
Branch is now known to be shortened.
|
||
Prefer barriers where no new alignment is needed.
|
||
More generic alignment for cache lines.
|
||
Add checks for pieces of code that use more table space than their
|
||
own size.
|
||
Fix up the barrier we return so that the alignment will always be
|
||
after the table.
|
||
Remove limit adjustments for table alignment.
|
||
Handle PARALLELs correctly.
|
||
(machine_dependent_reorg): Add extra pass to split insns.
|
||
Don't scan instructions twice for broken moves.
|
||
Calculate insn length, call fixup_addr_diff_vecs.
|
||
Call split_branches.
|
||
Add alignment for loops and after BARRIERs.
|
||
Initialize max_uid_before_fixup_addr_diff_vecs.
|
||
Advance mdep_reorg_phase.
|
||
Clear insn_addresses.
|
||
(output_far_jump): Use braf and/or pre-allocated scratch register
|
||
when possible.
|
||
(expand_ashiftrt): Truncate shift count.
|
||
(push_regs): Push PR last.
|
||
(sh_expand_epilogue): Pop PR first.
|
||
(code_for_indirect_jump_scratch, mdep_reorg_phase): New variables.
|
||
(uid_align, uid_align_max): Likewise.
|
||
(max_uid_before_fixup_addr_diff_vecs, sh_addr_diff_vec_mode): Likewise.
|
||
(braf_label_ref_operand): New predicate.
|
||
(initial_elimination_offset): calculate offset from
|
||
RETURN_ADDRESS_POINTER_REGNUM starting with total_saved_regs_space.
|
||
(output_branch): Expect out-of-range condbranches to have been split.
|
||
* sh.md (rotlsi3_16): Named insn.
|
||
(rotlsi3): Rewritten to use superoptimizer patterns.
|
||
(adddi3, subdi3, ashrsi2_16, ashrsi2_31): Always split.
|
||
(movsi_i, movsi_ie): replace t/z alternative with t/r alternative.
|
||
Use pcload_si and load_si insn types.
|
||
(adddi3+1, subdi3+1, ashrsi2_16+1, ashrsi2_31+1) New define_splits.
|
||
(addc, subc, ashlsi_c): New insns.
|
||
(attribute "type"): New values dyn_shift, load_si, pcload_si, fmove,
|
||
jump_ind, arith3 and arith3b.
|
||
(function_unit "fp"): Take fmove into account.
|
||
(function_unit "int"): Uses one cycle for !dyn_shift.
|
||
(function_unit "memory"): Special case for load_si and pcload_si.
|
||
(attribute "in_delay_slot): handle pcload_si.
|
||
(cmpgtdi_t, cmpgedi_t, cmpgeudi_t, cmpgtudi_t): Type arith3.
|
||
(cmpsi+1, cmpeqdi_t) Type arith3b.
|
||
(movsf_ie, alternatives f/fGH/X, f/y/X, y/f/X): Type fmove.
|
||
(extendsidi2): Delete.
|
||
(cmpeqsi_t-2): Delete. (Redundant with movt.)
|
||
(*rotlhi3_8) Name.
|
||
(iorsi3, rotlsi3_1, rotlsi3_31, rotlsi3_16, (*rotlhi3_8): Type arith.
|
||
(ashlsi3_k, ashlhi3_ki, ashrsi2_16, ashrsi2_31, lshrsi3_m): Likewise.
|
||
(lshrsi3_k, lshrhi3_m, lshrhi3_k, ashldi3_k, lshrdi3_k): Likewise.
|
||
(ashrdi3_k, xtrct_left, xtrct_right, dect, mova, movt): Likewise.
|
||
(movt): Likewise.
|
||
(ashlsi3_d, ashrsi3_d, lshrsi3_d): Type dyn_shift.
|
||
(indirect_jump_scratch, *casesi_jump_1, *casesi_jump_2): Type jump_ind.
|
||
(ashlsi3, ashlsi3_n, lshrsi3, lshrsi3_n): Use sh_dynamicalize_shift_p.
|
||
(movsf_ie+1, movsf_ie+2): Exchange.
|
||
(cmpeqdi_t-1, cmpeqdi_t, cmpgtdi_t, cmpgedi_t): New insns.
|
||
(cmpgeudi_t, cmpgtudi_t, movsi_i_lowpart, ieee_ccmpeqsf_t): Likewise.
|
||
(cmpdi, movnegt): New define_expands.
|
||
(movsi_ie): Add y,y alternative.
|
||
(sge): Use it for ! TARGET_IEEE. Use special code for TARGET_IEEE.
|
||
(sle): Use sge.
|
||
(align_4, casesi_jump): Now define_expand.
|
||
(casesi_0, addr_diff_vec_adjust, align_log): New patterns.
|
||
(*casesi_jump_[12]): Likewise.
|
||
(casesi): Use casesi_0 and casesi_jump.
|
||
(casesi_worker): Depends on the mode used for the table.
|
||
(define_delay for cbranches): Test TARGET_SH2.
|
||
Changed all callers of from_compare.
|
||
(attribute "length"): Take use of braf and scratch registers into
|
||
account.
|
||
(indirect_jump_scratch, block_branch_redirect): New patterns.
|
||
(jump): Call output_far_jump for any jump larger than 4 bytes.
|
||
(inverse_branch_true, inverse_branch_false): Remove.
|
||
(bne, blt, ble, bltu, bleu): Canonicalize.
|
||
(attribute "cpu"): Remove "sh0" alternative.
|
||
* sh.h (ADJUST_COST): Lower cost of non-address sfunc dependencies.
|
||
Adjust cost of load_si / pcload_si insns when not used for call.
|
||
(enum reg_class): Move GENERAL_REGS after FPUL_REGS.
|
||
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
|
||
(REGISTER_MOVE_COST): Add costs for fpul <-> mac, pr moves.
|
||
Fix to match default cost in regclass. Move to T reg not costly.
|
||
When checking for GENERAL_REGS, check for R0_REGS too.
|
||
(INITIALIZE_TRAMPOLINE): Include code for constant parts.
|
||
(SHIFT_COUNT_TRUNCATED): Not true for TARGET_SH3.
|
||
(CPP_SPEC): Define __sh1__ if no specific cpu is selected.
|
||
(FUNCTION_BOUNDARY): Align to cache line boundary.
|
||
(optimize, sh_addr_diff_vec_mode, machine_dependent_reorg): Declare.
|
||
(addr_diff_vec_adjust, code_for_indirect_jump_scratch): Declare.
|
||
(short_cbranch_p, med_branch_p, braf_branch_p, align_length): Declare.
|
||
(output_ieee_ccmpeq, output_branchy_insn, sfunc_uses_reg): Declare.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELT): Depends on sh_addr_diff_vec_mode.
|
||
(PREDICATE_CODES): Add braf_label_ref_operand and register_operand.
|
||
(IEEE_BIT, TAGET_IEEE, LOCAL_LABEL_PREFIX, ASSEMBLER_DIALECT): Define.
|
||
(CACHE_LOG, enum mdep_reorg_phase_e, TRAMPOLINE_ALIGNMENT): Define.
|
||
(SH_DYNAMIC_SHIFT_COST): Define.
|
||
(TARGET_SWITCHES): Remove -m0 entry. Add -mieee, -mno-ieee.
|
||
(OVERRIDE_OPTIONS): sh_cpu defaults to CPU_SH1.
|
||
Initialize sh_addr_diff_vec_mode.
|
||
(REG_ALLOC_ORDER): Move FP0 behind FP7.
|
||
Move all FP registers in front of the general registers.
|
||
(SECONDARY_OUTPUT_RELOAD_CLASS): Add case for MAC_REGS / PR_REGS.
|
||
When checking for GENERAL_REGS, check for R0_REGS too.
|
||
Fix direction of compares to {FIR,LA}ST_FP_REG.
|
||
(SECONDARY_INPUT_RELOAD_CLASS): check for fp_one_operand.
|
||
(ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN, SH0_BIT): Delete.
|
||
(TARGET_SH0, PUSH_ROUNDING, TRAMPOLINE_TEMPLATE): Delete.
|
||
(TRAMPOLINE_ALIGN): Delete.
|
||
(processor_type): Remove PROCESSOR_SH0.
|
||
(ADJUST_INSN_LENGTH): Remove check for preceding BARRIER.
|
||
Adjust ADDR_DIFF_VECs. Add code for alignment instructions.
|
||
Check if insn needing a delay slot is already inside a SEQUENCE.
|
||
|
||
* va-sh.h (__va_rounded_size): Delete.
|
||
(__LITTLE_ENDIAN_P, __SCALAR_TYPE, __PASS_AS_FLOAT): Define.
|
||
(va_arg): Unify big and little endian code.
|
||
Optimization for small integers.
|
||
|
||
From Fred Fish:
|
||
* sh.h (INITIAL_ELIMINATION_OFFSET): Proper bracketing.
|
||
(REGNO_REG_CLASS, PREFERRED_RELOAD_CLASS): Likewise.
|
||
(SECONDARY_{OUTPUT,INPUT}_RELOAD_CLASS, LIBCALL_VALUE): Likewise.
|
||
(ROUND_ADVANCE, FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS): Likewise.
|
||
(FUNCTION_PROFILE, FUNCTION_EPILOGUE, RETURN_ADDR_RTX): Likewise.
|
||
(REGNO_OK_FOR_INDEX_P, EXTRA_CONSTRAINT_Q, MODE_DISP_OK_4): Likewise.
|
||
(GO_IF_LEGITIMATE_{INDEX,ADDRES}, LEGITIMIZE_ADDRESS): Likewise.
|
||
(CONST_COSTS, REGISTER_MOVE_COST, ASM_OUTPUT_CONSTRUCTOR): Likewise.
|
||
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Likewise.
|
||
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP, ASM_OUTPUT_LABEL): Likewise.
|
||
(ASM_OUTPUT_ALIGN), ASM_DECLARE_FUNCTION_NAME): Likewise.
|
||
(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT) Likewise.
|
||
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_INT): Likewise.
|
||
(ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE): Likewise.
|
||
(ASM_OUTPUT_SKIP, FINAL_PRESCAN_INSN, PRINT_OPERAND): Likewise.
|
||
(PRINT_OPERAND_ADDRESS, HANDLE_PRAGMA, ADJUST_INSN_LENGTH): Likewise.
|
||
(PROMOTE_MODE): Likewise.
|
||
(ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
|
||
(ASM_OUTPUT_INTERNAL_LABEL): Use %L.
|
||
* sh/elf.h: (ASM_OUTPUT_LABELREF): Use %U.
|
||
(ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
|
||
(ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SOURCE_LINE): Use %L.
|
||
|
||
Wed Aug 27 16:42:21 1997 Bob Manson (manson@cygnus.com)
|
||
|
||
* t-h8300 (TARGET_LIBGCC2_CFLAGS): New definit.
|
||
(LIBGCC2_CFLAGS): Deleted.
|
||
* t-mn10200: Likewise.
|
||
|
||
Wed Aug 27 17:10:51 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
|
||
last change.
|
||
|
||
Wed Aug 27 15:19:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* dwarfout.c (dwarfout_start_new_source_file): Strip leading '*'s
|
||
from label names.
|
||
|
||
Wed Aug 27 14:33:38 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (find_reloads, case '0'): Reject matching a non-offsettable
|
||
address where an offsettable address is required.
|
||
|
||
Wed Aug 27 10:38:32 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (dbr_schedule): Allow current_function_return_rtx
|
||
to be something other than a REG.
|
||
* function.c (expand_function_end): Fix current_function_return_rtx
|
||
if it was a pseudo.
|
||
|
||
* t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
|
||
* x-netbsd: Likewise
|
||
* x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
|
||
(INSTALL_HEADERS): Delete.
|
||
* x-dguxbcs: Likewise.
|
||
* x-hp3bsd44: Likewise
|
||
* x-pa: Likewise.
|
||
|
||
Wed Aug 27 07:15:58 1997 Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>
|
||
|
||
* configure.in (AC_PROG_CC, AC_PROG_MAKE_SET): Check for gcc before
|
||
testing for flex.
|
||
|
||
Wed Aug 27 02:24:35 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
|
||
TYPE_DECL_IS_STUB instead of DECL_NAME.
|
||
|
||
* Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
|
||
filenames. Use sed to extract base filename for install.
|
||
|
||
Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* loop.c (combine_movables): Earlier insns don't match later ones.
|
||
|
||
* c-decl.c (grokdeclarator): If array index or size calculations
|
||
overflow, issue an error.
|
||
* fold-const.c (int_const_binop): New static function.
|
||
(const_binop, size_binop): Call it.
|
||
|
||
Tue Aug 26 17:51:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* collect2.c (main): Check SCAN_LIBRARIES instead of LDD_SUFFIX
|
||
to decide whether to always emit init and fini handles.
|
||
|
||
Tue Aug 26 13:51:10 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* stor-layout.c (layout_record): Test DECL_PACKED instead of
|
||
TYPE_PACKED to determine alignment.
|
||
|
||
* combine.c (try_combine): Distribute REG_DEAD notes created for
|
||
i3dest_killed similar to the ones created for i2dest_in_i2src
|
||
and for i1dest_in_i1src.
|
||
|
||
Tue Aug 26 11:36:34 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (check_final_value): Don't miss a biv increment in a
|
||
parallel.
|
||
|
||
* loop.c (check_dbra_loop): If the loop biv is only used
|
||
for counting, then normalize it so that the initial
|
||
value is zero.
|
||
|
||
Tue Aug 26 06:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarfout.c (*_LABEL): Add initial '*'.
|
||
|
||
Tue Aug 26 05:27:28 1997 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
|
||
* configure.in (alpha-*-linux-gnulibc1): New target.
|
||
(alpha-*-linux-gnu*): Don't build crtbegin/end.
|
||
|
||
Mon Aug 25 19:11:38 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* reload1.c (reload_cse_simplify_operands): Fix typo.
|
||
|
||
Mon Aug 25 19:04:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* c-typeck.c (common_type): Always prefer long double to double.
|
||
|
||
Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (secondary_reload_class): (mem (mem ... )) does not need
|
||
secondary reloads.
|
||
|
||
* pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
|
||
store of the argument registers.
|
||
|
||
Sun Aug 24 21:25:06 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* reload1.c (reload_cse_mem_conflict_p, case MEM): Also check
|
||
for conflict with the address.
|
||
|
||
Sat Aug 23 18:43:22 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* acconfig.h (NEED_DECLARATION_CALLOC): Add.
|
||
* configure.in: Add GCC_NEED_DECLARATION call for calloc.
|
||
* rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
|
||
declarations.
|
||
|
||
* m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
|
||
* m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
|
||
|
||
Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
|
||
around branch tables.
|
||
* pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
|
||
and .end_brtab directives if TARGET_GAS.
|
||
|
||
Fri Aug 22 19:17:25 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* function.c (instantiate_virtual_regs_1, case ADDRESSOF):
|
||
New case.
|
||
(fix_lexical_addr): Handle (addressof (mem ...)).
|
||
|
||
Thu Aug 21 17:56:06 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* reload.c (push_secondary_reload): If SECONDARY_MEM_NEEDED,
|
||
call get_secondary_mem for input before adding reload and
|
||
for output after.
|
||
(push_reload): Likewise.
|
||
|
||
Thu Aug 21 15:57:03 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
|
||
block_stack before dereferencing it.
|
||
|
||
Wed Aug 20 15:45:52 1997 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
|
||
list.
|
||
|
||
Wed Aug 20 15:30:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (ix86_prologue, ix86_epilogue): New functions.
|
||
({function,ix86_expand}_{pro,epi}logue, ix86_expand_prologue):
|
||
Use ix86_prologue.
|
||
|
||
Wed Aug 20 14:57:11 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
|
||
|
||
Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cplus-dem.c: Add 'extern' to prepends_underscore.
|
||
|
||
Tue Aug 19 15:46:30 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips/r3900.h (SUBTARGET_CC1_SPEC): Remove some unnecessary stuff.
|
||
(MIPS_CPU_STRING_DEFAULT, MIPS_ISA_DEFAULT): Define.
|
||
|
||
Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
|
||
reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
|
||
|
||
Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
|
||
quotes around the name.
|
||
|
||
Mon Aug 18 17:26:42 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* mips.md (movsi_ulw,movsi_usw,loadgp): Give unspec a mode.
|
||
|
||
Mon Aug 18 11:05:17 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips/r3900.h (TARGET_DEFAULT): Turn on MASK_MIPS3900.
|
||
|
||
Sun Aug 17 14:39:18 1997 Gavin Koch (gavin@cygnus.com)
|
||
|
||
* mips/elf.h (PREFERRED_DEBUGGING_TYPE): Only set if not already set.
|
||
* mips.c (TARGET_{SINGLE,SOFT}_FLOAT): Make sure both aren't set.
|
||
(PROCESSOR_R3900): Set flag from option.
|
||
* mips.h: Add m3900 option.
|
||
({PROCESSOR,TARGET,MASK}_R3900): Define.
|
||
(GENERATE_{BRANCHLIKELY,MADD,MULT3): Likewise.
|
||
(debugj,MASK_DEBUG_J): Delete to make room for m3900.
|
||
(BRANCH_LIKELY_P): Redefine to include 3900.
|
||
(GAS_ASM_SPEC,CC1_SPEC): Add m3900 option.
|
||
(RTX_COSTS): Add 3900.
|
||
* mips.md: Add 3900, including three op madd and mult.
|
||
* configure.in (mipstx39{,el}-*-elf*): New cases.
|
||
* mips/r3900.h: New file.
|
||
|
||
Fri Aug 15 07:34:12 1997 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.md (umulsi3_highpart, smulsi3_highpart): Add extra reloading
|
||
alternatives.
|
||
|
||
Fri Aug 15 07:34:12 1997 Torbjorn Granlund <tege@tege.pdc.kth.se>
|
||
|
||
* arm.md (umulsi3_highpart, smulsi3_highpart): New patterns.
|
||
* arm.c (arm_rtx_costs, case TRUNCATE): New case.
|
||
|
||
Fri Aug 15 06:40:03 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* genemit.c (main): Write an include for flags.h.
|
||
* genoutput.c (main): Likewise.
|
||
|
||
* alpha.c (override_options): Turn off byte insns for cpu=ev4 or ev5.
|
||
|
||
* alpha.md (allocate_stack): If stupid reg allocation, add USE
|
||
for loop variable.
|
||
|
||
* fold-const.c (fold, compare cases): Add calls to `fold' to
|
||
previous change.
|
||
|
||
Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* rtl.h ({SET,}ADDRESSOF_DECL): op 1 of ADDRESSOF is now the decl.
|
||
* function.c (put_var_into_stack, gen_mem_addressof,
|
||
put_addressof_into_stack): Adjust.
|
||
|
||
* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
|
||
again for the slot after we give it RTL.
|
||
(expand_expr, case VAR_DECL): Lose gen_mem_addressof case.
|
||
|
||
Wed Aug 13 17:29:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* c-lex.c (check_newline): Pass finput again to HANDLE_PRAGMA.
|
||
|
||
Wed Aug 13 16:51:35 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* reload1.c (reload_cse_simplify_operands): New function.
|
||
(reload_cse_no_longer_dead,reload_cse_delete_death_notes): Likewise.
|
||
(no_longer_dead_regs): New static variable.
|
||
(reload_cse_simplify_set): Now returns int.
|
||
Don't delete death notes on previous insns, call
|
||
reload_cse_no_longer_dead instead.
|
||
Call validate_change with nonzero value for in_group.
|
||
(reload_cse_noop_set_p): Don't delete death notes on previous insns,
|
||
call reload_cse_no_longer_dead instead.
|
||
(reload_cse_regs): Initialize no_longer_dead_regs and call
|
||
reload_cse_delete_death_notes as appropriate.
|
||
Call apply_change_group after calling reload_cse_simplify_set.
|
||
Call reload_cse_simplify_set on elements of a PARALLEL.
|
||
Call reload_cse_simplify_operands if reload_cse_simplify_set could
|
||
not simplify things.
|
||
|
||
Wed Aug 13 16:18:42 1997 Douglas Rupp <rupp@gnat.com>
|
||
|
||
* vms.h (LINK_SPEC): Echo -shared, not -share, to linker.
|
||
|
||
Wed Aug 13 12:51:11 1997 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
|
||
|
||
* m68k.md: Add braces to clarify nesting.
|
||
|
||
Wed Aug 13 12:51:11 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* calls.c (expand_call): Use assign_temp and mark_addressable
|
||
instead of calling gen_mem_addressof directly.
|
||
|
||
Wed Aug 13 12:40:15 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* Makefile.in (install-man): Add missing $(exeext).
|
||
|
||
* configure.in (alpha*-dec-osf*): Merge various cases;
|
||
split off version-specific files in new case statement.
|
||
Include osf2or3.h even for OSF1.2.
|
||
|
||
* alpha.c (NUM_ARGS): New macro.
|
||
(CURRENT_FUNCTION_ARGS_INFO): Deleted.
|
||
(alpha_builtin_saveregs): Use new macro.
|
||
(function_arg): Deleted.
|
||
(alpha_arg_type, alpha_arg_info_reg_val): New functions.
|
||
* vms.h (enum avms_arg_type, avms_arg_info): New types.
|
||
(CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Update definitions
|
||
to use new types.
|
||
(SETUP_INCOMING_VARARGS): Likewise.
|
||
(FUNCTION_ARG{,_PARTIAL_NREGS}, FUNCTION_ARG_ADVANCE): Likewise.
|
||
Only update CUM in FUNCTION_ARG_ADVANCE.
|
||
|
||
Tue Aug 12 19:27:32 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
|
||
as initial value for real_label_map.
|
||
(copy_for_inline): Likewise.
|
||
|
||
Tue Aug 12 16:15:36 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* rtl.h (BYTECODE_LABEL): Use XSTR, not XEXP.
|
||
|
||
* calls.c (expand_calls): Properly call any_pending_cleanups.
|
||
|
||
Tue Aug 12 12:18:01 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* function.c (purge_addressof_1): Add force argument.
|
||
(purge_addressof): If there are any ASM_OPERANDS in an insn, always
|
||
put ADDRESSOFs into the stack.
|
||
|
||
* function.c (setjmp_protect): See through addressof.
|
||
(setjmp_protect_args): Likewise.
|
||
* calls.c (expand_call): For now, only use addressof if the type
|
||
doesn't promote.
|
||
* function.c (put_var_into_stack): Likewise.
|
||
* expr.c (expand_expr): Likewise.
|
||
* toplev.c (rest_of_compilation): Check inlineable instead of
|
||
DECL_INLINE.
|
||
* function.c (purge_addressof_1): Try recognizing the insn with
|
||
and without the SUBREG. If it doesn't work, just put the REG into
|
||
the stack.
|
||
(gen_mem_addressof): Set the mode of the MEM to the mode of the type.
|
||
(put_var_into_stack): Don't be fooled by addressof in an enclosing
|
||
scope.
|
||
|
||
Sun Aug 10 22:19:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* explow.c (probe_stack_range): Add USE for test_addr if -O0.
|
||
|
||
Sun Aug 10 22:15:40 1997 Jason Merrill <merrill@churchy.gnu.ai.mit.edu>
|
||
|
||
* toplev.c (rest_of_compilation): Move purge_addressof before loop.
|
||
|
||
Sun Aug 10 15:25:51 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* toplev.c (main): In -g handling code, add code to set len.
|
||
|
||
* sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
|
||
has integer TYPE_{MAX,MIN}_VALUE before using them.
|
||
|
||
* alpha.md (extendqihi2): Use HImode not QImode in force_reg call.
|
||
|
||
Sun Aug 10 16:47:34 1997 Nick Burrett <nick.burrett@btinternet.com>
|
||
|
||
* arm/aof.h (COMMON_SECTION): New macro, define common_section.
|
||
(EXTRA_SECTION_FUNCTIONS): Add COMMON_SECTION.
|
||
(EXTRA_SECTIONS): Add in_common.
|
||
(ASM_OUTPUT_COMMON): Call common_section() to indicate we've
|
||
changed areas.
|
||
|
||
Sat Aug 9 20:04:35 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_subprogram_die): Handle redefinition of an
|
||
extern inline function.
|
||
|
||
Sat Aug 9 13:01:06 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sysv4.h (*_SPEC): Add support for -mads and -myellowknife.
|
||
Use a common crt0.o for all embedded platforms. Use --start-group
|
||
and --end-group instead of -( and -) to allow better cut and pasting
|
||
when debugging the linker. Set default start for MVME text.
|
||
(TARGET_SWITCHES): Add -mads and -myellowknife.
|
||
|
||
Fri Aug 8 20:12:43 1997 Per Bothner <bothner@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_enumeration_type_die):
|
||
Make code work for a tag name, without a TYPE_STUB_DECL.
|
||
(gen_struct_or_union_type_die): Likewise.
|
||
|
||
Fri Aug 8 18:10:40 1997 Marc Lehmann <pcg@goof.com>
|
||
|
||
* i386/go32.h (HAS_INIT_SECTION, HAVE_ATEXIT): New macros.
|
||
|
||
Fri Aug 8 17:30:22 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
|
||
|
||
* i386.c (output_pic_addr_const, case PLUS): Emit the constant first.
|
||
|
||
Fri Aug 8 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
|
||
template.
|
||
|
||
* reg-stack.c (compare_for_stack_reg): Swap only if the source and
|
||
destination are both on the regstack.
|
||
(subst_stack_regs_pat): Put the destination at the top of the regstack.
|
||
|
||
Fri Aug 8 17:03:21 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* i386.md (pop): pop increments the stack pointer.
|
||
(prologue_set_stack_ptr): New pattern.
|
||
* i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
|
||
instead of subsi3.
|
||
|
||
Fri Aug 8 17:00:36 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* gansidecl.h, halfpic.h (STDIO_PROTO): Remove.
|
||
* bitmap.h, c-tree.h, output.h, reload.h, rtl.h (STDIO_PROTO):
|
||
Replace with PROTO in include files.
|
||
* bc-emit.c: Include <stdio.h> before include files that formerly
|
||
used STDIO_PROTO.
|
||
* bc-optab.c, c-common.c, c-decl.c, caller-save.c, calls.c: Likewise.
|
||
* convex.c, i860.c, mips.c, spur.c, tahoe.c, emit-rtl.c: Likewise.
|
||
* explow.c, expmed.c, expr.c, genattrtab.c, halfpic.c: Likewise.
|
||
* jump.c, optabs.c, profile.c, recog.c, regclass.c: Likewise.
|
||
* rtlanal.c, sdbout.c, unroll.c: Likewise.
|
||
* genattrtab.c (main): Generate files that include <stdio.h>
|
||
before including files that formerly used STDIO_PROTO.
|
||
* genemit.c (main), genextract.c (main), genopinit.c (main): Likewise.
|
||
* genoutput.c (output_prologue), genpeep.c (main): Likewise.
|
||
* genrecog.c (main): Likewise.
|
||
* halfpic.h (PROTO): Use "gansidecl.h" to define this instead.
|
||
(half_pic_finish): Declare without prototype; FILE isn't defined.
|
||
|
||
* bitmap.c, c-aux-info.c, c-lex.c: Include "config.h" first.
|
||
* c-parse.in, c-pragma.c, 1750a.c, a29k.c, alpha.c: Likewise.
|
||
* arm.c, clipper.c, dsp16xx.c, elxsi.c, fx80.c, gmicro.c: Likewise.
|
||
* h8300.c, i370.c, i386.c, i386/winnt.c, i960.c: Likewise.
|
||
* m32r.c, m68k.c, m88k.c, mn10200.c, mn10300.c, ns32k.c: Likewise.
|
||
* pa.c, pdp11.c, pyr.c, romp.c, rs6000.c, sparc.c, vax.c: Likewise.
|
||
* we32k.c, cppmain.c, dbxout.c, flow.c, fold-const.c: Likewise.
|
||
* gcc.c, gcov.c, global.c, integrate.c, local-alloc.c: Likewise.
|
||
* loop.c, mips-tdump.c, mips-tfile.c, objc-act.c: Likewise.
|
||
* real.c, reg-stack.c, reload.c, reload1.c, reorg.c, sched.c: Likewise.
|
||
* stupid.c, tree.c, varasm.c, xcoffout.c: Likewise.
|
||
|
||
Fri Aug 8 14:52:35 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* function.c (fixup_stack_1): Stack slots can also be relative to
|
||
the frame or stack pointers.
|
||
|
||
Fri Aug 8 14:13:49 1997 Richard Henderson <richard@gnu.ai.mit.edu>
|
||
|
||
* dwarf2out.c (reg_loc_descriptor): Fix prototype.
|
||
(concat_loc_descriptor): New function.
|
||
(loc_descriptor): Call it.
|
||
(add_AT_location_description): Also elide the descriptor if both
|
||
halves of a CONCAT are pseudos.
|
||
(add_location_or_const_value_attribute): Recognize CONCAT too.
|
||
|
||
Fri Aug 8 06:36:29 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* c-common.c (if_stack{,_space,_pointer}): New static variables.
|
||
(c_expand_{start_cond,start_else,end_cond}): New functions.
|
||
* c-parse.in (compstmt_count): New static variable.
|
||
(compstmt_start): New rule.
|
||
(compstmt): Use new rule.
|
||
(do_stmt_start): Update compstmt_count.
|
||
(simple_if, stmt): Use new versions of start_cond, start_else,
|
||
and end_cond.
|
||
|
||
Thu Aug 7 15:35:25 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/iris6.h (TARGET_LONG64): Don't define here.
|
||
* mips.c (override_options): Set MASK_LONG64 for ABI_64.
|
||
|
||
* mips.c (function_prologue): Don't emit ".ent", ".frame",
|
||
".mask", ".fmask" if flag_inhibit_size_directive is true.
|
||
(function_epilogue): Don't emit ".end" if
|
||
flag_inhibit_size_directive is true.
|
||
|
||
* mips/iris6.h (STARTFILE_SPEC, LIB_SPEC): Move
|
||
-L/usr/lib{32,64}/mips? from STARTFILE_SPEC to LIB_SPEC.
|
||
|
||
Thu Aug 7 13:14:21 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
|
||
|
||
* fold-const.c (fold): Optimize unsigned x <= 0x7fffffff.
|
||
|
||
Thu Aug 7 12:46:31 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* explow.c (convert_memory_address, case LABEL_REF): Copy
|
||
LABEL_REF_NONLOCAL_P.
|
||
|
||
* expr.c (store_constructor): Use CONST0_RTX macro, not always
|
||
the integer version, when clearing a register.
|
||
|
||
* varasm.c (output_constructor): Correctly check for
|
||
multi-word constant.
|
||
|
||
Thu Aug 7 10:04:42 1997 Douglas Rupp <rupp@gnat.com>
|
||
|
||
* alpha/vms-tramp.asm: New file.
|
||
|
||
* gcc.c (execute): Don't allow -pipe on VMS.
|
||
|
||
* alpha.c (vmskrunch): Don't strip off trailing digits.
|
||
(vms_valid_decl_attribute_p): New function.
|
||
* alpha/vms.h (TRAMPOLINE_TEMPLATE): Add another quadword of zeros.
|
||
(TRAMPOLINE_SIZE): Now 32 bytes.
|
||
(INITIALIZE_TRAMPOLINE): Put FNADDR at offset 16, CXT at 24.
|
||
(DBX_DEBUGGING_INFO, ASM_FORMAT_PRIVATE_NAME): Always undefine.
|
||
(STARTFILE_SPEC): Likewise.
|
||
(PREFERRED_DEBUGGING_TYPE): Define to be Dwarf-2.
|
||
(VALID_MACHINE_DECL_ATTRIBUTE, ASM_OUTPUT_SECTION{,_NAME}): New macros.
|
||
(ASM_OUTPUT_ALIGN{,ED_COMMON}): Redefine.
|
||
(LINK_SPEC): Pass -share and -v.
|
||
(ENDFILE_SPEC, LIBGCC2_SPEC): Don't redefine.
|
||
|
||
Thu Aug 7 06:21:47 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* Eliminate most -Wswitch warnings.
|
||
* c-common.c (binary_op_error): Add default case to switch.
|
||
(shorten_compare, truthvalue_conversion): Likewise.
|
||
* c-iterate.c (collect_iteratores): Likewise.
|
||
* c-typeck.c (comptypes, build_component_ref): Likewise.
|
||
(build_binary_op, lvalue_p, build_unary_op): Likewise.
|
||
(build_modify_expr, initializer_constant_valid_p): Likewise.
|
||
(c_expand_return): Likewise.
|
||
* calls.c (calls_function_1): Likewise.
|
||
* combine.c (find_split_point, simplify_rtx): Likewise.
|
||
(simplify_if_then_else, simplify_logical): Likewise.
|
||
(extract_left_shift, make_compound_operation, force_to_mode): Likewise.
|
||
(known_cond, nonzero_bits, num_sign_bit_copies): Likewise.
|
||
(merge_outer_ops, simplify_shift_const, simplify_comparison): Likewise.
|
||
(reversible_comparison_p, mark_used_regs_combine): Likewise.
|
||
* convert.c (convert_to_integer): Likewise.
|
||
* cse.c (canon_hash, exp_equiv_p): Likewise.
|
||
(set_nonvarying_address_components, canon_reg): Likewise.
|
||
(simplify_unary_operation, simplify_plus_minus): Likewise.
|
||
(simplify_relational_operation, fold_rtx): Likewise.
|
||
(cse_process_note, count_reg_usage): Likewise.
|
||
* dbxout.c (dbxout_symbol): Likewise.
|
||
* dwarf2out.c (lookup_cfa_1, print_die): Likewise.
|
||
* emit_rtl.c (copy_rtx_if_shared, reset_used_flags): Likewise.
|
||
* explow.c (plus_constant_wide, convert_memory_address): Likewise.
|
||
(promote_mode, emit_stack_save, emit_stack_restore): Likewise.
|
||
* expmed.c (expand_divmod, emit_store_flag): Likewise.
|
||
* expr.c (queued_subexp_p, is_zeros_p, safe_from_p): Likewise.
|
||
(bc_expand_expr, preexpand_calls, convert_move): Likewise.
|
||
* final.c (get_attr_length, final_scan_insn): Likewise.
|
||
(walk_alter_subreg, alter_cond): Likewise.
|
||
* flow.c (jmp_uses_reg_or_mem, mark_used_regs): Likewise.
|
||
* fold-const.c (operand_equal_p, twoval_comparison_p): Likewise.
|
||
(eval_subst, invert_truthvalue, range_binop): Likewise.
|
||
(make_range, fold): Likewise.
|
||
* function.c (fixup_var_refs_1, instantiate_virtual_regs_1): Likewise.
|
||
* genattrtab.c (attr_copy_rtx, make_canonical): Likewise.
|
||
(encode_units_mask, simplify_test_exp): Likewise.
|
||
(find_and_mark_used_attributes, write_test_expr): Likewise.
|
||
(simplify_with_current_value_aux, clear_struct_flag): Likewise.
|
||
(count_sub_rtxs, gen_insn walk_attr_value): Likewise.
|
||
(copy_rtx_unchanging): Likewise.
|
||
* genconfig.c (walk_insn_part): Likewise.
|
||
* genextract.c (walk_rtx): Likewise.
|
||
* genoutput.c (scan_operands): Likewise.
|
||
* genpeep.c (match_rtx): Likewise.
|
||
* genrecog.c (add_to_sequence): Likewise.
|
||
* integrate.c (copy_for_inline, copy_rtx_and_substitute): Likewise.
|
||
(subst_constants): Likewise.
|
||
* jump.c (duplicate_loop_exit_test, comparison_dominates_p): Likewise.
|
||
(mark_jump_label, rtx_renumbered_equal_p): Likewise.
|
||
(rtx_equal_for_thread_p): Likewise.
|
||
* local-alloc.c (memref_referenced_p): Likewise.
|
||
* loop.c (record_excess_regs, reg_in_basic_block_p): Likewise.
|
||
(get_condition, replace_call_address): Likewise.
|
||
(count_nonfixed_reads, find_and_verify_loops, find_mem_givs): Likewise.
|
||
(maybe_eliminate_biv_1, invariant_p, simplify_giv_expr): Likewise.
|
||
* optabs.c (emit_float_lib_cmp): Likewise.
|
||
* print-tree.c (print_node): Likewise.
|
||
* recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
|
||
* reload.c (subst_reg_equivs, find_reloads_address_1): Likewise.
|
||
(refers_to_regno_for_reload_p, find_equiv_reg): Likewise.
|
||
* reload1.c (set_label_offsets, eliminate_regs): Likewise.
|
||
(scan_paradoxical_subregs, count_occurrences): Likewise.
|
||
* rtl.c (copy_rtx, copy_most_rtx): Likewise.
|
||
* rtlanal.c (rtx_varies_p, rtx_addr_can_trap_p): Likewise.
|
||
(reg_mentioned_p, reg_referenced_p, modified_between_p): Likewise.
|
||
(modified_in_p, refers_to_regno_p, volatile_insn_p): Likewise.
|
||
(volatile_refs_p, side_effects_p): Likewise.
|
||
(inequality_comparison_p, replace_regs): Likewise.
|
||
* sched.c (sched_analyze_2): Likewise.
|
||
* stmt.c (expand_return): Likewise.
|
||
* tree.c (staticp, unsave_expr_now, contains_placeholder_p): Likewise.
|
||
(substitute_in_expr, build_type_attribute_variant): Likewise.
|
||
(simple_cst_equal): Likewise.
|
||
* unroll.c (remap_split_bivs): Likewise.
|
||
* varasm.c (const_hash, compare_constant_1): Likewise.
|
||
(decode_rtx_const, output_addressed_constants): Likewise.
|
||
(output_constant): Likewise.
|
||
* print-tree.c (print_node): Convert switch with one case into an if.
|
||
* sched.c (memrefs_conflict_p): Likewise.
|
||
* genrecog.c (write_tree_1): Output default case for every switch.
|
||
|
||
* profile.c (output_arc_profiler) [SMALL_REGISTER_CLASSES]:
|
||
Apply PATTERN only to insns.
|
||
|
||
Thu Aug 7 06:13:20 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386/t-sco5 (libgcc2-elf.a): Resync with Makefile.in.
|
||
|
||
Wed Aug 6 19:28:05 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (build_abbrev_table): Use xrealloc not xmalloc.
|
||
|
||
Wed Aug 6 12:57:24 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (output_call_frame_info): Always emit the info.
|
||
(dwarf2out_frame_debug): We can initialize the temp reg in the
|
||
epilogue, too.
|
||
|
||
* rtl.def: Add ADDRESSOF.
|
||
* rtl.h (ADDRESSOF_TYPE, SET_ADDRESSOF_TYPE): New macros.
|
||
* Makefile.in (mostlyclean): Remove *.addressof.
|
||
* toplev.c (rest_of_compilation): Set DECL_DEFER_OUTPUT on
|
||
non-nested inlines. Run purge_addressof after CSE.
|
||
(various): Add .addressof RTL dump file.
|
||
* rtl.c (copy_rtx): No need to copy ADDRESSOF.
|
||
* reload1.c (eliminate_regs): Elide ADDRESSOF.
|
||
* recog.c (general_operand): (MEM (ADDRESSOF ())) is a valid operand.
|
||
So is (ADDRESSOF ()).
|
||
(memory_address_p): (ADDRESSOF ()) is a valid memory address.
|
||
* integrate.c (expand_inline_function): If the structure_value_addr
|
||
is an ADDRESSOF, we can use it as a constant.
|
||
(copy_rtx_and_substitute): Copy a '0' operand over unchanged.
|
||
* function.c (fixup_var_refs_1): Remove (ADDRESSOF (MEM ())).
|
||
(gen_mem_addressof): New fn.
|
||
(put_addressof_into_stack): New fn.
|
||
(purge_addressof_1): New fn.
|
||
(purge_addressof): New fn.
|
||
(instantiate_decl): Don't bother looking into an ADDRESSOF.
|
||
(put_var_into_stack): Call gen_mem_addressof for local REGs instead
|
||
of calling put_reg_into_stack.
|
||
* expr.c (expand_expr, case TARGET_EXPR): Put the temp in a register
|
||
if it will fit.
|
||
(expand_expr, case ADDR_EXPR): Call gen_mem_addressof to take the
|
||
address of a REG.
|
||
* explow.c (memory_address): An ADDRESSOF is a valid memory address.
|
||
* dwarfout.c (location_or_const_value_attribute): Handle ADDRESSOF.
|
||
* dwarf2out.c (add_location_or_const_value_attribute): Handle
|
||
ADDRESSOF.
|
||
* cse.c (FIXED_BASE_PLUS_P): Add ADDRESSOF.
|
||
(NONZERO_BASE_PLUS_P): Add ADDRESSOF.
|
||
(canon_hash): Ignore '0' operands.
|
||
(find_best_addr): Don't try to replace an ADDRESSOF.
|
||
(fold_rtx): If our address has a const equiv of an ADDRESSOF, use it.
|
||
* calls.c (expand_call): Put the struct value in a register if
|
||
it fits.
|
||
|
||
Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* mips.c (function_arg): Handle passing a struct
|
||
containing a double in a DFmode register without the PARALLEL.
|
||
|
||
Tue Aug 5 12:27:31 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.in (sparc-*-solaris2): Set float_format to i128.
|
||
* config/float-i128.h: New file.
|
||
|
||
Mon Aug 4 17:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* combine.c (try_combine): If have PARALLEL of independent SETs
|
||
and have cc0, ensure insn using CC0 come first.
|
||
|
||
Mon Aug 4 15:22:41 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Undef for System V
|
||
environments.
|
||
|
||
Mon Aug 4 12:34:41 1997 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* configure.in (arm-*-aout): Set tmake_file correctly.
|
||
|
||
Mon Aug 4 08:06:48 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload.c (find_reloads_address_1): Don't pass VOIDmode for an
|
||
integer argument of push_reload.
|
||
|
||
* rtlanal.c (may_trap_p): Fix unintended fall-through so divisions by
|
||
non-zero constants are handled properly. Return 1 for FP divisions.
|
||
|
||
Mon Aug 4 06:52:20 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-common.c (check_format_info): Store each flag character only
|
||
once in the flag_chars array.
|
||
|
||
Sun Aug 3 21:57:31 1997 Jim Meyering <meyering@eng.ascend.com>
|
||
|
||
* objc/Make-lang.in (objc/*.o): Depend on $(GCC_PASSES).
|
||
|
||
Sun Aug 3 21:54:51 1997 Nick Burrett <n.a.burrett@btinternet.com>
|
||
|
||
* cpplib.c (cpp_start_read): Recognise suffixes 'cp' and 'c++'.
|
||
|
||
Sun Aug 3 19:18:27 1997 Ralf Baechle <ralf@uni-koblenz.de>
|
||
|
||
* Makefile.in (mostlyclean): Remove libgcc1-test.
|
||
|
||
Sun Aug 3 19:10:27 1997 Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>
|
||
|
||
* Makefile.in (T): Move to place where it can be overridden.
|
||
(install_common): Fix permissions of specs and EXTRA_PARTS files.
|
||
|
||
Sun Aug 3 19:07:04 1997 Jan-Jaap van der Heijden <J.J.vanderHeijden@student.utwente.nl>
|
||
|
||
* gcc.c (default_compilers): Add default entries for Pascal.
|
||
|
||
Sun Aug 3 18:38:41 1997 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_return_addr): New function.
|
||
(output_epilog): Zero alpha_return_addr_rtx.
|
||
* alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
|
||
|
||
Sun Aug 3 17:27:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* Makefile.in (INSTALL): Build in $(srcdir).
|
||
|
||
* config/linux.h (DEFAULT_VTABLE_THUNKS): New macro.
|
||
|
||
Sun Aug 3 17:18:31 1997 Richard Earnshaw (rearnshaw@cambridge.arm.com)
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_RETURN_ADDRESS): Emit warning
|
||
if return address cannot be determined.
|
||
|
||
Sun Aug 3 17:04:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* stupid.c (stupid_life_analysis): If function receives non-local
|
||
goto, don't let any registers live across calls.
|
||
|
||
* fold-const.c (merge_ranges): Make sure that if one range is subset
|
||
of another, it will always be the second range. Correct (+,-) case to
|
||
account for this.
|
||
|
||
Sun Aug 3 16:48:30 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* c-lex.c (yylex): Remove duplicate check on high bit before
|
||
invoking int_fits_type_p.
|
||
|
||
Sun Aug 3 16:44:41 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload.c (find_equiv_reg): If goal is a pseudo that got memory, a
|
||
store into memory makes it invalid. This was handled in the single
|
||
set case, but missing in the PARALLEL case.
|
||
|
||
Sun Aug 3 09:13:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (store_field): Return quickly if EXP is ERROR_MARK.
|
||
|
||
* c-typeck.c (unary_complex_lvalue): Don't warn about COMPOUND_EXPR
|
||
or COND_EXPR if FUNCTION_TYPE.
|
||
|
||
* alpha.h (ASM_SPEC): Add -O0.
|
||
|
||
* expr.h (clear_storage): Now returns rtx.
|
||
(emit_block_move): Likewise; delete duplicate declaration.
|
||
* expr.c (clear_storage, emit_block_move): Return address of
|
||
dest if calling memset/memcpy.
|
||
(expand_builtin, BUILT_IN_MEM{CPY,SET}): Return value from
|
||
clear_storage or emit_block_move if present.
|
||
|
||
* c-decl.c (start_function): Reset immediate_size_expand on
|
||
error return.
|
||
|
||
Sat Aug 2 18:50:43 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* tree.c (int_fits_type_p): Negative ints never fit unsigned
|
||
types, and unsigned ints with top-bit-set never fit signed types.
|
||
|
||
Sat Aug 2 16:25:43 1997 Per Bothner <bothner@frobnitz.gnu.ai.mit.edu>
|
||
|
||
* Makefile.in (EXTRA_C_OBJS): Removed.
|
||
(C_AND_OBJC_OBJS): New. Subsumes EXTRA_C_OBJS and OBJC_CCOMMON.
|
||
* objc/Make-lang.in (OBJC_CCOMMON): Removed.
|
||
|
||
Sat Aug 2 16:11:57 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.in: Build .gdbinit for top level build dir here.
|
||
(AC_OUTPUT): Pass oldstyle_subdirs to configure.lang.
|
||
* configure.lang: Fix building of .gdbinit for oldstyle lang subdirs.
|
||
|
||
Sat Aug 2 13:48:15 1997 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* cse.c (cse_insn): Ignore paradoxical SUBREGs unless we are
|
||
looking for such.
|
||
|
||
Sat Aug 2 13:25:33 1997 Tristan Gingold (gingold@email.enst.fr)
|
||
|
||
* calls.c (expand_call): If -fcheck-memory-usage, use pseudo-register,
|
||
check indirectly called function is executable, and set rights of
|
||
memory for aggregate as write only.
|
||
(store_one_arg): If -fcheck-memory-usage, set rights for pushed
|
||
stack argument.
|
||
* c-decl.c (init_decl_processing): Add
|
||
__builtin_aggregate_incoming_address.
|
||
* explow.c (expr_size): Call expand_expr with appropriate flag.
|
||
* expr.c (expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS):
|
||
New case.
|
||
(expand_assignment, expand_expr, emit_push_insn, store_expr):
|
||
Insert calls to chkr_check_addr, chkr_set_right, and chkr_copy_bitmap
|
||
when -fcheck-memory-usage.
|
||
(get_push_address, get_memory_usage_from_modifier): New functions.
|
||
* expr.h: Add expand_modifier flags.
|
||
(chkr_*_libfunc): New decls.
|
||
(memory_use_mode): New declaration.
|
||
* flags.h (flag_check_memory_usage, flag_prefix_function_name): New
|
||
declaration.
|
||
* function.c (put_var_into_stack, assign_parms): If
|
||
-fcheck-memory-usage, set the rights of pushed variable.
|
||
* optabs.c (chkr_{check_addr,set_right}_libfunc): New definitions.
|
||
(chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
|
||
(init_optabs): Initialize these chkr_*_libfunc.
|
||
* stmt.c (expand_computed_goto): If -fcheck-memory-usage, check that
|
||
computed address of a goto is executable.
|
||
(expand_asm, expand_asm_operands): If -fcheck-memory-usage,
|
||
disallow asm statments.
|
||
* toplev.c (flag_check_memory_usage, flag_prefix_function_name): New
|
||
variable.
|
||
(f_options): Add `check-memory-usage' and `prefix_function_name'.
|
||
(main): Disable `-fomit-frame-pointer' if `-fcheck-memory-usage' is set
|
||
and the machine can't debug without the frame pointer.
|
||
* tree.h (built_in_function): Add BUILT_IN_AGGREGATE_INCOMING_ADDRESS.
|
||
* varasm.c (make_function_rtl, make_decl_rtl): Add a prefix when
|
||
flag_prefix_function_name_usage is set.
|
||
(assemble_name): Strip the CHKR_PREFIX.
|
||
* alpha.c (alpha_builtin_saveregs): If -fcheck-memory-usage,
|
||
set rights of saved registers.
|
||
* clipper.c (clipper_builtin_saveregs): Likewise.
|
||
* m88k.c (m88k_builtin_saveregs): Likewise.
|
||
* pa.c (hppa_builtin_saveregs): Likewise.
|
||
* sparc.c (sparc_builtin_saveregs): Likewise.
|
||
|
||
Sat Aug 2 08:01:12 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* c-decl.c (grokdeclarator): Give error for `long double' and
|
||
refine text of some error messages.
|
||
|
||
* alpha.h (FLOAT_VALUE_TYPE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE): Define.
|
||
* i860.h (FLOAT_VALUE_TYPE): Fix typo; was FLOAT_TYPE_VALLUE.
|
||
|
||
* calls.c (store_one_arg): Allow stack_slot to be SP in
|
||
ARGS_GROW_DOWNWARD case.
|
||
|
||
* c-decl.c (parmlist_tags_warning): Only suppress warning on
|
||
union if anonymous.
|
||
|
||
* libgcc2.c (_trampoline): Rework last change; both getpagesize
|
||
and mprotect are in cygwin32.
|
||
|
||
* reload1.c (reload): Add IN_ADDR to IN_ADDR_ADDR when computing
|
||
needs since they conflict.
|
||
|
||
* print-rtl.c (indent): Move to file level; was static in print_rtx.
|
||
(print_inline_rtx): New function.
|
||
* reload.c (debug_reload): Rework to make output more compact.
|
||
|
||
* dwarfout.c (output_compile_unit_die): Add support for Pascal.
|
||
* dwarf2out.c (gen_compile_unit_die): Likewise.
|
||
|
||
* c-typeck.c (lvalue_p, case BIND_EXPR, RTL_EXPR): Return 1 if array.
|
||
|
||
* Makefile.in (OBJC_OBJC): Delete from here.
|
||
|
||
* varasm.c (compare_constant_1, case STRING_CST): Compare TYPE_MODE.
|
||
(record_constant_1, case STRING_CST): Record TYPE_MODE.
|
||
|
||
* tree.c (contains_this_placeholder_p): Delete.
|
||
(contains_placeholder_p): Now contains code from above function.
|
||
(contains_placeholder_p, case 'r'): Don't look at offset info.
|
||
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Find innermost
|
||
matching and don't check contains_placeholder_p.
|
||
|
||
Fri Aug 1 17:15:07 1997 Per Bothner <bothner@cygnus.com>
|
||
|
||
* objc/objc-act.c (lang_init): Don't check_newline #if USE_CPPLIB.
|
||
* c-lex.c (lang_init): Remove (recently moved here).
|
||
* c-lang.c (lang_init): Restore, but add #if !USE_CPPLIB.
|
||
|
||
Fri Aug 1 11:26:45 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (pa_reorg): Explode ADDR_DIFF_VEC insns too.
|
||
|
||
Thu Jul 31 19:37:22 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* libgcc2.c (getpagesize): Don't compile if __CYGWIN32__.
|
||
|
||
Thu Jul 31 16:04:42 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (output_to_reg, output_fix_trunc): Use scratch memory,
|
||
if available, instead of dynamically extending the stack.
|
||
(put_condition_code, print_operand): Added reverse_cc to reverse the
|
||
comparison when $ah is accessed directly instead of using eflags
|
||
|
||
* i386.md (*trunc*): Use scratch memory for output_fix_trunc.
|
||
(movsicc_1, movhicc_1) Change alternative 3 to:
|
||
jCC L1; mov; jmp L2; L1:mov; L2:
|
||
(movsfcc, movdfcc, movxfcc): Force constant operands to memory.
|
||
(movsfcc_1, movdfcc_1, movxfcc_1): Change alternative 3 as above.
|
||
|
||
Thu Jul 31 16:04:42 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386.h (MAX_FIXED_MODE_SIZE): Define.
|
||
|
||
Thu Jul 31 16:04:42 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386/sco5.h (SWITCHES_NEED_SPACES) Define.
|
||
Required by the COFF (but not ELF) linker.
|
||
|
||
Wed Jul 30 15:03:52 1997 Per Bothner <bothner@cygnus.com>
|
||
|
||
* demangle.h (DMGL_JAVA): New option to request Java demangling.
|
||
* cplus-dem.c: Various changes to produce Java output when passed
|
||
DMGL_JAVA. Thus "::" becomes "." and "JArray<Foo>" becomes "Foo[]".
|
||
(main): Support --java and -j flags to set DMGL_JAVA.
|
||
|
||
Wed Jul 30 08:56:08 1997 Philip Blundell <Philip.Blundell@pobox.com>
|
||
|
||
* configure.in (arm-*-*): Replace with arm-*-aout.
|
||
* arm/aout.h (SET_ASM_OP): Define by default.
|
||
* arm/riscix.h (SET_ASM_OP: Undefine.
|
||
* arm.h (CPP_SPEC): Add %(subtarget_cpp_spec).
|
||
(SUBTARGET_CPP_SPEC): New macro.
|
||
* arm/linux.h: Include aout.h rather than arm.h directly.
|
||
(TARGET_CPU_DEFAULT): Define.
|
||
({ASM,CPP}_SPEC): Remove.
|
||
* arm/t-linux (MULTILIB_OPTIONS): Use -mapcs-NN instead of -mN.
|
||
(LIB1ASMSRC): Use generic ARM version.
|
||
(CROSS_LIBGCC1): Define.
|
||
* arm/lib1funcs-linux.asm: Remove.
|
||
|
||
Tue Jul 29 17:57:47 1997 Per Bothner <bothner@cygnus.com>
|
||
|
||
* Add hooks for using autconf-style Makefile.in in language subdirs.
|
||
* configure.in (all_outputs, oldstyle_subdirs): New variables.
|
||
Pass all_outputs to AC_OUTPUT.
|
||
* configure.lang: Only iterate over oldstyle_subdirs.
|
||
|
||
* Patches to use cpplib with cc1 #if USE_CPPLIB.
|
||
* configure.in (--enable-c-cpplib): New option.
|
||
(extra_c_flags, extra_c_objs): New variables.
|
||
* Makefile.in (EXTRA_C_OBJS): New variable.
|
||
(INTERNAL_CFLAGS): Add @extra_c_flags@.
|
||
(C_OBJS): Add $(EXTRA_C_OBJS).
|
||
* c-lex.c (generally): Replace getc and ungetc by macros GETC and
|
||
UNGETC. Avoid explicit references to finput.
|
||
(yy_get_token): New function, that calls cpp_get_token.
|
||
(init_parse): New function - calls init_lex.
|
||
(finish_parse): New function (called by compile_file).
|
||
(GET_DIRECTIVE_LINE): New macro wrapper replaces get_directive_line.
|
||
(lang_init): Don't check_newline - already know main_input_filename.
|
||
(handle_sysv_pragma): Remove FILE* parameter.
|
||
* toplev.c (finput): Remove #if USE_CPPLIB.
|
||
(compile_file): #if USE_CPPLIB don't open input file here,
|
||
do it in cpp_start_read. Call init_parse instead of init_lex.
|
||
At end, call finish_parse instead of fclose(finput).
|
||
|
||
Mon Jul 28 15:48:29 1997 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* integrate.c (expand_inline_function): Use xmalloc instead of
|
||
alloca for the LABEL_MAP.
|
||
(save_for_inline_copying): Likewise.
|
||
|
||
Mon Jul 28 11:22:16 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (compile_file): Also emit any deferred TREE_PUBLIC inlines.
|
||
(rest_of_compilation): Use decl_printable_name instead of DECL_NAME
|
||
to identify functions in the RTL dump files.
|
||
|
||
* dwarf2out.c (add_location_or_const_value_attribute):
|
||
leaf_renumber_regs_insn. Also eliminate_regs here.
|
||
(add_AT_location_description): Not here. Don't emit anything
|
||
for a variable that has been optimized away.
|
||
(add_const_value_attribute): Likewise.
|
||
|
||
* dwarfout.c (location_or_const_value_attribute):
|
||
leaf_renumber_regs_insn. Also eliminate_regs here.
|
||
(location_attribute): Not here.
|
||
|
||
* stor-layout.c (layout_type): Fix ancient code to match ancient
|
||
comment. Use mode of field for one-field structs.
|
||
|
||
Sun Jul 27 12:09:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* function.c (put_var_into_stack, trampoline_address): Treat
|
||
inline_function_decl like current_function_decl.
|
||
* expr.c (expand_expr, case LABEL_DECL): Likewise.
|
||
(expand_expr, case SAVE_EXPR): Handle top-level SAVE_EXPR by
|
||
moving into current function; abort if in incorrect context.
|
||
* fold-const.c (fold_range_test, fold): Avoid making SAVE_EXPR
|
||
if at top level.
|
||
|
||
* dwarfout.c (ASM_OUTPUT_SOURCE_FILENAME): Delete default value.
|
||
|
||
* alpha.h (TARGET_SWITCHES): Add -mno-byte.
|
||
|
||
* expr.c (get_inner_unaligned_p): Deleted.
|
||
(expand_assignment): Remove special-case of constant array.
|
||
(expand_expr, case ARRAY_REF): Likewise, and clean up remaining code.
|
||
|
||
* explow.c (probe_stack_range): Do probing with loop if more
|
||
than a small number.
|
||
|
||
Fri Jul 25 15:42:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* configure.in: Finish fixing calculation if default thread
|
||
support is enabled.
|
||
|
||
Fri Jul 25 15:30:09 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* Makefile.in (native): Depend on config.h.
|
||
(gcc.o): Depend on Makefile, not config.status.
|
||
|
||
Fri Jul 25 10:56:50 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode
|
||
ADDR_VEC insns. Slightly rework code which explodes ADDR_VEC
|
||
insns.
|
||
* pa.h (TARGET_BIG_SWITCH): Define.
|
||
(TARGET_SWITCHES): Add "big-switch" and "no-big-switch".
|
||
(CASE_VECTOR_MODE): Use TI or DI depending on TARGET_BIG_SWITCH.
|
||
(CASE_DROPS_THROUGH): Remove definition.
|
||
(ASM_OUTPUT_ADDR_VEC_ELT): Rewrite to handle TARGET_BIG_SWITCH.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
|
||
* pa.md (casesi): Rework to avoid some potential long branch
|
||
problems (also makes generated code faster!). Handle
|
||
TARGET_BIG_SWITCH.
|
||
(casesi0): Corresponding changes.
|
||
|
||
Fri Jul 25 08:36:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* calls.c: (expand_call): If -fstack-check and temp needed
|
||
for arg is too large, use alloca.
|
||
* expr.c (expand_expr, case MODIFY_EXPR): Don't preexpand calls
|
||
if LHS is an indirect via a constant pointer.
|
||
|
||
Thu Jul 24 21:49:11 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* bitmap.c (bitmap_operation): Reset CURRENT on deferred deletion.
|
||
|
||
Wed Jul 23 23:52:14 1997 Chris Smith <csmith@convex.hp.com>
|
||
|
||
* convex.h (CHECK_FLOAT_VALUE): Fix OVERFLOW capitalization.
|
||
|
||
Wed Jul 23 13:00:47 1997 Richard Earnshaw <rearnsha@cambridge.arm.com>
|
||
|
||
* configure.in (arm-*-netbsd*): Fix typo setting tmake_file.
|
||
|
||
Wed Jul 23 06:39:35 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure.in (alpha*): Put quotes around MASK_GAS.
|
||
|
||
Tue Jul 22 15:24:45 1997 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* tree.c (array_type_nelts): Make sure the domain of TYPE is set
|
||
before we try to use it.
|
||
|
||
Tue Jul 22 12:26:13 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.c (gen_v9_scc): Handle early clobber of result.
|
||
* sparc.md (seqdi_special): Don't clobber %xcc.
|
||
(snedi_special, seqdi_special_trunc, snedi_special_trunc): Likewise.
|
||
(snedi_zero, neg_snedi_zero, seqdi_zero, neg_seqdi_zero): Likewise.
|
||
(snedi_zero_trunc, seqdi_zero_trunc): Likewise. Renamed from ..._sp64.
|
||
(snedi_zero_trunc_sp32, seqdi_zero_trunc_sp32): Delete.
|
||
|
||
* Makefile.in (Makefile): Pass xmake_file, tmake_file to
|
||
configure.frag
|
||
(distclean): Delete Make-host, Make-target.
|
||
* configure.in (host_overrides): Set to Make-host.
|
||
(dep_host_xmakefile): Loop over all elements in host_make_file.
|
||
(target_overrides): Set to Make-target.
|
||
(dep_tmake_file): Loop over all elements in tmake_file.
|
||
(configure.frag): Pass dep_host_xmake_file, dep_tmake_file.
|
||
* configure.frag: New arguments xmake_files, tmake_files.
|
||
Build Make-host, Make-target.
|
||
|
||
Mon Jul 21 23:17:44 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* objc/Make-lang.in, objc/Makefile.in: Comment out lines containing
|
||
just formfeeds.
|
||
|
||
Mon Jul 21 14:05:46 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* Makefile.in (Makefile): Depend on config.status instead
|
||
of configure.
|
||
(config.status): Depend on configure. Run config.status --recheck
|
||
if out of date.
|
||
(cstamp-h.in): Use echo instead of touch.
|
||
|
||
* reload1.c (reload_cse_mem_conflict_p): Restore handling of
|
||
(mem:BLK const0_rtx) meaning all memory is clobbered.
|
||
|
||
Mon Jul 21 06:20:10 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.md (iorsi_zexthi_ashl16): Mark output operand as earlyclobber.
|
||
|
||
Sun Jul 20 06:11:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure.in (alpha*-*-*): Set cpu_type to alpha.
|
||
Change "alpha-" to "alpha*-" in all entries.
|
||
Set target_cpu_default for ev5 and ev56 systems.
|
||
Use symbolic names for target_cpu_default.
|
||
* alpha.c (override_options): Set default for alpha_cpu
|
||
from TARGET_CPU_DEFAULT.
|
||
* alpha.h (MASK_CPU_EV5): New macro.
|
||
|
||
* tree.c (contains_placeholder_p): Call contains_this_placeholder_p.
|
||
(contains_this_placeholder_p): Renamed from contains_placeholder_p.
|
||
Added new arg, PL.
|
||
Rework to make more consistent, check more codes, and avoid
|
||
undefined fields.
|
||
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Pick outermost
|
||
object in placeholder_list of right type without a PLACEHOLDER_EXPR.
|
||
|
||
Sat Jul 19 18:00:01 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha.c (override_options): Allow processor of ev56 or 21164a.
|
||
(input_operand, case MEM): Correct test involving TARGET_BYTE_OPS.
|
||
* alpha.h (SECONDARY_{IN,OUT}PUT_RELOAD_CLASS): Don't need for
|
||
QImode or HImode if TARGET_BYTE_OPS.
|
||
(ASM_FILE_START): Write a .arch directive.
|
||
(STACK_CHECK_BUILTIN): New macro.
|
||
* alpha.md ({zero_,}extend[qh]i[dsh]i2): Rework TARGET_BYTE_OPS cases.
|
||
(mov[hq]i): Likewise.
|
||
(extend[qh]i[hsd]i2x): Add missing cases and fix typo in constraint.
|
||
(reload_{in,out}[qh]i): Disable for TARGET_BYTE_OPS.
|
||
|
||
Fri Jul 18 23:24:57 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (make_decl_rtl): Don't use ASM_FORMAT_PRIVATE_NAME for
|
||
local decls with TREE_PUBLIC set.
|
||
(bc_make_decl_rtl): Likewise.
|
||
|
||
Fri Jul 18 22:16:28 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.in: Invoke AC_CONFIG_HEADER.
|
||
Check for string.h, strings.h, stdlib.h, time.h, unistd.h.
|
||
Check for whether malloc/realloc/free need to be declared.
|
||
(links): Rename config.h to config2.h.
|
||
(AC_OUTPUT): Create cstamp-h.
|
||
* Makefile.in (config.in,cstamp-h.in): Add rules for.
|
||
(config.h,cstamp-h): Add rules for.
|
||
(distclean): Delete config2.h, cstamp-h.
|
||
(ALL_CFLAGS): Add @DEFS@.
|
||
* aclocal.m4, acconfig.h: New files.
|
||
|
||
* Makefile.in (distclean): Delete Make-host, Make-target.
|
||
* configure.in (host_overrides): Set to host_xmake_file, don't create
|
||
Make-host.
|
||
(target_overrides): Set to tmake_file, don't create Make-target.
|
||
(language subdir support): Keep together.
|
||
|
||
* c-decl.c (duplicate_decls): Set DECL_ABSTRACT_ORIGIN to olddecl
|
||
if inline function and not new definition.
|
||
|
||
* configure.in: Don't loop trying to configure language subdirs.
|
||
Don't pass to configure.lang variables it doesn't use.
|
||
* configure.lang: Delete top level directory from loop.
|
||
Delete code not useful for language subdirs.
|
||
|
||
Fri Jul 18 08:12:53 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* toplev.c (rest_of_compilation): Call reload_cse_regs here.
|
||
* reload1.c (reload): Don't call it here.
|
||
(reload_cse_mem_conflict_p): Remove MEM_OFFSET and MEM_MODE args.
|
||
(reload_cse_mem_conflict_p, case MEM): Call anti_dependence.
|
||
(reload_cse_invalidate_mem): Update call to reload_cse_mem_conflict_p.
|
||
(reload_cse_regs): No longer static.
|
||
Call init_alias_analysis.
|
||
Ignore CLOBBER in a PARALLEL.
|
||
|
||
Fri Jul 18 06:44:22 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* objc/Make-lang.in (objc-headers): Fix command for the new build
|
||
directory layout, don't pass srcdir variable.
|
||
* objc/Makefile.in (copy-headers): Use $(srcdir) from this
|
||
makefile, not the parent's.
|
||
|
||
Thu Jul 17 16:03:03 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.lang (EXTRA_HEADERS,EXTRA_PASSES,EXTRA_PARTS): Delete.
|
||
(EXTRA_PROGRAMS,EXTRA_OBJS,EXTRA_GCC_OBJS,MD_DEPS): Delete.
|
||
(version) Delete duplicate entry.
|
||
* configure.in (merged_frags): Delete unused variable.
|
||
(extra_headers_list): Move setting outside of subdir loop.
|
||
(extra_headers,extra_passes): Don't pass to configure.lang.
|
||
(extra_programs,extra_parts,extra_objs): Likewise.
|
||
(host_extra_gcc_objs,gxx_include_dir,md_cppflags): Likewise.
|
||
|
||
Thu Jul 17 07:00:43 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.h (STACK_CHECK_*): Provide default values.
|
||
(probe_stack_range): New declaration.
|
||
* flags.h (flag_stack_check): Likewise.
|
||
* explow.c (allocate_dynamic_stack_space): Call probe_stack_range.
|
||
(emit_stack_probe, probe_stack_range): New functions.
|
||
* function.c (expand_function_end): If function is non-leaf and stack
|
||
checking is requested, emit needed probes.
|
||
* reload1.c (reload): If checking stack, verify frame small enough.
|
||
* stmt.c (expand_decl): If stack checking, use alloca for large vars.
|
||
* toplev.c (flag_stack_check): New variable.
|
||
(f_options): Add "stack-check".
|
||
|
||
* reorg.c (mark_target_live_regs): Pass FIRST_PSEUDO_REGISTER to
|
||
call to EXECUTE_IF_SET_IN_REG_SET.
|
||
|
||
Wed Jul 16 14:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i960.h (ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Use standard method to convert ALIGN
|
||
to power-of-two of bytes.
|
||
|
||
* sparc.h (ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
* sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Undef before definition.
|
||
|
||
Wed Jul 16 14:34:09 1997 Klaus Espenlaub (kespenla@hydra.informatik.uni-ulm.de)
|
||
|
||
* calls.c (emit_library_call_value): Initialize all argvec elements.
|
||
|
||
Wed Jul 16 14:31:39 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* global.c (global_conflicts): Pass FIRST_PSEUDO_REGISTER to
|
||
call to EXECUTE_IF_SET_IN_REG_SET.
|
||
|
||
Wed Jul 16 10:57:03 1997 Richard Earnshaw (rearnsha@cambridge.arm.com)
|
||
|
||
* From Rob Black (r.black@ic.ac.uk) and Mark Brinicombe
|
||
(amb@physig.ph.kcl.ac.uk):
|
||
* configure.in (arm-*-netbsd*): New configuration.
|
||
* arm/netbsd.h, arm/t-netbsd, arm/xm-netbsd.h: New files.
|
||
|
||
Wed Jul 16 10:57:03 1997 Richard Earnshaw (rearnsha@cambridge.arm.com)
|
||
|
||
* arm.c (tune_flags): New variable.
|
||
(target_{cpu,fpe}_name): Delete.
|
||
(arm_fpu_arch): New variable.
|
||
(arm_select): Also allow -march=... to configure just the
|
||
architecture.
|
||
(all_procs): Allow armv{2,2a,3,3m,4,4t} for use with -march=.
|
||
(arm_override_options): Handle -march=, but don't let -mcpu=
|
||
and -mtune= match the architecture names, since we can only
|
||
tune for an implementation. Rework selection of tuning options
|
||
for floating point.
|
||
(use_return_insn): Support interworking with Thumb code.
|
||
(arm_rtx_costs): Rework multiply costs so that cost is based on
|
||
the tune, not the architecture.
|
||
(f_register_operand): New function.
|
||
(output_return_instruction): Support interworking with Thumb code.
|
||
(output_func_epilogue): Support interworking with Thumb code.
|
||
Remove redundant calculation of code_size. Use floating-point
|
||
load-multiples if permitted.
|
||
(emit_sfm): New function.
|
||
(arm_expand_prologue): Use floating-point store-multiples if
|
||
permitted.
|
||
|
||
* arm.h (CPP_CPU_ARCH_SPEC): Handle -march=...
|
||
(TARGET_OPTIONS): Add arch= and fp=. Delete fpe=.
|
||
(enum processor_type): Add PROCESSOR_NONE, for use in all_procs table.
|
||
(FP_DEFAULT): Default floating point architecture for generic
|
||
back-end.
|
||
(PREDICATE_CODES): Add f_register_operand.
|
||
|
||
* arm.md (*push_fp_multi): New pattern.
|
||
|
||
|
||
Tue Jul 15 22:08:47 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (exeext): Set to build_exeext not exeext.
|
||
* configure.in (exeext): Delete redundant set and AC_SUBST call.
|
||
Change remaining AC_SUBST to use build_exeext instead of exeext.
|
||
|
||
Tue Jul 15 15:48:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* configure.in: Fix calculation if default thread support is enabled.
|
||
|
||
Tue Jul 15 13:38:46 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* rtl.h (replace_regs): Declare.
|
||
|
||
Mon Jul 14 16:18:19 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i960.h (ASM_OUTPUT_MI_THUNK): Define.
|
||
|
||
* dwarf2out.c (gen_subprogram_die): Remove unreachable and redundant
|
||
code.
|
||
|
||
Mon Jul 14 14:22:45 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* calls.c (emit_library_call): Use right index into argvec array
|
||
when iterating over arguments which need to be pushed on the stack.
|
||
(emit_library_call_value): Likewise.
|
||
|
||
Mon Jul 14 08:17:41 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* gcc.c (convert_filename): Fix typo.
|
||
|
||
Mon Jul 14 08:10:12 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* configure.in: Clear headers and lib2funcs before re-reading
|
||
config-lang.in.
|
||
|
||
* m68k/linux.h (LINK_SPEC): Fix last change.
|
||
|
||
Mon Jul 14 08:03:38 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* configure.in (sparc-*-linux-gnu{*,libc1*}): Add sparc/t-linux.
|
||
* sparc/t-linux: New file.
|
||
|
||
* alpha/elf.h (LINK_SPEC): Fix typo.
|
||
* configure.in (alpha-*-linux-gnu*): Set tmake_file.
|
||
* alpha/t-linux: New file.
|
||
|
||
Mon Jul 14 07:41:37 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k.c (output_{and,ior,xor}si3): New functions from patterns bodies.
|
||
* m68k.h (output_{and,ior,xor}si3): New extern declarations.
|
||
* m68k.md (adddi3, subdi3): Allow constant operand.
|
||
(anddi3, iordi3, xordi3): New patterns.
|
||
({and,ior,xor}si3_internal): Use corresponding output_???si3 function.
|
||
|
||
Mon Jul 14 07:33:11 1997 Fila Kolodny <fila@ibi.com>
|
||
|
||
* configure.in (*-*-gnu*): Add crt{begin,end}S.o to extra_parts.
|
||
|
||
Mon Jul 14 07:26:36 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||
|
||
* varasm.c (assemble_variable): If low part of size
|
||
doesn't fit in an int, variable is too large.
|
||
|
||
Mon Jul 14 06:51:37 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* bitmap.{h,c}: New files.
|
||
* Makefile.in (OBJS): Add bitmap.o.
|
||
(BASIC_BLOCK_H): New make variable for basic-block.h, bitmap.h.
|
||
({flow,combine,regclass,local-alloc,reload1,reorg,sched}.o): Use
|
||
BASIC_BLOCK_H variable instead of basic-block.h.
|
||
* basic-block.h (*REG_SET): Delete old implementation; use bitmap.h.
|
||
(regset_{size,bytes}): Delete.
|
||
(regs_live_at_setjmp): Declare.
|
||
(EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Delete.
|
||
* flow.c (init_regset_vector): Make global; don't take basic block
|
||
times # of pseduos as argument.
|
||
(life_analysis): Change all init_regset_vector calls.
|
||
Use free_regset_vector to release arrays only flow uses at end.
|
||
(allocate_for_life_analysis): Change init_regset_vector call.
|
||
Don't set regset_{size,bytes}.
|
||
(free_regset_vector): Call FREE_REG_SET to release any
|
||
memory allocated by each vector.
|
||
(propagate_block): Call FREE_REG_SET on dead/live.
|
||
(mark_used_regs): Don't use REGSET_ELT_TYPE anymore.
|
||
* output.h (allocate_for_life_analysis): Add declaration.
|
||
(regno_uninitialized, regno_clobbered_at_setjmp): Likewise.
|
||
(dump_flow_info, flow_analysis): Likewise.
|
||
* regclass.c (init_reg_sets): Invoke INIT_ONCE_REG_SET.
|
||
(allocate_reg_info): Invoke MAX_REGNO_REG_SET.
|
||
(regset_release_memory): Free basic_block_live_at_start storage.
|
||
* reorg.c (mark_target_live_regs): Delete unused variables.
|
||
* sched.c (schedule_block): Free space associated with
|
||
reg_pending_sets and old_live_regs.
|
||
(schedule_insns): Free bb_{dead,live}_regs on first pass.
|
||
(sched_analyze_insn): Use EXECUTE_IF_SET_IN_REG_SET and then clear.
|
||
* toplev.c (rest_of_compilation): Call regset_release_memory.
|
||
|
||
Mon Jul 14 00:14:13 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (main): Prefer DWARF 2 or stabs with -ggdb.
|
||
* ns32k/tek6000.h (PREFERRED_DEBUGGING_TYPE): DBX_DEBUG.
|
||
* alpha.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
|
||
* mips.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
|
||
|
||
Sun Jul 13 15:11:08 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stupid.c (stupid_mark_refs): If setting reg set only in this
|
||
insn and not referenced, make REG_UNUSED note.
|
||
|
||
Sun Jul 13 14:03:19 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* gcc.c (process_command): If -save-temps and -pipe were specified
|
||
together, don't do -pipe.
|
||
|
||
Sun Jul 13 12:27:03 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* gcc.c (main): Handle blank in version_string when comparing
|
||
with compiler_version.
|
||
|
||
Sat Jul 12 01:53:55 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* sparc.c (output_function_prologue): Fix offset from CFA.
|
||
(sparc_flat_output_function_prologue): Likewise.
|
||
|
||
Fri Jul 11 09:49:15 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c (epilogue_reg_mentioned_p): Delete unused function.
|
||
(mips_epilogue_delay_slots): Likewise.
|
||
(function_epilogue): Greatly simplify.
|
||
(mips_expand_epilogue): If we have a null prologue/epilogue,
|
||
then use a normal return insn. Emit blockage insns before
|
||
stack pointer adjustments.
|
||
(mips_can_use_return_insn): Renamed from simple_epilogue_p. All
|
||
callers changed. Do not use return insns if $31 is live in the
|
||
function or if generating profiling information.
|
||
* mips.h (DELAY_SLOTS_FOR_EPILOGUE): Delete.
|
||
(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
|
||
* mips.md (return): Remove expander and change the pattern to
|
||
look like a standard "return" insn.
|
||
(return_internal): Show use of $31 explictly.
|
||
(epilogue expander): Enable.
|
||
|
||
Thu Jul 10 13:04:53 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* cccp.c (INO_T_EQ): Return 0 for MSDOS.
|
||
|
||
* Makefile.in (CC): Use autoconf value.
|
||
|
||
Tue Jul 8 18:08:00 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_subprogram_die): When handling declarations, test
|
||
DECL_CONTEXT not decl_class_context before equate_decl_number_to_die.
|
||
|
||
Tue Jul 8 16:47:13 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.md (movsi define_split): Use unsigned HOST_WIDE_INT,
|
||
not unsigned.
|
||
|
||
Sat Jul 7 00:01:41 1997 Jim Meyering <meyering@eng.ascend.com>
|
||
|
||
* i386/t-sol2 (crt[1in].o): Also depend on $(GCC_PASSES).
|
||
|
||
Fri Jul 4 11:45:39 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (DWARF_CIE_HEADER_SIZE, DWARF_FDE_HEADER_SIZE,
|
||
size_of_cfi, size_of_fde, calc_fde_sizes, next_fde_offset,
|
||
cie_size): Lose.
|
||
(ASM_OUTPUT_DWARF_STRING): Move earlier.
|
||
(INCOMING_FRAME_SP_OFFSET): Provide default.
|
||
(initial_return_save): Adjust for CFA offset.
|
||
(dwarf2out_frame_debug): Lookup initial CFA offset when setting up.
|
||
(output_call_frame_info): Use label subtraction for length fields.
|
||
Add pointer to exception region information in for_eh case.
|
||
(dwarf2out_do_frame): New fn.
|
||
(dwarf2out_frame_init): Use INCOMING_FRAME_SP_OFFSET.
|
||
(dwarf2out_frame_finish): Don't bother emitting .debug_frame for
|
||
non-Irix targets. Just emit .eh_frame.
|
||
(output_die): Refer to an FDE with label subtraction.
|
||
* i386.h (INCOMING_FRAME_SP_OFFSET): Define.
|
||
* defaults.h (DWARF2_UNWIND_INFO): Define if
|
||
INCOMING_RETURN_ADDR_RTX is provided.
|
||
* final.c (final): Don't call dwarf2out_frame_debug unless we are
|
||
doing dwarf 2.
|
||
|
||
Thu Jul 3 17:37:52 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fp-bit.c (unpack_d): Check fraction not sign to distinquish QNaN.
|
||
|
||
Wed Jul 2 09:48:03 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* loop.c (strength_reduce): Make sure register does not exceed the
|
||
table size when looking up the last UID.
|
||
|
||
Wed Jul 2 07:47:44 1997 Nick Burrett <n.a.burrett@btinternet.com>
|
||
|
||
* genoutput.c (process_template): Place increment expression
|
||
outside of putchar function call.
|
||
|
||
Wed Jul 2 06:56:52 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* sparc/linux.h (LIBGCC_SPEC): Removed.
|
||
(CC1_SPEC): Add %{profile:-p}.
|
||
({CPP,LIB,LINK}_SPEC): Choose glibc 1 or 2 depending on USE_GNULIBC_1.
|
||
* configure.in (sparc-*-linux-gnulibc1*): New configuration.
|
||
|
||
* configure.in (powerpc-*-linuxgnu*): Default thread_file is posix.
|
||
Set xmake_file to x-linux. Add extra_parts.
|
||
* rs6000/linux.h (LINK_SPEC): Defined.
|
||
|
||
* m68k/linux.h (LINK_SPEC): Pass -shared for -shared.
|
||
({CPP,LINK}_SPEC): Choose for glibc 1 or 2 depending on USE_GNULIBC_1.
|
||
* configure.in (m68k-*-linux-gnu*): Default thread_file is `posix'.
|
||
(m68k-*-linux-gnulibc1): New configuration.
|
||
|
||
* alpha/elf.h (LINK_SPEC): Change ld-gnu.so.1 to ld-linux.so.2.
|
||
* configure.in (alpha-*-linux-gnu*): Default thread_file is `posix'.
|
||
|
||
Wed Jul 2 06:12:37 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alpha.md (divsi3, modsi3, udivsi3): Comment out.
|
||
(extendsfsd2_no_tp): Add alternative with output in MEM, input in REG.
|
||
|
||
* configure.in (*-linux*): Add "-gnu" to names to match.
|
||
|
||
* libgcc2.c (_trampoline): Add stdcall attribute to VirtualProtect
|
||
on i386.
|
||
|
||
* objc/objc.gperf: Renamed from gperf.
|
||
|
||
Wed Jul 2 05:42:19 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* objc/Make-lang.in ($(srcdir)/objc/objc-parse.c): Fix command
|
||
to use the right file names.
|
||
|
||
Tue Jul 1 23:25:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* reorg.c (redundant_insn): If INSN or possible match has REG_UNUSED
|
||
note, don't have match.
|
||
|
||
Tue Jul 1 18:36:24 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* mips.c (mips_output_external): Don't output .extern's for
|
||
variables in user specified sections unless they're .sbss/.sdata.
|
||
|
||
Tue Jul 1 18:30:26 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* cse.c (find_best_addr): Add missing rtx_cost arguments.
|
||
|
||
* fp-bit.c (float_to_usi): Move code for negative numbers before code
|
||
for infinity. Modify infinty code to only handle positive infinities.
|
||
|
||
Tue Jul 1 11:16:41 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* fixinc.sco: Restore pwd after copy.
|
||
Convert declaration of abs in math.h to prototype.
|
||
Fix static functions in sys/stat.h for C++.
|
||
|
||
Tue Jul 1 10:55:47 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.md ({add,ior,xor}si3): Change to use define_expand wrapper
|
||
and split add/ior/xor of large constants early.
|
||
(andsi3): Remove 6/29 code to do and of large constants.
|
||
(nor, nand, eqv, maskir): Add names to all logical define_insns.
|
||
|
||
Tue Jul 1 09:03:35 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.h (BIGGEST_FIELD_ALIGNMENT): Remove definition.
|
||
* mips.h (BIGGEST_FIELD_ALIGNMENT): Likewise.
|
||
|
||
Mon Jun 30 14:58:00 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* sh.c (sh_expand_epilogue): Emit blockage insn before cutting
|
||
back stack.
|
||
|
||
Sun Jun 29 11:27:07 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h (TARGET_FLAGS): Add -m{,no-}update to suppress
|
||
creating load/store with update instructions, and also
|
||
-m{,no-}fused-madd to suppress the generation of fused add and
|
||
multiply instructions. Move debug flags to TARGET_OPTIONS.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_{INC,DEC} if -mno-update.
|
||
(GO_IF_MODE_DEPENDENT_ADDRESS): Ditto.
|
||
(rs6000_debug_{name,stack,arg}): Add declarations.
|
||
(toc_initialized): Likewise.
|
||
(got_no_const_operand): Likewise.
|
||
(PREDICATE_CODES): Add got_no_const_operand.
|
||
(toc_section): Make toc_initialized a global.
|
||
(RTX_COSTS): Set appropriate costs for add, logical operators that
|
||
are really two instructions.
|
||
|
||
* rs6000.c (rs6000_debug_{name,stack,arg}): Add definitions.
|
||
(rs6000_override_options): Process debug flags.
|
||
(toc_initialized): Global to say toc initialized.
|
||
(small_data_operand): Use #if TARGET_ELF, not #ifdef TARGET_SDATA.
|
||
(rs6000_init_expanders): Likewise.
|
||
(SMALL_DATA_RELOC): Likewise.
|
||
(got_no_const_operand): Recognize SYMBOL_REF and LABEL_REF.
|
||
(rs6000_makes_calls): System V profiling doesn't count as a call.
|
||
(rs6000_stack_info): Likewise.
|
||
(rs6000_output_load_toc_table): Take register number argument to
|
||
determine register to load. Generate correct code if more than
|
||
one toc table is done in System V due to profiling or non-local
|
||
gotos. If System V toc is not initialized, initialize it now.
|
||
(rs6000_allocate_stack_space): Move code from output_prolog to
|
||
allocate stack space. Take -mno-update into account.
|
||
(output_prolog): Call rs6000_allocate_stack_space. Only set
|
||
rs6000_pic_func_labelno if not profiling.
|
||
(output_function_profiler): Implement System V profiling.
|
||
(and_operand): Don't call reg_or_short_operand.
|
||
(rs6000_finalize_pic): If not optimizing, insert a USE of the GOT
|
||
register as the last insn.
|
||
|
||
* rs6000.md (load/store update): Take -mno-update into account.
|
||
If -msoft-float, support SF load/store with update to GPR regs.
|
||
(allocate_stack): Take -mno-update into account.
|
||
(add/subtract + multiply instructions): Take -mno-fused-madd into
|
||
account.
|
||
(nonlocal_goto_receiver): Specify register # to load.
|
||
({add,and,ior,xor}si3): Recognize operation done with full 32 bit
|
||
constant, splitting latter if need be.
|
||
(andsi3 define_split): Fix up splitting andsi3 of large constant.
|
||
({ior,xor}si3 define_split): Use GEN_INT to create integer rtx
|
||
values.
|
||
(movsi_got{,_internal}): Split the load of a CONST into load of
|
||
the SYMBOL_REF/LABEL_REF and an add.
|
||
(movsi): Know that addsi3 can handle large values now for NT.
|
||
|
||
* sysv4.h (TARGET_SDATA): Remove explicit bit for -msdata.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
|
||
(SUBTARGET_SWITCHES): Indicate -m{,no-}sdata doesn't set any flags.
|
||
(ASM_SPEC): Only pass -m{,no-}reg-names if assembling .s/.S files.
|
||
(CC1_SPEC): If -msdata, invoke compiler with -msdata=default.
|
||
(PROFILE_BEFORE_PROLOGUE): Likewise.
|
||
(RS6000_MCOUNT): Define as "_mcount".
|
||
(toc_section): Make toc_initialized a global.
|
||
|
||
Fri Jun 27 19:01:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* config/t-linux-gnulibc1: New file.
|
||
* configure.in (i[3456]86-*-linux*): Default thread_file is `posix'.
|
||
(i[3456]86-*-linux*gnulibc1): New case.
|
||
* config/linux.h (LIB_SPEC): Choose for glibc 1 or 2 depending
|
||
on USE_GNULIBC_1.
|
||
* i386/linux.h (CPP_SPEC, LINK_SPEC): Likewise.
|
||
|
||
Fri Jun 27 19:00:52 1997 Ralf Baechle <ralf@waldorf-gmbh.de>
|
||
|
||
* config/linux.h (PREFERRED_DEBUGGING_TYPE): Undefine before define.
|
||
|
||
Fri Jun 27 18:35:04 1997 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||
|
||
* configure.in: Clean up Make-{host,target,hooks} in all
|
||
subdirs, not just '.'.
|
||
* Makefile.in (distclean): Delete */Make-{host,target,lang,hooks}.
|
||
|
||
Fri Jun 27 18:27:11 1997 Fila Kolodny <fila@ibi.com>
|
||
|
||
* config/xm-gnu.h (fcntl.h): Only include if not building libgcc.a.
|
||
|
||
Fri Jun 27 18:17:44 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure.frag: Rewrite.
|
||
|
||
* objc/Make-lang.in (OBJC_CCOMMON): Object files don't go in srcdir.
|
||
(OBJC_OBJS): Likewise.
|
||
(OBJC_O): Likewise.
|
||
(objc-parse.o, objc-act.o): Fix rules.
|
||
(objc/libobjc files): Fix rules.
|
||
|
||
Fri Jun 27 13:23:38 1997 Andrew Cagney <cagney@tpgi.com.au>
|
||
|
||
* fp-bit.c (float_to_si): Correct return value when Inf.
|
||
|
||
Fri Jun 27 10:47:09 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* Makefile.in (DLLTOOL): Define.
|
||
* objc/Make-lang.in (libobjc_entry.o, libobjc_s.a, libobjc.dll):
|
||
New targets.
|
||
(objc.install-normal): Install Objective-C runtime as a DLL.
|
||
(objc.mostlyclean): Clean up files used to build DLL.
|
||
* objc/libobjc.def: New file.
|
||
* objc/libobjc_entry.c: New file.
|
||
|
||
* objc/sendmsg.c (search_for_method_in_list): No longer static.
|
||
|
||
* Makefile.in (GCC_THREAD_FILE): Renamed from OBJC_THREAD_FILE.
|
||
* configure.lang (GCC_THREAD_FILE): Likewise.
|
||
* configure.in (--enable-threads): New parameter.
|
||
* objc/Make-lang.in (OBJC_THREAD_FILE): New definition.e
|
||
* objc/config-lang.in: Print message about ObjC thread file.
|
||
|
||
* cccp.c (INO_T_EQ): Define for Win32 but not Cygwin32.
|
||
* i386/mingw32.h: New file.
|
||
* i386/xm-mingw32.h: New file.
|
||
* configure.in (i[3456]86-*-mingw32): New target.
|
||
* protoize.c (link): Eliminate definition on Win32.
|
||
|
||
* objc/thr-posix.c (__objc_thread_yield): Use sched_yield instead.
|
||
|
||
Fri Jun 27 10:36:41 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
|
||
Round up when calculating possible end address.
|
||
|
||
Wed Jun 25 19:54:29 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (final_giv_value): Verify that bl->initial_value is
|
||
invariant before trying to use it.
|
||
|
||
Wed Jun 25 18:13:05 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sysv4.h (WCHAR_TYPE{,_SIZE}): Make wchar_t long as per
|
||
ABI spec.
|
||
|
||
Wed Jun 25 16:56:16 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* sparc.h (INCOMING_RETURN_ADDR_RTX): Define.
|
||
(DBX_REGISTER_NUMBER): Fix frame pointer regno for -mflat.
|
||
* sol2.h (DBX_REGISTER_NUMBER): Likewise.
|
||
* sparc.c (save_regs): Emit dwarf2 frame debug info.
|
||
(output_function_prologue, sparc_flat_save_restore,
|
||
sparc_flat_output_function_prologue): Likewise.
|
||
|
||
* dwarf2.h (enum dwarf_call_frame_info): Add DW_CFA_GNU_window_save.
|
||
* dwarf2out.c (dwarf_cfi_name, output_cfi): Support it.
|
||
(dwarf2out_cfi_label): Make non-static.
|
||
(initial_return_save): Support PLUS.
|
||
(dwarf2out_window_save, dwarf2out_return_save,
|
||
dwarf2out_return_reg): New fns.
|
||
|
||
* dwarf2out.c (SECTION_FORMAT): Use PUSHSECTION_FORMAT, if defined.
|
||
(DEBUG_INFO_SECTION): Rename from DEBUG_SECTION.
|
||
(DEBUG_LINE_SECTION): Rename from LINE_SECTION.
|
||
* mips/iris6.h: Likewise.
|
||
|
||
Wed Jun 25 16:25:41 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* Makefile.in (GCC_PASSES): Don't define with $(exeext).
|
||
* configure.in ({cc,stage_prefix}_set_by_configure): Eliminate extra
|
||
comma and don't pass value to configure.lang.
|
||
* objc/Make-lang.in (objc-runtime): Add objc-headers.
|
||
|
||
* configure.in: Execute configure.frag in a shell.
|
||
|
||
* configure.in (cross_overrides, build_overrides): Default to
|
||
/dev/null to help platforms where sed cannot handle empty filenames.
|
||
|
||
* Reorganize thread implementation to make a clearly defined
|
||
front-end/back-end interface.
|
||
* objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Completely
|
||
rework according to new interface.
|
||
* objc/thr-{solaris,win32}.c: Likewise.
|
||
* objc/thr.c: Likewise.
|
||
* objc/thr.h: Define front-end/back-end interface functions and
|
||
structures.
|
||
|
||
Wed Jun 25 16:14:10 1997 Ovidiu Predescu <ovidiu@net-community.com>
|
||
|
||
* Complete implementation of +load.
|
||
* objc/init.c (objc_send_load): New function.
|
||
(objc_class_tree): New structure.
|
||
(create_tree_of_subclasses_inherited_from): New function.
|
||
(__objc_tree_insert_class): New function.
|
||
(objc_tree_insert_class): New function.
|
||
(objc_preorder_traverse): New function.
|
||
(objc_postorder_traverse): New function.
|
||
(__objc_tree_print): New function.
|
||
(__objc_destroy_class_tree_node): New function.
|
||
(class_is_subclass_of_class): New function.
|
||
(__objc_exec_class): Allocate class tree list and load hash table.
|
||
(__objc_send_message_in_list): Rewrite using hash table.
|
||
(__objc_send_load): Remove calls to _objc_load_callback.
|
||
(objc_send_load): Make static. Create Tree of classes resembling
|
||
class hierarchy for all modules. Call __objc_send_load on all of
|
||
the modules in __objc_module_list.
|
||
(__objc_create_classes_tree): New function.
|
||
|
||
* objc/encoding.h (method_get_sizeof_arguments): Fix typo.
|
||
* objc/objc-api.h (OBJC_ERR_BAD_STATE): New error code.
|
||
On NeXT redefine object_copy and object_dispose to avoid
|
||
a conflict with those defined in system library.
|
||
* objc/selector.c (__objc_register_instance_methods_to_class): New
|
||
function.
|
||
* objc/runtime.h: Likewise. Add missing function prototypes.
|
||
|
||
Wed Jun 25 15:09:01 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* Makefile.in (Makefile): Execute configure.frag from srcdir.
|
||
|
||
* Makefile.in (configure): Target is $(srcdir)/configure.
|
||
|
||
Tue Jun 24 15:18:14 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.h (LIMIT_RELOAD_CLASS): Define.
|
||
|
||
* recog.c (constrain_operands): When checking earlyclobbers, use
|
||
operands_match_p instead of rtx_equal_p.
|
||
|
||
* dwarfout.c (field_byte_offset): Check for object_offset_in_bits
|
||
greater than bitpos_int and recompute object_offset_in_bytes if true.
|
||
|
||
* mips.md (movdi_internal): Add x/J alternative.
|
||
(movdi_internal2): Add x/J alternative; change a/I to a/J.
|
||
(movsi_internal1, movsi_internal2): Change x/I alternative to x/J.
|
||
|
||
Tue Jun 24 08:49:56 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (ASM_OUTPUT_SECTION_NAME): Fix typo.
|
||
|
||
Mon Jun 23 22:48:00 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (find_splittable_givs): Set splittable_regs_updates to
|
||
biv_count for reduced givs.
|
||
|
||
Mon Jun 23 10:51:53 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10200.c, mn10200.h, mn10200.md: New files for mn10200 port.
|
||
* lib1funcs.asm, divmod.c, udivmod.c, udivmodsi4.c: Likewise.
|
||
* t-mn10200, xm-mn10200.h, va-mn10200.h: Likewise.
|
||
* Makefile.in (USER_H): Add va-mn10200.h.
|
||
* varargs.h, stdarg.h: Include va-mn10200.h.
|
||
* configure.in (mn10200-*-*): New target.
|
||
|
||
Sun Jun 22 06:47:19 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* combine.c (force_to_mode): Don't do anything for ASM_OPERANDS insn.
|
||
|
||
Sun Jun 22 06:29:28 1997 J. Kean Johnston <jkj@sco.com>
|
||
|
||
* ginclude/stdarg.h: Protect va_list definition from SCO headers.
|
||
* ginclude/varargs.h: Likewise.
|
||
|
||
Sat Jun 21 20:56:23 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* Make ObjC a front-end language.
|
||
* Makefile.in (LANGUAGES, COMPILERS, .PHONY, stmp-int-hdrs): Remove
|
||
specific references to ObjC compiler and source files.
|
||
({mostly,dist,maintainer,}clean, install-normal): Likewise
|
||
(OBJC_OBJS, OBJC, OBJECTIVE-C, cc1obj, objc-runtime): Rules deleted.
|
||
(libobjc.a, sublibobjc.a, objc-parse.{o, c, y}): Rules deleted.
|
||
(objc-headers, install-libobjc): Rules deleted.
|
||
* objc/Make-lang.in: New file; from rules deleted above.
|
||
* objc/config-lang.in: New file.
|
||
* objc/Makefile.in: Changes to support ObjC as a front-end language;
|
||
renamed from Makefile.in.
|
||
* objc-act.{c,h}, objc-parse.{c,y}, objc-tree.def: Moved to objc dir.
|
||
|
||
Sat Jun 21 07:54:36 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* fixinc.sco (math.h): Correct the collision of "exception".
|
||
|
||
Sat Jun 21 06:51:40 1997 Peter Gerwinski <peter@agnes.dida.physik.uni-essen.de>
|
||
|
||
* rs6000.c (output_epilog): Name is "GNU Pascal", not all caps.
|
||
|
||
Sat Jun 21 06:29:19 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* gcc.c (main): Check for and read ${libdir}/gcc-lib/specs to
|
||
override the default specs.
|
||
|
||
Fri Jun 20 17:20:15 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (output_block_move): When loading addresses into registers,
|
||
add checks for ABI_N32 and ABI_64.
|
||
(mips_expand_prologue): Add check for SImode in code splitting
|
||
tsize_rtx when it is large_int.
|
||
|
||
Fri Jun 20 09:07:31 1997 Russell King <rmk92@ecs.soton.ac.uk>
|
||
|
||
* configure.in (arm-*-linuxaout): New target.
|
||
* arm/lib1funcs-linux.asm, arm/linux-gas.h: New files.
|
||
* arm/linux.h, arm/t-linux, arm/xm-linux.h: New file.
|
||
* xm-linux.h: Undef some macros before defining them.
|
||
|
||
Thu Jun 19 21:18:20 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (output_line_info): Always use DW_LNE_set_address instead
|
||
of DW_LNS_fixed_advance_pc for line number addresses.
|
||
(size_of_line_info): Adjust size calculation as per above change.
|
||
(text_end_label): Make it static.
|
||
|
||
Thu Jun 19 14:55:49 1997 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* toplev.c (xmalloc): Only give the fatal msg if SIZE is non-zero.
|
||
|
||
Sun Apr 27 23:19:13 1997 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* libgcc2.c (__eh_type): Remove `extern' to make this a definition.
|
||
|
||
Wed Jun 18 18:10:16 1997 Per Bothner <bothner@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_type_fields): Skip field if DECL_IGNORED_P.
|
||
|
||
Wed Jun 18 18:04:33 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (end_eh_unwinder): If we have a return instruction, we
|
||
have to make sure we use it and don't fall off the end of the
|
||
function in the unwinder.
|
||
|
||
Wed Jun 18 14:27:58 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* flow.c (find_basic_blocks): Fix end case bug.
|
||
|
||
Tue Jun 17 18:35:57 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* libgcc2.c (__eh_pcnthrow): Add support -fno-sjlj-exceptions
|
||
-fPIC exception handling on the SPARC.
|
||
* sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
|
||
* libgcc2.c (__eh_ffetmnpc): Remove.
|
||
|
||
Mon Jun 16 20:28:51 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* collect2.c (extract_string): Null-terminate.
|
||
|
||
Mon Jun 16 14:38:44 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* combine.c (set_nonzero_bits_and_sign_copies): Use REG_SET macros
|
||
instead of doing bit operations directly.
|
||
(try_combine,reg_dead_at_p): Ditto.
|
||
* caller-save.c (save_call_clobbered_regs): Ditto.
|
||
* reload1.c (reload): Ditto.
|
||
* local-alloc.c (update_equiv_regs,block_alloc): Ditto.
|
||
* sched.c (schedule_block): Dito.
|
||
|
||
Sun Jun 15 20:46:12 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug): Handle IOR.
|
||
(struct limbo_die_struct): Define.
|
||
(TYPE_DECL_IS_STUB): Call decl_ultimate_origin if DECL_ABTRACT_ORIGIN
|
||
is set.
|
||
(limbo_die_count): Delete.
|
||
(libmo_die_list): Define.
|
||
(new_die): Add die to limbo_die_list instead of incrementing
|
||
limbo_die_count.
|
||
(add_AT_location_description): Renamed from add_location_attribute.
|
||
New parameter attr_kind.
|
||
(add_location_or_const_value_attribute, gen_subprogram_die,
|
||
add_bound_info): Change call to add_AT_location_description.
|
||
(add_bound_info): Add call to contains_placeholder_p. Ignore
|
||
MAX_EXPR and VAR_DECL.
|
||
(add_subscript_info): Ignore the index type if it is an unnamed
|
||
integral type.
|
||
(scope_die_for): Move check for function-local tags after code setting
|
||
containing_scope, and add check for non-NULL containing_scope
|
||
(add_type_attribute): If unnamed type, use TREE_TYPE instead.
|
||
(gen_enumeration_type_die, gen_struct_or_union_type_die): Call
|
||
add_child_die if die_parent is NULL.
|
||
(gen_subprogram_die): Ifdef out DW_AT_static_link code.
|
||
(decls_for_scope): Delete decrement of limbo_die_count.
|
||
(dwarf2out_finish): Add code to traverse the limbo_die_list, and
|
||
call add_child_die if die_parent is NULL. Delete limbo_die_count code.
|
||
* mips.c (mips_expand_prologue): If tsize_rtx is large_int, emit two
|
||
insns instead of one splitable insn, setting RTX_FRAME_RELATED_P.
|
||
|
||
Fri Jun 13 19:33:35 1997 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* fixincludes: Also fix AIX NULL macro in sys/{dir,param,types}.h.
|
||
|
||
Thu Jun 12 22:53:12 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.md (mov[qhs]i): Remove pair of constraints which allow
|
||
offsetable memory addresses to be moved to the same for TARGET_5200.
|
||
|
||
Thu Jun 12 15:33:01 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (SELECT_RTX_SECTION): Place symbolic operands into the
|
||
data section.
|
||
|
||
* pa.c (emit_move_sequence): Rewrite code to handle arithmetic
|
||
involving plabels.
|
||
|
||
Wed Jun 11 08:57:14 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* tree.c (unsave_expr_now): Avoid recursing into the parts of
|
||
the tree that are RTL.
|
||
|
||
Thu Jun 12 09:43:55 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (emit_delay_sequence): Call set_new_first_and_last_insn
|
||
after the new sequence insn has been spliced into the insn chain.
|
||
|
||
Wed Jun 11 23:10:49 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (call, call_value): Use "call" instead of "calls"
|
||
for calls to named functions.
|
||
|
||
Wed Jun 11 00:22:34 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure, configure.in: Restore changes from Feb 15 to Apr 13
|
||
lost during conversion to autoconf.
|
||
|
||
Tue Jun 10 18:23:35 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* stmt.c (expand_decl_cleanup): Avoid core dumping when exceptions
|
||
aren't on.
|
||
|
||
Tue Jun 10 18:22:30 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* collect2.c (extract_string): New fn.
|
||
(main): Use it.
|
||
|
||
Tue Jun 10 17:40:15 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (emit_group_load): Add case using gen_lowpart.
|
||
|
||
Tue Jun 10 17:14:58 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_override_options): If -mcpu=403, set -mstrict-align.
|
||
|
||
* rs6000/t-ppc{,gas} (MULTILIB_EXTRA_OPTS): Build libraries with
|
||
-mstrict-align.
|
||
|
||
* configure.in ({powerpc,rs6000}*-*-*): Add embedded targets to
|
||
--with-cpu=n support.
|
||
|
||
Tue Jun 10 07:06:12 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* flow.c (mark_used_regs): Fix typo in Jun 4 change.
|
||
|
||
Mon Jun 9 20:26:26 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (MAYBE_USE_COLLECT2): Renamed from MAYBE_USE_COLLECT.
|
||
|
||
Mon Jun 9 19:42:21 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* fold-const.c (fold): Don't do COND_EXPR -> MIN_EXPR folding if it
|
||
loses information that might be needed by a later use as an lvalue.
|
||
|
||
Mon Jun 9 19:10:50 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* configure.in: Don't override a user's setting for prefix
|
||
on platforms that use the native prefix.
|
||
|
||
Mon Jun 9 19:00:49 1997 Brendan Kehoe <brendan@melange.gnu.ai.mit.edu>
|
||
|
||
* integrate.c (expand_inline_function): Use the mode of FNDECL's
|
||
result rtl, not the result type itself, in setting ARRIVING_MODE.
|
||
|
||
* reload1.c (reload): Use xmalloc instead of alloca for the label
|
||
offsets in OFFSETS_AT and OFFSETS_KNOWN_AT.
|
||
|
||
Mon Jun 9 15:16:52 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* flow.c (find_basic_blocks): Eliminate more dead code, enables
|
||
dead throws to be eliminated.
|
||
|
||
Mon Jun 9 17:15:50 1997 Stephen L Moshier <moshier@world.std.com>
|
||
|
||
* alpha.c (check_float_value): Underflow and overflow constants
|
||
are different for FLOAT_VAX and default targets.
|
||
|
||
Mon Jun 9 16:48:21 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* Makefile.in (Makefile): Process language fragments.
|
||
* configure.frag: New file.
|
||
* configure.in: Move language fragment processing to configure.lang.e
|
||
|
||
* Makefile.in (GCC_PASSES): Prevent all compilers from being
|
||
built when only the C compiler is needed.
|
||
|
||
* configure.in (cross_overrides, build_overrides): Use absolute
|
||
path to GCC top-level source directory.
|
||
|
||
* configure.in: Save target alias for language directories.
|
||
|
||
* configure.in (with-gxx-include-dir): New parameter for
|
||
setting the g++ header file directory.
|
||
* Makefile.in (gxx_include_dir): Use autoconf variable.
|
||
|
||
* configure.in: Add parameter for setting local prefix.
|
||
|
||
* configure.lang: New file.
|
||
* configure.in: Move language subdirectory Makefile processing
|
||
into configure.lang.
|
||
|
||
Mon Jun 9 16:44:47 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sched.c (attach_deaths): Fix typo in Jun 4 change.
|
||
|
||
Mon Jun 9 15:13:00 1997 Marc Lehmann (pcg@goof.com)
|
||
|
||
* varasm.c (assemble_end_function): Switch back to function
|
||
section after outputting constant pool.
|
||
|
||
Mon Jun 9 14:47:22 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* tree.c (change_main_variant): Remove unused function.
|
||
(build_array_type): Remove obsolete references to
|
||
change_main_variant.
|
||
* c-decl.c (complete_array_type): Likewise.
|
||
|
||
* c-common.c (c_build_type_variant): Don't futz with main type
|
||
variant of array since C Standard requires main type variant of
|
||
array-of-const also be array-of-const.
|
||
|
||
* Makefile.in: Comment out lines containing just formfeeds.
|
||
|
||
* Makefile.in (distclean): Remove config.bak.
|
||
(maintainer-clean): Output warning.
|
||
Do not remove `configure'.
|
||
|
||
Mon Jun 9 14:44:17 1997 J.T. Conklin <jtc@netbsd.org>
|
||
|
||
* configure.in (*-*-netbsd): Restore changes of Apr 13th lost in
|
||
autoconf conversion: tmake_file now t-netbsd; delete xmake_file.
|
||
|
||
Mon Jun 9 14:39:29 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_FRAME_ADDRESS):
|
||
Use correct function name in error message.
|
||
|
||
* Makefile.in (diff): Exclude bi-parser.h.
|
||
|
||
* i386.h (CC1_CPU_SPEC): Renamed, was CC1_SPEC.
|
||
(CC1_SPEC): New macro.
|
||
(EXTRA_SPECS): Add "cc1_cpu".
|
||
* i386/linux.h (CC1_SPEC): New macro.
|
||
|
||
Mon Jun 9 13:23:06 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k/next.h (TARGET_DEFAULT): Use MASK_68040,
|
||
not MASK_68040_ALSO.
|
||
* m68k/mot3300.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
|
||
|
||
* m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Test #ifdef __mcf52000__,
|
||
not if (TARGET_52000); fixed for mc68000 case.
|
||
|
||
* m68k/mot3300.h (CPP_SPEC): Define __mc68020__ if no -m[c]68000
|
||
command-line option given.
|
||
|
||
Mon Jun 9 09:19:17 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* Makefile.in (target_alias): Substitute with target_alias.
|
||
|
||
* final.c (final_scan_insn): Use single_set to check cc_status.flags.
|
||
|
||
Mon Jun 9 09:09:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-common.c (check_format_info): Correct handling of the 'a' flag
|
||
which adds another pointer level.
|
||
|
||
Sun Jun 8 00:34:25 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (conditional branch insns): Get length right for branches
|
||
to targets which can not be reached with a "bl" instruction.
|
||
* pa.c (output_cbranch): Handle branches to targets which can not
|
||
be reached with a "bl" instruction.
|
||
|
||
* pa.md (alternate dbra pattern): Remove incorrect pattern.
|
||
|
||
Sat Jun 7 23:30:25 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (struct defer_plab): Renamed to struct deferred_plabel.
|
||
Remove "symbol" field and replace with "name" field.
|
||
(output_function_epilogue): Don't output deferred plabels here.
|
||
(output_deferred_labels): New function. Output them here instead.
|
||
(output_call): Rewrite long call support.
|
||
* pa.h (ASM_FILE_END): Define.
|
||
(LEGITIMATE_CONSTANT_P): Never accept a function_label_operand.
|
||
* pa.md (HIGH and LO_SUM of function address): Remove patterns.
|
||
|
||
Fri Jun 6 16:09:04 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* libgcc2.c (__eh_ffetmnpc): Add support for machines that cannot
|
||
access globals after throw's epilogue when -fno-sjlj-exceptions is
|
||
used.
|
||
* rs6000.c (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
|
||
* mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
|
||
(INITIAL_ELIMINATION_OFFSET): Fix RETURN_ADDRESS_POINTER_REGNUM
|
||
for 64 bit words, with 32 bit pointers and variable endianness.
|
||
|
||
Fri Jun 6 17:27:58 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* regclass.c (allocate_reg_info): Fix off by one error.
|
||
|
||
Fri Jun 6 17:17:41 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* basic-block.h (EXECUTE_IF_SET_IN_REG_SET): Fix setting of scan_rs_.
|
||
(EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Likewise.
|
||
(EXECUTE_IF_AND_IN_REG_SET): Likewise.
|
||
(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
|
||
|
||
Fri Jun 6 15:42:59 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (notice_cc_update): Set CC_FCOMI is this is a float compare.
|
||
|
||
Fri Jun 6 15:12:38 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* basic-block.h (REG_SET_TO_HARD_REG_SET): Fix typo.
|
||
|
||
* sched.c (update_flow_info): When add extra REG_DEAD note for original
|
||
dest, handle case where last insn both uses and sets dest.
|
||
|
||
Thu Jun 5 22:19:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* fixinc.irix: Add declaration of __vfork to unistd.h.
|
||
|
||
* i960/vx960-coff.h (CPP_SPEC): Always define CPU, even if they
|
||
use -ansi; the VxWorks headers assume it's always present.
|
||
* sparc/vxsparc.h (CPP_SPEC): Define, adding the CPU definition to
|
||
what came from sparc.h.
|
||
(CPP_PREDEFINES): Don't define it here.
|
||
|
||
Thu Jun 5 13:40:33 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* basic-block.c (OBSTACK_ALLOC_REG_SET): Rename from
|
||
OBALLOC_REG_SET. Add obstack pointer parameter.
|
||
|
||
* flow.c (function_obstack): Add declaration.
|
||
(life_analysis): Don't allocate the space to hold to vector of
|
||
regsets here.
|
||
(init_regset_vector): Add pointer parameter and delete space
|
||
paramter. Use OBSTACK_ALLOC_REG_SET to allocate. Change callers.
|
||
(propagate_block): Use ALLOCA_REG_SET instead of bare alloca.
|
||
|
||
* sched.c (schedule_block): Fix typo in yesterday's changes.
|
||
* reorg.c (mark_target_live_regs): Ditto.
|
||
|
||
Thu Jun 5 09:44:49 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* sh.c (trap_exit, sp_switch): New variables.
|
||
(print_operand, case '@'): If trap_exit is nonzero, then use
|
||
a trapa instead of an rte/rts to exit the current function.
|
||
(sh_expand_prologue): Switch stacks at function entry as needed.
|
||
(sh_expand_epilogue): Similarly at function exit.
|
||
(function_epilogue): Clear trap_exit and sp_switch too.
|
||
(sh_valid_machine_decl_attribute): New function.
|
||
* sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
|
||
(sp_switch): Declare.
|
||
* sh.md (sp_switch_1, sp_switch_2): New named patterns.
|
||
|
||
Wed Jun 4 18:11:14 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* basic-block.h (REGSET_ELT_BITS): Make this explicitly unsigned, so
|
||
that division and modulus of REGSET_ELT_BITS uses a pure shift.
|
||
(*_REG_SET): New macros to abstract the register set interface.
|
||
|
||
* caller-save.c (save_call_clobbered_regs): Use new *_REG_SET
|
||
macros.
|
||
* flow.c (life_analysis,propagate_block,insn_dead_p): Ditto.
|
||
(regno_uninitialized,regno_clobbered_at_setjmp,mark_set_1): Ditto.
|
||
(mark_used_regs,dump_flow_info,global_conflicts): Ditto.
|
||
global.c (mark_elimination): Ditto.
|
||
* reorg.c (mark_target_live_regs): Ditto.
|
||
* sched.c (sched_{analyze_{1,insn},note_set}): Ditto.
|
||
(birthing_insn_p,attach_deaths,unlink_notes,schedule_block): Ditto.
|
||
|
||
* sched.c (sometimes structure): Delete offset, bit fields, replace
|
||
with regno.
|
||
(new_sometimes_live): Take regno argument, not offset and bit.
|
||
Change all callers.
|
||
|
||
Tue Jun 3 19:18:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* fixincludes: Fix AIX NULL macro use of void*.
|
||
|
||
Tue Jun 3 15:21:04 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* sparc.h (ASM_OUTPUT_MI_THUNK): Handle -fpic.
|
||
|
||
Mon Jun 2 16:53:53 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* loop.c (n_times_{set,used}): Make type int, not short.
|
||
(scan_loop): n_times{set,used} are now int pointers.
|
||
|
||
* sched.c (sched_reg_n_deaths): Remove unused variable.
|
||
(struct sometimes): Make fields int sized, not short.
|
||
(schedule_insns): Don't set sched_reg_n_deaths, nobody uses it.
|
||
|
||
* regclass.c (allocate_reg_info): Allocate space for reg_renumber,
|
||
but don't set unless new argument RENUMBER_P is set. If this is first
|
||
call for function and we need to grow space, use free/xmalloc instead
|
||
of realloc since we will be initializing the whole array. If number
|
||
of registers is < 0, just free up space.
|
||
(reg_scan): Update allocate_reg_info call.
|
||
* regs.h (allocate_reg_info): Change prototype.
|
||
* flow.c (allocate_for_life_analysis): Update allocate_reg_info call.
|
||
* local-alloc.c (local_alloc): Call allocate_reg_info to allocate
|
||
and initialize the reg_renumber array.
|
||
* stupid.c (stupid_life_analysis): Likewise.
|
||
|
||
Mon Jun 2 14:50:06 1997 Dave Miller <davem@jenolan.rutgers.edu>
|
||
|
||
* sparc.md (v9 eq/ne cond move patterns): Add early clobber
|
||
constraint to destination.
|
||
|
||
Fri May 30 11:00:44 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* regs.h (reg_info): New structure to group the arrays indexed by
|
||
register number created by reg_scan and flow_analysis that are
|
||
globally visiable.
|
||
(reg_n_info): Pointer to the register information array.
|
||
(reg_n_{refs,sets,deaths,calls_crossed}): Delete variables.
|
||
(reg_changes_size): Likewise.
|
||
(REG_N_{REFS,SETS,DEATHS,CALLS_CROSSED}): New macros to reference
|
||
reg_n_info.
|
||
(REG_{CHANGES_SIZE,{FIRST,LAST,LAST_NOTE}_UID}): Likewise.
|
||
(allocate_reg_info): Add declaration.
|
||
|
||
* basic-block.h (reg_basic_block): Delete.
|
||
(REG_BASIC_BLOCK): Use reg_n_info structure.
|
||
|
||
* caller-save.c: Change all references to the above arrays to use
|
||
the corresponding macro to access the reg_n_info array.
|
||
* combine.c, cse.c, flow.c, global.c, jump.c, local-alloc.c: Likewise.
|
||
* loop.c, regclass.c, reload1.c, sched.c, stupid.c, unroll.c: Likewise.
|
||
|
||
* regclass.c (allocate_reg_info): New function to allocate the
|
||
reg_info array and initialize the appropriate fields.
|
||
(reg_scan): Call it.
|
||
* flow.c (allocate_for_life_analysis): Call allocate_reg_info to do
|
||
the actual allocation.
|
||
|
||
Thu May 29 15:42:59 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md (movsfcc_1, movdfcc_1, movxfcc_1): Use singlemove_string
|
||
for float conditional move when destination and operands all differ.
|
||
|
||
* i386.h (ASM_OUTPUT_REG_{PUSH,POP}): add %% before register name.
|
||
|
||
* go32.h (ASM_OUTPUT_ALIGN): Use .p2align, not byte alignments.
|
||
|
||
Wed May 28 20:44:00 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (push_eh_entry): Eliminate start of exception region
|
||
label, as it isn't used. Rename end_label to outer_context.
|
||
(expand_eh_region_start_for_decl): Likewise.
|
||
(expand_leftover_cleanups): Likewise.
|
||
(expand_start_all_catch): Likewise.
|
||
* except.h (eh_entry): Likewise.
|
||
* except.c (expand_eh_region_end): Likewise. Jump around the nop
|
||
that we insert, so that we can optimize it away, if it is unused,
|
||
also so that flow analysis can tell if we fall through to the end
|
||
of a function or not so that it can know if a function that returns
|
||
a value, in fact does or not.
|
||
|
||
Wed May 28 10:50:09 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (jump): Handle out of range unconditional jump
|
||
when not optimizing.
|
||
|
||
Thu May 22 00:57:07 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (reload_cse_record_set): Ignore values for SREG if
|
||
their mode is narrower than DEST_MODE.
|
||
|
||
* pa.h (DFMODE_RETURN_STRING): Define.
|
||
(SFMODE_RETURN_STRING): Likewise.
|
||
(ASM_DECLARE_FUNCTION_NAME): Use them.
|
||
|
||
Wed May 21 23:32:02 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (reload_insi): Handle SUBREG properly.
|
||
|
||
Tue May 20 22:32:13 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_def_cfa): Set cfa_reg at the top.
|
||
|
||
Tue May 20 16:57:50 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* cplus-dem.c (do_type): Handle `J'.
|
||
(demangle_fund_type): Print "complex" for it.
|
||
|
||
Mon May 19 21:01:53 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.c (output_move_qimode): Add coldfire support.
|
||
* m68k.h (PUSH_ROUNDING): Add coldfire support.
|
||
* m68k.md (scc{,0}_di, seq, sne, sgt, sgtu, slt, sltu, sge, sgeu,
|
||
sle, sleu): Add coldfire support.
|
||
|
||
Mon May 19 17:53:34 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c: (rs6000_pic_func_labelno): New variable.
|
||
(rs6000_output_load_toc_table): Use it.
|
||
(output_prolog): Store current value.
|
||
|
||
Sun May 18 16:32:08 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* dbxcoff.h (ASM_OUTPUT_SOURCE_LINE): Use macros
|
||
ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL to create/output line
|
||
number label.
|
||
|
||
Sun May 18 13:55:12 1997 John Vickers (john@rhizik.demon.co.uk)
|
||
|
||
* m68k.h (TARGET_SWITCHES): Add new target name, cpu32.
|
||
|
||
Sun May 18 13:50:10 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* cccp.c (VMS_write, VMS_read): Delete.
|
||
(safe_write): If MAX_WRITE_LEN is defined, limit
|
||
incremental write attempts to that amount.
|
||
(safe_read): Analogous situation for MAX_READ_LEN.
|
||
* cpplib.c (safe_read): Likewise.
|
||
* vax/xm-vms.h (MAX_WRITE_LEN, MAX_READ_LEN): Define.
|
||
|
||
* vax/xm-vms.h (get_dynamic_handler_chain_libfunc): New macro.
|
||
(protect_cleanup_actions_with_terminate): New macro.
|
||
|
||
Sun May 18 08:50:25 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k/linux.h (ASM_COMMENT_START): Define.
|
||
* m68k/linux-aout.h (ASM_COMMENT_START): Define.
|
||
|
||
* reload1.c (reload_cse_regno_equal_p): Check for value using more
|
||
than one register on a big endian machine.
|
||
|
||
Sun May 18 08:39:59 1997 Vince Del Vecchio <vdelvecc@spd.analog.com>
|
||
|
||
* loop.c (maybe_eliminate_biv_1): In (set (cc0) <biv>) case,
|
||
swap compare operands when mult_val < 0 in one additional place.
|
||
|
||
Sun May 18 08:33:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* dwarf2out.c (ASM_COMMENT_START): Add default definition.
|
||
|
||
* Makefile.in (maintainer-claean): Delete configure.
|
||
|
||
Sun May 18 08:31:59 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* configure.in: New file.
|
||
* Makefile.in: Change to utilize autoconf variables.
|
||
* configure: Now an output file.
|
||
|
||
Sun May 18 07:48:31 1997 J.T. Conklin <jtc@netbsd.org>
|
||
|
||
* m68k.md (mov[qhs]i,movstrict[qs]i, mulsi3): Use 'Q' constraint
|
||
for TARGET_5200.
|
||
* m68k.h (EXTRA_CONSTRAINT): New macro.
|
||
|
||
* m68k.h (TARGET_SWITCHES): Add 68020-60.
|
||
Mask out bits which indicate a particular processor when a different
|
||
processor is selected.
|
||
(MASK_68040_ALSO): Remove.
|
||
(MASK_68040): Change to be a single bit.
|
||
|
||
* m68k.h (TARGET_ALIGN_INT, MASK_ALIGN_INT): New macros.
|
||
(BIGGEST_ALIGNMENT): Determine according to TARGET_ALIGN_INT.
|
||
(TARGET_SWITCHES): Add align-int and no-align-int.
|
||
|
||
* m68k.md (mov[qhs]i}): Add pair of constraints which allow
|
||
offsetable memory addresses to be moved to the same for TARGET_5200.
|
||
|
||
* m68k.c (output_move_strict{hi,qi}): New functions.
|
||
* m68k.h (output_move_strict{hi,qi}): Declare.
|
||
* m68k.md (movstrict*): Changed into define_expands.
|
||
Split insns into m68k and coldfire specific versions with appropriate
|
||
constraints.
|
||
|
||
Sun May 18 07:26:40 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* libgcc2.c (atexit): Cast malloc and realloc calls.
|
||
|
||
Sat May 17 16:26:51 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* final.c (profile_function): Call function_section, not
|
||
text_section.
|
||
|
||
Sat May 17 16:01:00 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* cse.c (notreg_cost): New function, extracted from COST macro.
|
||
(COST): Use notreg_cost.
|
||
|
||
Sat May 17 15:13:23 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* cse.c (cse_insn): Don't record a SRC that's a MEM and the same
|
||
as a REG_EQUIV note if DEST is set more than once.
|
||
|
||
Fri May 16 14:50:57 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (output_move_double): Handle loading a general register
|
||
from a scaled indexed memory address.
|
||
* pa.md (movdf, movdi): Allow scaled loads into general registers.
|
||
|
||
Fri May 16 13:31:08 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_stack_info): Only do eabi setup for "main",
|
||
when main is the global main, not some nested routine that
|
||
happens to be called main.
|
||
|
||
Thu May 15 17:19:50 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (expand_start_all_catch): If the machine needs to
|
||
perform any actions at the start of an expcetion handler that
|
||
hasn't already been done, use gen_exception_receiver to emit it.
|
||
(expand_leftover_cleanups): Likewise.
|
||
* alpha.md (exception_receiver): Use it.
|
||
* pa.h (exception_receiver): Use it.
|
||
|
||
Thu May 15 08:36:59 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* dbxout.c (dbxout_function_end): Don't subtract one from
|
||
the end of function scoping stab.
|
||
|
||
Wed May 14 23:27:09 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (adddi3, subdi3): Remove expanders and patterns.
|
||
|
||
Wed May 14 18:51:35 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* function.c (expand_function_end): Make sure we finish off any
|
||
leftover exception handlers.
|
||
|
||
Tue May 13 14:07:01 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* expr.c (expand_builtin_setjmp): Remove setting of
|
||
current_function_has_nonlocal_goto, as this isn't a goto.
|
||
|
||
Tue May 13 14:47:40 1997 Richard Earnshaw (rearnsha@cambridge.arm.com)
|
||
|
||
* arm.h (CPP_SPEC): Fix typo invoking cpp_endian.
|
||
* arm/t-semi (LIB2FUNCS_EXTRA): Build fp-bit.c when compiling
|
||
with -msoft-float.
|
||
* arm.c: Add prototypes for all static functions.
|
||
(output_multi_immediate, int_log2): Make static.
|
||
|
||
* arm.h (*_SPEC): Remove all references to mle/mbe.
|
||
* arm/coff.h (MULTILIB_DEFAULTS): Likewise.
|
||
* arm/t-bare (MULTILIB_OPTIONS): Change options mbe/mle to mbig-endian
|
||
and mlittle-endian.
|
||
(MULTILIB_MATCHES): Nothing matches that matters.
|
||
|
||
Mon May 12 20:42:20 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (expand_start_all_catch): If need nonlocal_goto_receiver,
|
||
add one at the start of exception handler.
|
||
(expand_leftover_cleanups): Likewise.
|
||
|
||
Mon May 12 17:36:28 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c (move_operand): Accept any general operand after reload
|
||
has started.
|
||
|
||
Fri May 9 14:29:33 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (udivmodhi4, divmodhi4): Remove expander, give
|
||
corresponding pattern [u]divmodhir4 name. Clear MDR register
|
||
in the udivmodhi4 pattern itself.
|
||
(clear_mdr): Delete pattern.
|
||
|
||
Thu May 8 18:20:30 1997 Richard Earnshaw (rearnshaw@cambridge.arm.com)
|
||
|
||
* arm/aout.h (ASM_OUTPUT_LONG_DOUBLE): Delete call to
|
||
arm_increase_location.
|
||
(ASM_OUTPUT_{DOUBLE,FLOAT,INT,SHORT,CHAR,BYTE,ASCII,SKIP}): Likewise.
|
||
(ASM_OUTPUT_ALIGN): Delete all code refering to arm_text_location.
|
||
|
||
* arm.c (arm_increase_location, get_prologue_size): Delete.
|
||
(arm_naked_function_p): Add declaration.
|
||
(arm_pic_register): Define.
|
||
(all_procs): Delete entries for arm{60,620,70,7d,7di,700i,710c}; add
|
||
entries for arm{7m,7500fe,8}, strongarm and strongarm110.
|
||
(arm_override_options): Rework so that configure can properly set
|
||
the default processor type. Add a warning that PIC code is not yet
|
||
supported.
|
||
(legitimate_pic_operand_p, legitimize_pic_address): New functions.
|
||
(is_pic, arm_finalize_pic): New functions.
|
||
(arm_adjust_cost): New function.
|
||
(const_pool_offset, arm_backwards_branch, short_branch): Delete.
|
||
(arm_insn_not_targeted): Delete.
|
||
(add_constant): If generating AOF syntax, then handle pic specially.
|
||
(output_ascii_pseudo_op): Delete calls to arm_increase_location.
|
||
(function_really_clobbers_lr): Calls followed by a barrier don't
|
||
clobber the link register.
|
||
(output_func_prologue): Handle AOF syntax pic code.
|
||
(output_func_epilogue): Handle cases where lr_save_eliminated is set.
|
||
Delete call to arm_increase_location.
|
||
(arm_asm_output_label): Simplify, since we no-longer need to cache the
|
||
label's address.
|
||
(aof_pic_entry): New function to keep track of pic symbols.
|
||
(aof_dump_pic_table): New function.
|
||
|
||
* arm.h (TARGET_CPU_arm*, TARGET_CPU_strongarm*, TARGET_CPU_generic):
|
||
define.
|
||
(CPP_ARCH_DEFAULT_SPEC): Set up based on setting of TARGET_CPU_DEFAULT.
|
||
(CPP_SPEC): Split up into sub-rule calls.
|
||
(CPP_CPU_SPEC): Add default definition.
|
||
(CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC): Add definitions.
|
||
(CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC): Add definitions.
|
||
(CPP_ENDIAN_SPEC, CPP_ENDIAN_DEFAULT_SPEC): Add definitions.
|
||
(CC1_SPEC): Map legacy -m[236] onto -mcpu=.. and -mapcs-{26,32} as
|
||
appropriate. Similarly for -mbe and -mle to -m{big,little}-endian.
|
||
(EXTRA_SPECS): Define.
|
||
(enum processor_type): New types for arm8 and strongarm.
|
||
(CONDITIONAL_REGISTER_USAGE): Handle flag_pic.
|
||
(LEGITIMIZE_ADDRESS): Likewise.
|
||
(ADJUST_COST): Define.
|
||
(PIC_OFFSET_TABLE_REGNUM): Define.
|
||
(FINALIZE_PIC): Define.
|
||
(LEGITIMATE_PIC_OPERAND_P): Define.
|
||
(OUTPUT_INT_ADDR_CONST): Define.
|
||
(ASM_OUTPUT_MI_THUNK): Delete calls to arm_increase_location.
|
||
(MASK_RETURN_ADDR): Use TARGET_APCS_32 not TARGET_6.
|
||
|
||
* arm.md (attr cpu): Add new cpu types for arm8 and strongarm.
|
||
(attr ldsched): New attribute, set if processor has a load_delay slot.
|
||
(function_unit core): Rework to handle load delay slots.
|
||
(function_unit loader): New function unit.
|
||
(movsi): Handle pic.
|
||
(pic_load_addr): New expand.
|
||
(*pic_load_addr_based_insn, pic_add_dot_plus_eight): New patterns.
|
||
(peepholes to cause flow to return to a label after a function call):
|
||
Delete, these have been disabled for a while now.
|
||
|
||
* arm/riscix.h (CPP_SPEC): Rewrite using new sub-components.
|
||
(SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
|
||
* arm/riscix1-1.h (CPP_SPEC): Rewrite using new sub-components.
|
||
(SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
|
||
* arm/semi.h: (CPP_SPEC): Delete.
|
||
(PROCESSOR_DEFAULT): Delete.
|
||
(CPP_APCS_PC_DEFAULT_SPEC): Define.
|
||
* arm/semiaof.h (CPP_SPEC): Delete.
|
||
(CPP_APCS_PC_DEFAULT_SPEC): Define.
|
||
* arm/t-semi (LIBGCC1_TEST): Don't build it.
|
||
(MULTILIB_{OPTIONS,DIRNAMES,EXCEPTIONS}): Build a suitable set of
|
||
cross libraries.
|
||
(LIBGCC): Set to stmp-multilib.
|
||
(INSTALL_LIBGCC): Set to install-multilib.
|
||
|
||
Thu May 8 15:20:46 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (output_float_compare): For pentiumpro use fcomip
|
||
followed by a float stack pop for "compare;pop;pop" cases.
|
||
|
||
Thu May 8 13:20:20 1997 Chris Torek <torek@elf.bsdi.com>
|
||
|
||
* fold-const.c (fold, truth_andor): Disable optimization for
|
||
side effects on RHS.
|
||
|
||
Wed May 7 15:43:57 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (start_dynamic_handler): Fix so we can use __builtin_setjmp,
|
||
and default to using __builtin_setjmp instead of setjmp.
|
||
* expr.c (expand_builtin_setjmp): New routine, split out from
|
||
existing inline code from expand_builtin.
|
||
(expand_builtin): Split out code into expand_builtin_setjmp.
|
||
* expr.h (expand_builtin_setjmp): Add declaration.
|
||
* libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead
|
||
of setjmp.
|
||
(__sjpopnthrow): Likewise.
|
||
* optabs.c (init_optabs): Likewise.
|
||
|
||
Wed May 7 18:01:24 1997 Samuel Figueroa <Samuel_Figueroa@next.com>
|
||
|
||
* rs6000.md (insv): Only combine insert with shift if
|
||
remaining source bits >= destination field size.
|
||
|
||
Tue May 6 15:48:52 1997 Jason Merrill <jason@gerbil.cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_begin_prologue): Increment
|
||
current_funcdef_number here.
|
||
(dwarf2out_end_epilogue): Not here.
|
||
|
||
Mon May 5 18:52:32 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
|
||
(shift_one, shift_two): Set CC_NO_CARRY as needed. Remove
|
||
references to CC_OVERFLOW_0.
|
||
(emit_a_shift): Similarly.
|
||
* h8300.h (CC_OVERFLOW_0): Remove.
|
||
* h8300.md: Use set_zn and set_znv for cc0 tracking.
|
||
(bCC): Restore the comparison is CC_OVERFLOW_UNUSABLE is set and
|
||
the comparison needs the overflow bits.
|
||
|
||
* mn10300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
|
||
* mn10300.h (CC_NO_CARRY): Define.
|
||
* mn10300.md: Use "set_zn" and "set_znv" to more accurately
|
||
describe cc0 status.
|
||
|
||
Fri May 2 17:00:33 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c: Reorganize, moving .debug_frame support to the top
|
||
of the file, and compile it if INCOMING_RETURN_ADDR_RTX is defined
|
||
even if DWARF2_DEBUGGING_INFO isn't.
|
||
(EH_FRAME_SECTION): New macro.
|
||
(output_call_frame_info): Handle .eh_frame variant.
|
||
(dwarf2out_def_cfa): Update cfa_*{reg,offset}.
|
||
(dwarf2out_frame_debug): Move cfa_*{reg,offset} to file scope.
|
||
(dwarf2out_end_epilogue): Increment current_funcdef_number here.
|
||
(dwarf2out_decl): Not here.
|
||
(dwarf2out_frame_init, dwarf2out_frame_finish): New fns.
|
||
(dwarf2out_init, dwarf2out_finish): Call them.
|
||
(output_die): Add missing 'case 8:'
|
||
(dwarf2out_decl): Revert other context_die = NULL change.
|
||
(add_bound_info): Restore default case.
|
||
|
||
Fri May 2 15:30:16 1997 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* m32r.h (LIT_NAME_P): New macro.
|
||
(SMALL_NAME_P): Use it.
|
||
(ASM_OUTPUT_ALIGNED_COMMON): Don't output to scommon if -msdata=none.
|
||
* m32r.c (addr24_operand): Handle literals.
|
||
(m32r_output_function_prologue): Use IMMEDIATE_PREFIX.
|
||
(m32r_output_function_epilogue): Likewise. Use shorter add insn if
|
||
able.
|
||
|
||
Fri May 2 14:40:44 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.h (RS6000_ALIGN): Macro renamed from ALIGN.
|
||
* rs6000.c (rs6000_stack_info): Use it.
|
||
|
||
Fri May 2 14:15:54 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_noop_set_p): When checking the values
|
||
equivalent to sreg, make sure the mode is right.
|
||
|
||
Fri May 2 12:53:03 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (reload_cse_invalidate_regno): Properly set
|
||
the mode for invalidate_regno_rtx.
|
||
|
||
Thu May 1 14:57:35 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (call_internal_symref): Fix typo.
|
||
|
||
Thu May 1 14:44:17 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (mips_asm_file_start): Use new macro TARGET_FILE_SWITCHING.
|
||
(mips_asm_file_end): Likewise.
|
||
* mips.h (TARGET_FILE_SWITCHING): Define.
|
||
(NO_DBX_FUNCTION_END): Define.
|
||
|
||
Thu May 1 09:08:40 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.c (output_addsi3): Replace "\\;" by "\n\t" in
|
||
assembler templates.
|
||
|
||
Thu May 1 09:00:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* integrate.c (subst_constants, case SUBREG): Cancel changes once
|
||
done with result.
|
||
|
||
Wed Apr 30 19:45:56 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (override_options): Set mips_split_addresses only if
|
||
TARGET_SPLIT_ADDRESSES is set.
|
||
* mips.h (MASK_SPLIT_ADDR, TARGET_SPLIT_ADDRESSES): New macros.
|
||
(TARGET_SWITCHES): Add -msplit-addresses, -mno-split-addresses.
|
||
* configure (mips*-*-ecoff*, mips*-*-elf*): Set MASK_SPLIT_ADDR
|
||
bit in target_cpu_default2.
|
||
|
||
* flags.h (current_function_is_thunk): Add extern to declaration.
|
||
|
||
* dbxout.c (dbxout_function): Test NO_DBX_FUNCTION_END at run time
|
||
instead of compile time.
|
||
|
||
* unroll.c (set_dominates_use): In second loop, add check for copy_end.
|
||
|
||
* mips.md (paradoxical_extendhidi2, paradoxical_extendqidi2): New
|
||
patterns.
|
||
|
||
Wed Apr 30 02:23:24 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* output.h (named_section): Add reloc argument.
|
||
(DECL_READONLY_SECTION): New macro.
|
||
* varasm.c (named_section): Add reloc argument, pass it to
|
||
ASM_OUTPUT_SECTION_NAME.
|
||
(UNIQUE_SECTION, UNIQUE_SECTION_P): Provide defaults.
|
||
(function_section): Pass reloc argument to named_section.
|
||
(variable_section, exception_section): Likewise.
|
||
(output_constant_def_contents): Likewise.
|
||
(assemble_start_function): Use UNIQUE_SECTION_P. UNIQUE_SECTION is
|
||
now a statement.
|
||
(assemble_variable): Likewise.
|
||
* mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Add reloc arg,
|
||
use DECL_READONLY_SECTION.
|
||
* psos.h, ptx4.h, a29k.h, alpha/elf.h, arm/coff.h, h8300.h: Likewise.
|
||
* i386/go32.h, i386/sco5.h, m68k/coff.h, mips/elf64.h: Likewise.
|
||
* mips/netbsd.h, pa.h, rs6000/sysv4.h, sh.h, sparc/sysv4.h: Likewise.
|
||
* config/svr4.h (SELECT_SECTION): Use DECL_READONLY_SECTION.
|
||
(ASM_OUTPUT_SECTION_NAME): Likewise, add reloc argument.
|
||
(MAKE_DECL_ONE_ONLY): Just set DECL_WEAK.
|
||
(UNIQUE_SECTION, UNIQUE_SECTION_P): Define.
|
||
* i386/cygwin32.h (UNIQUE_SECTION_P): Define.
|
||
(SUPPORTS_ONE_ONLY): Define.
|
||
(MAKE_DECL_ONE_ONLY): Lose.
|
||
(ASM_OUTPUT_SECTION_NAME): Add reloc arg, use DECL_READONLY_SECTION.
|
||
* i386/winnt.c (i386_pe_unique_section): Add reloc arg,
|
||
use DECL_READONLY_SECTION.
|
||
|
||
* mips/iris6.h (CTORS_SECTION_ASM_OP): Change aligment based on ABI.
|
||
(DTORS_SECTION_ASM_OP): Likewise.
|
||
|
||
Tue Apr 29 16:08:07 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa/lib1funcs.asm (divnorm, modnorm, exitdiv): Fix code to
|
||
negate SImode values.
|
||
|
||
Tue Apr 29 12:54:14 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (expand_eh_region_start_tree): Add DECL argument so we
|
||
can better track why the region was made for error reporting.
|
||
* except.h (expand_eh_region_start_tree): Likewise.
|
||
* tree.h (expand_dhc_cleanup): Likewise.
|
||
(expand_dcc_cleanup): Likewise.
|
||
* except.c (expand_eh_region_start_for_decl): New routine.
|
||
* except.h (expand_eh_region_start_for_decl): Likewise.
|
||
* stmt.c (expand_decl_cleanup): Add DECL to call of
|
||
expand_eh_region_start_tree.
|
||
(expand_dcc_cleanup): Likewise.
|
||
(expand_dhc_cleanup): Likewise.
|
||
(expand_start_case): Switches introduce conditional contexts.
|
||
(expand_start_case_dummy): Likewise.
|
||
(expand_start_case_dummy): Likewise.
|
||
(expand_end_case): Likewise.
|
||
|
||
Tue Apr 29 11:45:09 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_decl): Undo earlier change.
|
||
(constant_size): Likewise.
|
||
(gen_subprogram_die): Handle NULL context_die.
|
||
|
||
* mips/iris6.h (ASM_OUTPUT_CONSTRUCTOR): Fix for -mabi=64.
|
||
(ASM_OUTPUT_DESTRUCTOR): Likewise.
|
||
|
||
Mon Apr 28 09:10:19 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.c (push_order, pop_order): Add missing initializer entries.
|
||
|
||
Fri Apr 25 19:39:43 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* h8300.c (output_adds_subs): Check for adding 0.
|
||
|
||
Fri Apr 25 14:52:31 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure (i[3456]86-*-freebsdelf*, i[3456]86-*-freebsd*): Use
|
||
t-freebsd instead of x-freebsd.
|
||
* i386/t-freebsd: Renamed from x-freebsd.
|
||
|
||
Fri Apr 25 12:16:20 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* go32.h (DBX_*): Use definitions from config/dbxcoff.h instead.
|
||
|
||
Fri Apr 25 11:55:54 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/cygwin32.h (MULTIPLE_SYMBOL_SPACES): Define.
|
||
|
||
Thu Apr 24 18:32:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/winnt.c (i386_pe_unique_section): New fn.
|
||
* i386/cygwin32.h (UNIQUE_SECTION): Define.
|
||
(MAKE_DECL_ONE_ONLY): Define.
|
||
(ASM_OUTPUT_SECTION_NAME): Support DECL_ONE_ONLY.
|
||
|
||
* c-decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
|
||
|
||
Thu Apr 24 17:11:23 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
|
||
TARGET_5200 support.
|
||
|
||
Thu Apr 24 16:39:25 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stmt.c (pushcase_range): Check for null range first.
|
||
|
||
Wed Apr 23 23:06:28 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_record_set): Use push_operand to check for
|
||
changes to the stack pointer.
|
||
|
||
Wed Apr 23 19:56:01 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* calls.c (expand_call): If we're in a thunk, pass through invisible
|
||
references instead of making a copy.
|
||
* flags.h: Add current_function_is_thunk.
|
||
* function.c: Likewise.
|
||
(init_function_start): Initialize it.
|
||
(push_function_context_to): Save it.
|
||
(pop_function_context_from): Restore it.
|
||
* function.h (struct function): Add is_thunk.
|
||
|
||
Wed Apr 23 17:47:25 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (secondary_reload_class): Handle more cases where we
|
||
need secondary reloads.
|
||
(impossible_plus_operand): Accept anything that involves addition
|
||
of the stack pointer.
|
||
* mn10300.md (reload_insi): Always load the stack pointer into
|
||
the destination (which is always an address register).
|
||
* mn10300.h (STORE_FLAG_VALUE): Remove definition.
|
||
* xm-mn10300.h: Declare malloc, realloc, calloc and free.
|
||
|
||
Wed Apr 23 14:28:30 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* expr.h (sjthrow_libfunc): Add support for setjmp/longjmp based
|
||
exception handling.
|
||
({sjpopnthrow,terminate,setjmp,longjmp}_libfunc): Likewise.
|
||
(get_dynamic_handler_chain_libfunc): Likewise.
|
||
* expr.c (expand_expr, case TRY_CATCH_EXPR): Likewise.
|
||
(expand_expr, case POPD{C,H}C_EXPR): Likewise.
|
||
* stmt.c (mark_block_as_eh_region): Likewise.
|
||
(mark_block_as_not_eh_region): Likewise.
|
||
(is_eh_region, conditional_contex, expand_start_bindings): Likewise.
|
||
(expand_end_bindings, expand_{decl,dcc,dhc}_cleanup): Likewise.
|
||
(expand_cleanups): Likewise.
|
||
* tree.h (mark_block_as_eh_region): Likewise.
|
||
(mark_block_as_not_eh_region, is_eh_region): Likewise.
|
||
conditional_context, expand_dhc_cleanup): Likewise.
|
||
* except.c (exception_via_longjmp): Likewise.
|
||
(protect_cleanup_actions_with_terminate): Likewise.
|
||
(current_function_d{h,c}c, add_partial_entry): Likewise.
|
||
(get_dynamic_{handler,cleanup}_chain): Likewise.
|
||
(start_dynamic_{cleanup, handler}): Likewise.
|
||
(expand_eh_region_start{,_tree}, expand_eh_region_end): Likewise.
|
||
(emit_throw, expand_leftover_cleanups): Likewise.
|
||
(expand_{start,end}_all_catch, protect_with_terminate): Likewise.
|
||
({start,end}_eh_unwinder, init_eh_for_function): Likewise.
|
||
({save,restore}_eh_status, exception_optimize): Likewise.
|
||
* optabs.c ({sjthrow,sjpopnthrow,terminate,setjmp}_libfunc): Likewise.
|
||
({longjmp,get_dynamic_handler_chain}_libfunc): Likewise.
|
||
(init_optabs): Likewise.
|
||
* except.h: Likewise.
|
||
* libgcc2.c (__default_terminate): Likewise.
|
||
(__terminate, __get_dynamic_handler_chain, __sjthrow): Likewise.
|
||
(__sjpopnthrow): Likewise.
|
||
* toplev.c (f_options): Likewise.
|
||
* tree.def (TRY_CATCH_EXPR, POPDHC_EXPR, POPDCC_EXPR): Likewise.
|
||
* pa.h (JMP_BUF_SIZE): Define.
|
||
* sparc.h (JMP_BUF_SIZE): Define.
|
||
|
||
* expr.h (cleanups_this_call): Transform uses of cleanups_this_call
|
||
into uses of the cleanups managed by the block code
|
||
(expand_start_bindings and friends). Remove defer_cleanups_to and
|
||
expand_cleanups_to, and use start_cleanup_deferal and
|
||
end_cleanup_deferal instead. Add exception_region,
|
||
target_temp_slot_level, conditional_code,
|
||
last_unconditional_cleanup and cleanup_ptr to struct nesting to
|
||
facilitate conditional cleanups.
|
||
* expr.c (cleanups_this_call, init_expr): Likewise.
|
||
({save,restore}_expr_status, store_expr): Likewise.
|
||
(expand_expr, {defer,expand}_cleanups_to): Likewise.
|
||
(do_jump, case TRUTH_{AND,OR}IF_EXPR): Likewise.
|
||
(do_jump, case COND_EXPR): Likewise.
|
||
* stmt.c (struct nesting): Likewise.
|
||
(expand_return, expand_start_bindings, expand_end_bindings): Likewise.
|
||
(expand_cleanups, {start,end}_cleanup_deferal): Likewise.
|
||
* tree.h (start_cleanup_deferal): Likewise.
|
||
(end_cleanup_deferal): Likewise.
|
||
* calls.c (expand_call): Likewise.
|
||
* function.h (struct function): Likewise.
|
||
* except.c (asynchronous_exceptions): Support
|
||
-fasynchronous_exceptions.
|
||
(can_throw): Likewise.
|
||
* toplev.c (f_options): Likewise.
|
||
|
||
* flags.h (flag_short_temps): Remove support for short temps.
|
||
* calls.c (expand_call): Likewise.
|
||
* toplev.c (flag_short_temps): Likewise.
|
||
|
||
* stmt.c (expand_start_target_temps): Add for convenience.
|
||
(expand_end_target_temps): Likewise.
|
||
* except.c (jumpif{,not}_rtx): Likewise.
|
||
|
||
* stmt.c: Remove all traces of empty_cleanup_list.
|
||
|
||
Wed Apr 23 17:26:40 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_mem_conflict_p): Don't assume that a
|
||
SUBREG can not conflict with a MEM.
|
||
|
||
Wed Apr 23 09:48:58 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
|
||
|
||
* 1750a.md (cmphi): Fixed when next CC user is unsigned.
|
||
(mov[hq]i-[23]): New patterns for mem-indirect moves.
|
||
(movhf,movtqf): Corrected.
|
||
* 1750a.c (memop_valid): Memory indirection now valid.
|
||
(nonindirect_operand): Remove.
|
||
(print_operand): Fix the 'J' output modifier.
|
||
* 1750a.h (FRAME_POINTER_REQUIRED): Not required.
|
||
(INITIAL_FRAME_POINTER_OFFSET,FIX_FRAME_POINTER_ADDRESS): Undefine.
|
||
(FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Honor -fomit-frame-pointer.
|
||
(ELIMINABLE_REGS,CAN_ELIMINATE,INITIAL_ELIMINATION_OFFSET): Defined.
|
||
(PREFERRED_RELOAD_CLASS): Corrected.
|
||
(CONST_COSTS,ADDRESS_COST,REGISTER_MOVE_COST,MEMORY_MOVE_COST):
|
||
Slight adjustments.
|
||
(ASM_APP_ON,ASM_APP_OFF): Corrected.
|
||
* ms1750.inc (DUCR.M,DUC.M): Defined.
|
||
|
||
Wed Apr 23 09:41:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* reload.c (push_reload): Fix last arg of call to find_dummy_reload.
|
||
|
||
Wed Apr 23 09:29:14 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure (i[3456]86-next-*, m68k-next-nextstep{2,3}*):
|
||
Remove out_file and add extra_objs.
|
||
* config/nextstep.c: Add includes for config.h, stdio.h, and flags.h.
|
||
* {i386,m68k}/t-next (nextstep.o): New rule.
|
||
* m68k/next.h: Remove include of machmode.h.
|
||
* {i386,m68k}/next.c: Files deleted.
|
||
|
||
Tue Apr 22 20:45:29 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* sparc.h (DBX_CONTIN_LENGTH): Shrink to 1000.
|
||
|
||
Tue Apr 22 18:21:20 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_variable_dir): Add test for DW_AT_declaration to
|
||
the old_die if statement, and delete assertion for it.
|
||
(decl_ultimate_origin): Remove last change.
|
||
|
||
Tue Apr 22 10:22:27 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (expand_prologue): End the current sequence before
|
||
counting the tst insns in the current function. Start a new
|
||
one before emitting any prologue instructions.
|
||
|
||
* mn10300.h (REGISTER_MOVE_COST): Bump up cost of moves in the
|
||
same class.
|
||
|
||
* mn10300.md (untyped_call): New expander.
|
||
|
||
Mon Apr 21 16:30:21 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* cse.c (fold_rtx, case PLUS): When seeing if negative of constant
|
||
is around, make sure not dealing with largest negative.
|
||
|
||
Mon Apr 21 13:57:53 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/t-ecoff: Set TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
|
||
|
||
* m68k.c (output_addsi3): New function. From addsi3 pattern.
|
||
* m68k.h (output_addsi3): Add declaration.
|
||
* m68k.md (movqi+2): Add address registers.
|
||
(movxf+1): Disable for TARGET_5200.
|
||
(movxf+2): New pattern for TARGET_5200.
|
||
(addsi3): Add define_expand. Move code to output_addsi3.
|
||
(addsi3_internal): Renamed from addsi3. Disable for TARGET_5200.
|
||
(addsi3_5200): New pattern for TARGET_5200.
|
||
|
||
Sun Apr 20 10:45:35 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* fold-const.c (operand_equal_p): Constants are not equal if there
|
||
has been an overflow.
|
||
|
||
* toplev.c (compile_file): Shorten "branch-probabilities" in
|
||
output of times.
|
||
|
||
* alpha/vms.h (MOD[SD]I3_LIBCALL): Call ots$rem, not ots$mod.
|
||
(DWARF2_DEBUGGING_INFO): Define.
|
||
|
||
* alpha.c (alpha_need_linkage): Call get_identifier.
|
||
|
||
* rs6000.c (rs6000_output_load_toc_table): New function.
|
||
(output_prolog): Call it instead of doing it directly.
|
||
* rs6000.md (nonlocal_goto_receiver): New pattern.
|
||
|
||
* dwarf2out.c: Major cleanup; mostly reformatting.
|
||
Include expr.h.
|
||
Undefine inline ifndef __GNUC__; never define to include static.
|
||
Add "static" to header of all inlined functions.
|
||
Add declarations for all static functions, with prototypes.
|
||
(addr_const_to_string): Use HOST_WIDE_INT_PRINT_* macros.
|
||
(add_AT_*, new_{die,loc_descr,cfi): Don't check for xmalloc
|
||
returning zero.
|
||
(modified_type_die): Add missing parm on recursive call.
|
||
({reg,based}_loc_descriptor): Add missing arg to call to new_loc_descr.
|
||
(add_const_value_attribute): Use REAL_VALUE_TYPE for fp calculations.
|
||
(output_call_frame_info): Add missing arg to output_cfi call.
|
||
(dwarf2out_def_cfa): Local variable OLD_REG must be unsigned long.
|
||
* Makefile.in (dwarf2out.o): Includes expr.h.
|
||
|
||
* dwarf2out.c: Cast first arg in all calls to bzero to char *.
|
||
(decl_ultimate_origin): Return NULL if equal to decl.
|
||
(constant_size): Never return more than 4.
|
||
(value_format, case 8): New case.
|
||
(dwarf2out_frame_debug): Use HARD_FRAME_POINTER_REGNUM.
|
||
(based_loc_descr): Likewise.
|
||
(add_bound_info): Delete default case.
|
||
Add cases for CONVERT_EXPR and NON_LVALUE_EXPR; treat like NOP_EXPR.
|
||
Change NOP_EXPR to recursive call.
|
||
(add_type_attribute): Ignore unnamed subtype of integral or FP.
|
||
(gen_subprogram_die): Use reg_loc_descriptor.
|
||
(dwarf2out_decl): Ignore nested functions.
|
||
|
||
* fix-header.c, protoize.c, gcov.c: Use symbolic codes for exit.
|
||
|
||
* final.c (profile_function): Only call ASM_OUTPUT_REG_{PUSH,POP}
|
||
if defined.
|
||
|
||
* expr.c ({move,clear}_by_pieces_1, expand_assignment): Ensure
|
||
we have unshared rtx before changing flags.
|
||
(store_{constructor,field}): Likewise.
|
||
(expand_expr, case COMPONENT_REF): Likewise.
|
||
(store_expr): Check if TEMP and TARGET are same with rtx_equal_p.
|
||
|
||
* emit-rtl.c (change_address, init_emit): Delete forward references.
|
||
(rtl_obstack, stack_depth, max_stack_depth): Delete extern decls.
|
||
|
||
Fri Apr 18 18:25:52 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* function.c (instantiate_decls): For DECL_INCOMING_RTL, use max
|
||
of type size and mode size in instantiate_decl call.
|
||
|
||
* fixincludes (sys/lc_core.h): Fix OSF1/4.x namespace pollution.
|
||
|
||
Wed Apr 16 19:36:53 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (add_bound_info): Use a DIE instead of a location
|
||
expression for variable bounds. Trust a MEM rtx even when
|
||
optimizing.
|
||
(DWARF_FRAME_RETURN_COLUMN): Default to FIRST_PSEUDO_REGISTER.
|
||
|
||
* expr.c (expand_expr, case RTL_EXPR): If there is no sequence,
|
||
don't set it to const0_rtx.
|
||
* tree.c (array_type_nelts): Don't return any SAVE_EXPRs.
|
||
|
||
Mon Apr 14 18:12:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.h (RS6000_ITRUNC, RS6000_UITRUNC): Prepend underscores.
|
||
(RS6000_MCOUNT): New macro.
|
||
(ASM_FILE_START): Use RS6000_MCOUNT.
|
||
* rs6000.c (output_function_profiler): Use RS6000_MCOUNT.
|
||
* rs6000/aix31.h (RS6000_{ITRUNC,UITRUNC,MCOUNT}): New macros.
|
||
|
||
Mon Apr 14 14:37:27 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (can_use_return_insn): Include outgoing argument
|
||
area in size computation.
|
||
(expand_prologue): Likewise. No longer diddle with sequences.
|
||
Put register saves just before outgoing argument area.
|
||
(expand_epilogue): Similarly.
|
||
(impossible_plus_operand): New function.
|
||
* mn10300.h (FRAME_POINTER_REQUIRED): Never require a frame pointer.
|
||
(ACCUMULATE_OUTGOING_ARGS, OUTGOING_REG_PARM_STACK_SPACE): Define.
|
||
(impossible_plus_operand): Declare.
|
||
* mn10300.md (reload_insi): New expander to handle pathological
|
||
reload cases.
|
||
(addsi3): Fix CC status.
|
||
|
||
* mn10300.h (FUNCTION_VALUE): Return addresses in $a0.
|
||
(FUNCTION_VALUE_REGNO_P): Corresponding changes.
|
||
* mn10300.md (call_value_internal): Allow output to be in an
|
||
address register.
|
||
|
||
* calls.c (emit_library_call): Handle saving of stack slots when
|
||
ACCUMULATE_OUTGOING_ARGS is defined.
|
||
(emit_library_call_value): Likewise.
|
||
|
||
Mon Apr 14 14:48:15 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.md (xtrct_left, xtrct_right): New patterns.
|
||
|
||
* combine.c (get_last_value_validate): New argument insn.
|
||
Add check for memory reference clobbered by later store.
|
||
(record_value_for_reg, get_last_values): Pass in new argument.
|
||
|
||
Mon Apr 14 14:03:18 1997 Mike Meissner <meissner@cygnus.com>
|
||
|
||
* configure (powerpc --with-cpu=x): Add embedded powerpcs and 604e.
|
||
|
||
* rs6000.c (rs6000_override_options): Recognize -mcpu=801, -mcpu=823,
|
||
and -mcpu=604e.
|
||
|
||
Sun Apr 13 18:43:16 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (invalidate_regno_rtx): New static variable.
|
||
(reload_cse_invalidate_regno): Check whether any earlier registers
|
||
have a multi-register value which includes the register we are
|
||
invalidating.
|
||
(reload_cse_regs): Initialize invalidate_regno_rtx.
|
||
|
||
* reload1.c (reload_cse_record_set): When setting reg_values for a
|
||
copy from one register to another, use gen_lowpart_common to
|
||
adjust the value correctly if the mode changes.
|
||
|
||
Sun Apr 13 17:24:48 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* expr.c (move_block_from_reg): Try using integral mov operation first.
|
||
|
||
* calls.c (expand_call): When copying unaligned values into a register,
|
||
zero out the register first rather than emitting a clobber.
|
||
|
||
* integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD
|
||
and regno == VIRTUAL_STACK_VARS_REGNUM, round size of stack slot up
|
||
before calling assign_stack_temp.
|
||
|
||
Sun Apr 13 15:29:38 1997 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* enquire.c (fake_f_rep): Add missing element name in cast.
|
||
|
||
Sun Apr 13 15:20:05 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
|
||
Fix sign bug in last change.
|
||
|
||
Sun Apr 13 15:03:38 1997 J.T. Conklin <jtc@netbsd.org>
|
||
|
||
* m68k.md (movstricthi): Remove extraneous comparisons.
|
||
|
||
* configure (*-*-netbsd): tmake_file now t-netbsd; delete xmake_file.
|
||
* config/t-netbsd: New file.
|
||
* config/x-netbsd: Removed.
|
||
|
||
Sun Apr 13 14:51:25 1997 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* cse.c (canon_reg, cse_insn): Don't examine insn_n_dups if
|
||
recog_memoized fails to find a match.
|
||
|
||
Sun Apr 13 14:17:26 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_noop_set_p): Add insn parameter. Change
|
||
all callers. If deleting the instruction, remove any earlier
|
||
REG_DEAD note for DREG.
|
||
(reload_cse_simplify_set): If simplifying, remove any earlier
|
||
REG_DEAD note for the new source register.
|
||
|
||
Sun Apr 13 14:12:08 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* libgcc2 (L_bb, L_exit): Use 0 rather than NULL for null pointers.
|
||
|
||
Sun Apr 13 12:53:03 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k/linux.h (ASM_SPEC): Define.
|
||
(STRUCT_VALUE_REGNUM, STATIC_CHAIN_REGNUM, INITIALIZE_TRAMPOLINE):
|
||
Remove definitions, undoing the change of Mar 20 1996.
|
||
|
||
* m68k.c (output_move_qimode): Optimize pushing one byte if source
|
||
operand does not use stack pointer.
|
||
|
||
* m68k.md (rotl[shq]i3, rotl[hq]i3+1): Don't directly modify operand.
|
||
|
||
* m68k.md (tstdi): Add missing parallel around the pattern.
|
||
|
||
Sun Apr 13 12:51:00 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c, cpplib.c (do_include): Diagnose #import and
|
||
#include_next if pedantic and if not in a system header.
|
||
(do_warning): #warning now causes an error if -pedantic-errors
|
||
is given; this is needed since #warning isn't ANSI.
|
||
|
||
* toplev.c (lang_options): Add -Wundef, -Wno-undef.
|
||
* c-decl.c (c_decode_option): Ignore -Wundef, -Wno-undef.
|
||
|
||
* cccp.c, cexp.y (warn_undef): New variable.
|
||
* cpplib.h (struct cpp_options): New member warn_undef.
|
||
(CPP_WARN_UNDEF): New macro.
|
||
|
||
* cccp.c (main), cpplib.c (cpp_handle_options): Set warn_undef
|
||
from -Wundef and -Wno-undef.
|
||
|
||
* cppexp.c (cpp_lex) New arg skip_evaluation.
|
||
(cpp_parse_expr): Pass skip_evaluation to cpp_lex.
|
||
Abort if cpp_lex returns NAME.
|
||
|
||
* cexp.y (exp), cppexp.c (cpp_lex): Optionally warn about undefined
|
||
identifiers that evaluate to 0.
|
||
|
||
Sun Apr 13 11:43:16 1997 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* configure (hppa1.1-*-rtems*): New target.
|
||
* mips/rtems.h: New file.
|
||
|
||
Sun Apr 13 09:48:26 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* gcov.c (print_usage, open_files): Use FATAL_EXIT_CODE.
|
||
* collect2.c (fatal_perror, fatal, collect_wait): Likewise.
|
||
|
||
* sparc.c (eligible_for_delay_slot): Clean up and make to agree
|
||
precisely with patterns in MD file.
|
||
* sparc.md (*return_addsi): Change condition to exclude both ints.
|
||
(*return_adddi): Likewise.
|
||
(*return_subsi): New pattern.
|
||
|
||
* recog.c (validate_replace_rtx_1, case MINUS): New case.
|
||
|
||
Sun Apr 13 08:20:24 1997 Thomas Bushnell <thomas@gnu.ai.mit.edu>
|
||
|
||
* i386/gnu.h (TARGET_VERSION): Redefine.
|
||
|
||
Sun Apr 13 08:15:31 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* c-typeck.c (lookup_field): Don't recurse unless FIELD is
|
||
a RECORD_TYPE or UNION_TYPE.
|
||
|
||
* final.c (profile_function): Save the static chain register
|
||
around the call to the profiler function.
|
||
|
||
* loop.c (invariant_p, case REG): Pointers into frame are not
|
||
invariants if function has nonlocal gotos.
|
||
* reload1.c (reload): If function has nonlocal label, mark all
|
||
caller-saved regs as used.
|
||
|
||
Fri Apr 11 16:49:06 1997 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* m32r.h (REG_ALLOC_ORDER): Restore to original setting.
|
||
|
||
* m32r.h (UPPER16_P): Fix calculation.
|
||
* m32r.c (two_insn_const_operand): New function.
|
||
(m32r_print_operand): Handle 'X'.
|
||
* m32r.md (movsi): Tweak.
|
||
(*movsi_insn): Output hex value of constants too.
|
||
(movsi define_split): Add.
|
||
(andsi3,orsi3,xorsi3): Output hex value of constants too.
|
||
|
||
Thu Apr 10 18:39:33 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.md (sne): Modified to use negc instead of xor.
|
||
(sne+1): New define_split for new sne pattern.
|
||
* sh.c (output_stack_adjust): Reorganize code for readability.
|
||
If size is negative, negate and subtract it instead of adding it.
|
||
|
||
Wed Apr 9 13:51:07 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (output_stack_adjust): When splitting an adjustment into two
|
||
parts, make sure the stack is aligned at all times.
|
||
|
||
Tue Apr 8 12:34:38 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.h (RETURN_ADDR_RTX): Define.
|
||
|
||
Mon Apr 7 19:19:57 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (count_tst_insns): New function.
|
||
(expand_prologue): Load zero into data and/or address registers
|
||
if any are free and the function has optimizable tst insns.
|
||
(output_tst): If a suitable register is known to have the
|
||
value zero, use it instead of searching for a suitable register.
|
||
* mn10300.h (zero_dreg, zero_areg): Declare.
|
||
(FRAME_POINTER_NEEDED): Frame pointers are not needed if the
|
||
outgoing argument size is zero.
|
||
* mn10300.md (movXX): Optimize loading zero into an address
|
||
register if possible. Optimize loading a DF/DI mode value
|
||
into an address register from a constant memory address.
|
||
(addsi3): Provide alternative which doesn't require a matching
|
||
inout operand.
|
||
(return): Optimize consecutive return instructions.
|
||
|
||
Mon Apr 7 17:30:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* mips/iris5.h (SUBTARGET_CC1_SPEC): Define.
|
||
(LINK_SPEC, STARTFILE_SPEC): Support -static.
|
||
* mips/iris6.h (SUBTARGET_CC1_SPEC): Define.
|
||
(STARTFILE_SPEC, LINK_SPEC): Support -static.
|
||
* mips.h: (SUBTARGET_CC1_SPEC): Define.
|
||
(CC1_SPEC): Add subtarget_cc1_spec.
|
||
(EXTRA_SPECS): Add subtarget_cc1_spec.
|
||
|
||
Sun Apr 6 12:24:53 1997 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* arm.md (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.
|
||
|
||
Sat Apr 5 20:17:43 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sol-ci.asm (_environ): Don't make _envrion a common
|
||
variable, the lastest assembler doesn't let common variables also
|
||
be a weak symbol.
|
||
|
||
Fri Apr 4 18:30:12 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* rs6000.md (adddi3): Use non_short_cint_operand instead of
|
||
non_add_cint_operand.
|
||
|
||
Thu Apr 3 15:08:39 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* 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.
|
||
|
||
Thu Apr 3 15:06:53 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* local-alloc.c (no_conflict_p): Reject sequences with foreign insns.
|
||
|
||
* combine.c (move_deaths): Handle partial REG_DEAD note for
|
||
multi-reg hard register.
|
||
|
||
* function.c (expand_function_start): Emit queue after expanding
|
||
each dynamic parameter type.
|
||
|
||
* mips.c (mips_move_2words): Add SIGN_EXTEND support for SYMBOL_REF,
|
||
LABEL_REF, and CONST operands.
|
||
|
||
* dwarf2out.c: Delete comment referring to README.DWARF.
|
||
|
||
Wed Apr 2 17:21:23 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* rs6000.md (ashrdi3_power): Mark alternative 0 as early_clobber
|
||
output.
|
||
|
||
* rs6000.md (abssi3_nopower define_split): Switch operands of MINUS.
|
||
(nabssi3_nopower define_split): Likewise.
|
||
|
||
Tue Apr 1 19:30:01 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* 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.
|
||
|
||
Tue Apr 1 17:16:22 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (USER_H): Add va-mn10300.h
|
||
|
||
* ginclude/stdarg.h: Include va-mn10300.h.
|
||
* ginclude/varargs.h: Likewise.
|
||
* ginclude/va-mn10300.h: New file.
|
||
* mn10300.c (expand_prologue): If current_function_varargs is nonzero,
|
||
flush d0/d1 back into 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.h (FIRST_PARM_OFFSET): Now 4.
|
||
(FRAME_POINTER_REQUIRED): Require frame pointer for all non-leaf fcns.
|
||
(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.md (call, call_value patterns): Allocate and deallocate
|
||
stack slot for return pointer around each call.
|
||
|
||
* mn10300.h (RTX_COSTS): Refine.
|
||
(CASE_VALUES_THRESHHOLD, NO_FUNCTION_CSE): Likewise.
|
||
* mn10300.c (output_tst): New function.
|
||
* mn10300.md (movdi, movdf): Improve code to load constants into regs.
|
||
(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.
|
||
|
||
Tue Apr 1 09:14:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h: (ADJUST_COSTS): Define.
|
||
|
||
Fri Mar 28 17:46:13 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (LANGUAGES): Add gcov.
|
||
(OBJS): Add profile.o.
|
||
(STAGESTUFF): Add gcov.
|
||
(profile.o, gcov.o, gcov): Add rules to build them.
|
||
(install-common): Install gcov.
|
||
* combine.c (distribute_notes): Handle REG_BR_PROB and REG_EXEC_COUNT
|
||
REG_NOTES.
|
||
* sparc.h (OVERRIDE_OPTIONS): Check profile_arc_flag.
|
||
* 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.
|
||
* flags.h (profile_arc_flag, flag_test_coverage,
|
||
flag_branch_probabilities): Declare.
|
||
* function.c (expand_function_end): Output NOTE_REPEATED_LINE_NUMBER
|
||
for last line of function.
|
||
* integrate.c (expand_inline_function): Output
|
||
NOTE_REPEATED_LINE_NUMBER after inlined call.
|
||
* 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.
|
||
* libgcc2.c (__bb_exit_func): Support gcov style output.
|
||
* reorg.c (mostly_true_jump): Use REG_BR_PROB notes when
|
||
flag_branch_probabilities.
|
||
* rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
|
||
(reg_note_name): 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.
|
||
* sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB
|
||
notes.
|
||
* 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.
|
||
* gcov.c, profile.c, gcov-io.h, gcov.texi: New files.
|
||
|
||
Thu Mar 27 16:52:52 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.h (CPP_CPU_DEFAULT): Define if TARGET_CPU_DEFAULT is not set.
|
||
* i386.h (STACK_BOUNDARY): Define to always be 32.
|
||
|
||
From J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
* i386.md: (zero_extendhisi2+[12]): Use true_regnum instead of
|
||
REGNO for operand 0.
|
||
(zero_extendqisi2+3): Use reg_overlap_mentioned_p instead of REGNO
|
||
comparison; use true_regnum instead of REGNO for rtx generation.
|
||
|
||
Wed Mar 26 12:34:21 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (reload): Call reload_cse_regs.
|
||
(reg_values): New static variable.
|
||
(reload_cse_invalidate_regno): New static function.
|
||
(reload_cse_mem_conflict_p): New static function.
|
||
(reload_cse_invalidate_mem): New static function.
|
||
(reload_cse_invalidate_rtx): New static function.
|
||
(reload_cse_regs): New static function.
|
||
(reload_cse_regno_equal_p): New static function.
|
||
(reload_cse_noop_set_p): New static function.
|
||
(reload_cse_simplify_set): New static function.
|
||
(reload_cse_check_clobbered): New static variable.
|
||
(reload_cse_check_src): New static variable.
|
||
(reload_cse_check_clobber): New static function.
|
||
(reload_cse_record_set): New static function.
|
||
|
||
Wed Mar 26 07:34:06 1997 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* ginclude/stdarg.h (__va_copy): New definition.
|
||
|
||
Tue Mar 25 13:43:36 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* gcc.c (init_spec): If -v, print out that the default spec values
|
||
were being used. Fix prototype to reflect no arguments.
|
||
(set_spec): If specs has not been set, set it up with the default
|
||
specs.
|
||
(read_specs): Move to later in the file so that startfile_prefixes
|
||
has been declared. Process "%include <file>" to include another
|
||
specs file, aborting if the file can't be found. Process
|
||
"%include_noerr <file>: to include another specs file, giving no
|
||
error if the file can't be found. Process "%rename var1 var2" to
|
||
rename a specs variable. Take new argument that indicates whether
|
||
we are processing the main file. Only process % commands if this
|
||
is not the main specs file. Change callers.
|
||
(main): Do not call init_spec if a specs file was found.
|
||
(set_spec,read_specs,do_spec_1): If DEBUG_SPECS is defined, print
|
||
debug information.
|
||
|
||
Tue Mar 25 14:43:58 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* expr.c (emit_push_insn): Delete emission of CLOBBER
|
||
when doing partial push, no longer necessary.
|
||
|
||
* c-decl.c (grokdeclarator): Pedwarn qualified void function return
|
||
type.
|
||
|
||
Tue Mar 25 14:28:15 1997 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* reload.c (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.
|
||
|
||
Tue Mar 25 13:20:18 1997 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* m68k/lb1sf68.asm (udivsi3): Fix hunk from previous patch that
|
||
did not apply correctly.
|
||
|
||
* m68k.md (tablejump): Use extl to explicitly sign extend
|
||
index registeron TARGET_5200.
|
||
* m68k/{apollo68.h,coff.h,linux.h,mot3300.h,pbb.h}
|
||
(ASM_RETURN_CASE_JUMP): Likewise.
|
||
|
||
* m68k.md (mulsi3): Changed into define_expand. Split insn into
|
||
m68k and coldfire specific versions with appropriate constraints.
|
||
|
||
* m68k.md (movqi): Disable use of address registers for
|
||
TARGET_5200.
|
||
|
||
* m68k/lb1sf68.asm (__modsi3, __umodsi3): Use mulsl instruction
|
||
instead of __mulsi3 function call on the coldfire.
|
||
|
||
* m68k.md (bne0_di): Fix typo in last change.
|
||
|
||
* m68k.md (xorsi3_5200): Correct constraints.
|
||
|
||
* m68k.c (output_move_{si,hi,qi}mode): New functions.
|
||
* m68k.h (output_move_{si,hi,qi}mode): Declare.
|
||
|
||
* m68k.md (move{si,hi,qi,di}): Changed into define_expands. Split
|
||
insns into m68k and coldfire specific versions with appropriate
|
||
constraints.
|
||
|
||
Tue Mar 25 12:18:41 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* Makefile.in (GCC_PASSES): Revert previous change; use cc1$(exeext).
|
||
|
||
Mon Mar 24 16:12:20 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* m32r/*: New files.
|
||
* config.sub: Add m32r.
|
||
* configure: Add m32r.
|
||
* longlong.h: Add m32r support.
|
||
* ginclude/{stdarg.h,varargs.h}: Add m32r support.
|
||
* ginclude/va-m32r.h: New file.
|
||
|
||
Mon Mar 24 15:53:15 1997 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* rs6000/rtems.h: Change to a near clone of the powerpc-eabi target.
|
||
* configure (powerpc*-*-rtems): Move before GNU/Linux configuration.
|
||
|
||
Mon Mar 24 14:26:37 1997 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* ginclude/va-mips.h: For little endian, eabi, objects
|
||
less than __va_reg_size are passed in registers.
|
||
|
||
Fri Mar 21 00:48:02 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (print_operand): Handle 'N'.
|
||
|
||
* mn10300.c (expand_epilogue): Correctly handle functions
|
||
with large frames, but no callee register saves.
|
||
|
||
* mn1300.md (movdf, movdi): Handle overlapping moves.
|
||
|
||
* pa.c (compute_movstrsi_length): Handle residuals correctly.
|
||
|
||
Thu Mar 20 13:53:30 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (easy_fp_constant): If -mrelocatable, consider all fp
|
||
constants to be hard.
|
||
|
||
Mon Mar 20 13:53:30 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* rs6000.md (movdf/movsf define_splits): Add SUBREG support.
|
||
|
||
* rs6000.c (fp_reg_or_mem_operand): Delete.
|
||
* rs6000.h (PREDICATE_CODES): Remove fp_reg_or_mem_operand.
|
||
(fp_reg_or_mem_operand): Delete declaration.
|
||
* rs6000.md (movsf_hardfloat): Use nonimmediate_operand instead
|
||
of fp_reg_or_mem_operand.
|
||
|
||
Thu Mar 20 08:52:27 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (cmpsi): Handle comparing a register with
|
||
itself by adding zero to the reg. Z bit for such an insn is
|
||
inverted.
|
||
* mn10300.c (notice_update_cc): Handle CC_INVERT.
|
||
|
||
* pa.c (emit_move_sequence): Don't lose for a secondary reload
|
||
to the SAR register if the input is a MEM with an offset that won't
|
||
fit in 14bits.
|
||
|
||
Wed Mar 19 17:10:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k/linux.h (ASM_OUTPUT_MI_THUNK): Define.
|
||
|
||
Wed Mar 19 16:59:34 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c, cpplib.c (do_error, do_warning): Fix memory leak.
|
||
|
||
* cccp.c (output_line_directive): Do not output negative line
|
||
numbers when analyzing directives like `#line 0'.
|
||
|
||
* cexp.y (parse_number, yylex), cccp.c (rescan), cpplib.c
|
||
(cpp_get_token): Unless -lang-c89 is specified, allow C9X-style
|
||
hexadecimal floating-point numbers as preprocessor numbers.
|
||
* cccp.c (c89): New decl.
|
||
(main): Set it to 1 if -lang-c89.
|
||
* cpplib.h (struct cpp_options): New member c89.
|
||
(CPP_C89): New macro.
|
||
* cpplib.c (unsafe_chars): `p' is unsafe before `-' or `+', since it
|
||
might generate a C9X-style hexadecimal floating-point number.
|
||
(cpp_handle_options): Set c89 option to 1 if -lang-c89.
|
||
|
||
Tue Mar 18 17:05:57 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.h (STACK_BOUNDARY): Determine according to TARGET_ALIGN_DOUBLE.
|
||
|
||
* i386.c (override_options) Make the default alignment 4 for 486,
|
||
otherwise 2.
|
||
|
||
* i386/freebsd-elf.h (CPP_SPEC): Remove TARGET_CPU_DEFAULT reference.
|
||
* i386/linux{,-aout,-oldld}.h (CPP_SPEC): Likewise.
|
||
|
||
* i386/go32.h (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
|
||
NO_STAB_H, ASM_FILE_START, DBX_BLOCKS_FUNCTION_RELATIVE,
|
||
DBX_FUNCTION_FIRST, DBX_OUTPUT_MAIN_SOURCE_FILE_END,
|
||
ASM_OUTPUT_SOURCE_LINE): Added to support stabs.
|
||
(ASM_OUTPUT_SECTION_NAME): Support section attribute.
|
||
|
||
Tue Mar 18 16:12:28 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* final.c (shorten_branches): Split all insns before computing insn
|
||
lengths.
|
||
(final_scan_insn, case default): If HAVE_ATTR_length defined, call
|
||
abort for any insn that has a '#' output template.
|
||
|
||
* expr.c (emit_group_load): Call operand_subword instead of creating
|
||
an explicit SUBREG.
|
||
|
||
* reload1.c (reload_reg_free_before_p, case
|
||
RELOAD_FOR_OPERAND_ADDRESS): Conflicts with RELOAD_FOR_OPADDR_ADDR
|
||
reloads.
|
||
|
||
* configure (alpha-dec-osf[23456789]*): Use install-headers-cpio
|
||
for osf4.
|
||
|
||
* gcc.c (init_spec): Delete parameter. Always initialize extra_specs.
|
||
(process_command, main): Change all callers.
|
||
|
||
* combine.c (if_then_else_cond): Call copy_rtx to prevent sharing.
|
||
|
||
Tue Mar 18 14:59:12 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* function.c (assign_parms): Add a REG_EQUIV note to the
|
||
instruction which copies a parameter into a pseudo-register
|
||
whenever there is an associated stack slot, even if the parameter
|
||
actually arrived in a register.
|
||
|
||
Tue Mar 18 14:24:48 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* configure (alpha-dec-osf[23]): Separate osf[23] case.
|
||
* alpha.h (LIB_SPEC): -lprof1 requires -lpdf for OSF 4.
|
||
* alpha/osf2or3.h: New file.
|
||
|
||
Tue Mar 18 11:32:10 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.c (m68k_last_compare_had_fp_operands): New variable.
|
||
* m68k.h (m68k_last_compare_had_fp_operands): Declare it.
|
||
* m68k.md (tst*, cmp*): Turn into define_expand/define_insn pairs.
|
||
Keep track of whether test/compare has fp operands.
|
||
(seq, sne, sgt, slt, sge, sle): Turn into define_expand/define_insn
|
||
pairs. Make expanders FAIL if TARGET_68060 and last comparison/test
|
||
had fp operands.
|
||
|
||
Tue Mar 18 04:29:29 1997 Richard Earnshaw <rearnsha@armltd.co.uk>
|
||
|
||
* arm.md (movhi): Handle generation of large constants during
|
||
and after reload.
|
||
|
||
Mon Mar 17 17:30:24 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* gmicro.h (RETURN_POPS_ARGS): Make sure FUNDECL is non-nil
|
||
before we try to use it.
|
||
* m68k.h (RETURN_POPS_ARGS): Likewise.
|
||
* ns32k.h (RETURN_POPS_ARGS): Likewise.
|
||
* pyr.h (RETURN_POPS_ARGS): Likewise.
|
||
|
||
Mon Mar 17 17:13:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
|
||
Only add padding if a bit field would otherwise span more units
|
||
of alignment than its base type.
|
||
|
||
Mon Mar 17 17:03:55 1997 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* m68k.md (beq0_di, bne0_di, bge0_di, blt0_di): Use cmpw #0
|
||
instead of tstl when testing address registers on the 68000.
|
||
|
||
* m68k/lb1sf68.asm: Fix prologues/epilogues to deal with the lack
|
||
of predecrement/postincrement addressing modes in the coldfire
|
||
moveml instruction.
|
||
|
||
Mon Mar 17 17:00:14 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* Fix long standing bug where first method call for a class could
|
||
result in a garbled stack or produce an incorrect return value.
|
||
* objc/sendmsg.c (__objc_block_return): Remove function.
|
||
(__objc_word_return, __objc_double_return): Remove functions.
|
||
(__objc_get_forward_imp): New function.
|
||
(__objc_init_dispatch_tables): Install zero instead of
|
||
__objc_init_install_dtable.
|
||
(__objc_init_install_dtable): No longer call the method but
|
||
allow objc_msg_lookup return it for normal execution.
|
||
(obj_msg_lookup): Differentiate between when a method isn't
|
||
implemented and when the dispatch table needs to be installed.
|
||
Return the IMP when the dispatch table is installed versus
|
||
having __objc_init_install_dtable call it.
|
||
(get_imp): Install dispatch table if needed and return IMP
|
||
from the newly installed dispatch table.
|
||
(__objc_responds_to): Install dispatch table if needed before
|
||
checking if method is implemented.
|
||
|
||
Mon Mar 17 16:29:38 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* tree.c (build_{index,range}_type): Ensure expressions for min
|
||
and max value are in same obstack as type.
|
||
|
||
Mon Mar 17 15:44:18 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* cccp.c [#if VMS] (O_RDONLY, O_WRONLY): Delete (redundant).
|
||
(BSTRING): Delete (obsolete; usage occurs prior to definition).
|
||
(do_include): Handle old VAX C style includes better.
|
||
|
||
Mon Mar 17 13:46:47 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cexp.y, cppexp.c (parse_number): Invalid integer constants are
|
||
errors if pedantic.
|
||
* cexp.y (yylex): Invalid multibyte characters are errors if pedantic.
|
||
* cppexp.c (cpp_lex): Likewise.
|
||
* cppexp.c (cpp_parse_escape): Character constants that do not fit are
|
||
errors if pedantic.
|
||
|
||
* c-parse.in (expr_no_commas): Do not store temporary
|
||
skip_evaluation increments on yacc value stack.
|
||
|
||
Sun Mar 16 19:54:49 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Refine which
|
||
object is picked.
|
||
|
||
Sun Mar 16 15:45:45 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (strength_reduce): Adjust BENEFIT appropriately if an
|
||
autoincrement memory reference will eliminate add insns.
|
||
|
||
Sun Mar 16 08:41:40 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* i386.md (untyped_call): Re-enable code.
|
||
* objc/sendmsg.c (__objc_block_return): New function.
|
||
(__objc_word_return, __objc_double_return): New functions.
|
||
(__objc_init_install_dtable): Call appropriate return function
|
||
based upon method type.
|
||
* objc/thr-pthreads.c: Correct include path.
|
||
|
||
Sat Mar 15 07:58:33 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc-act.c (OBJC_VERSION): Increment version.
|
||
* objc/init.c (OBJC_VERSION): Likewise.
|
||
|
||
Sat Mar 15 07:58:00 1997 Ovidiu Predescu <ovidiu@net-community.com>
|
||
|
||
* Implement +load.
|
||
* objc/init.c (objc_send_load, __objc_send_load): New functions.
|
||
(__objc_send_message_in_list): New function.
|
||
(__objc_force_linking): New function.
|
||
(__objc_exec_class): Don't call _objc_load_callback here.
|
||
* objc/linking.m: New file.
|
||
* objc/sendmsg.c (class_add_method_list): Check for the +load method
|
||
when adding a methods list to a class.
|
||
* objc/Makefile (OBJC_O): Add linking.m.
|
||
|
||
* Allow methods defined in categories to override methods that are
|
||
defined in the class implementation.
|
||
* objc/sendmsg.c (__objc_install_methods_in_dtable): New function.
|
||
(class_add_method_list): Don't check anymore for duplicate methods.
|
||
|
||
* config/nextstep.h (INCLUDE_DEFAULTS): Define to something useful
|
||
when cross-compiling.
|
||
|
||
* The static instances list moved from the objc_module struct to
|
||
objc_symtab struct, at the end of defs array. This now allows the NeXT
|
||
gdb to work with binaries generated for the GNU ObjC runtime.
|
||
* objc-act.c (build_objc_symtab_template): Make sure
|
||
defs in objc_symtab is a NULL terminated array.
|
||
(init_def_list): Attach statics to end of def list.
|
||
(init_objc_symtab): Take statics list into account.
|
||
(init_module_descriptor, build_module_descriptor): Don't add statics.
|
||
(generate_static_references): Indicate that statics are used.
|
||
(finish_objc): Process statics in the beginning.
|
||
* objc/objc-api.h (objc_module): Eliminate statics variable.
|
||
* objc/init.c (__objc_exec_class): Access statics from their
|
||
new place in the defs variable.
|
||
|
||
Sat Mar 15 07:29:15 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c: Include expr.h.
|
||
(find_reloads_address, find_reloads_address_1): New argument INSN.
|
||
(find_reloads_address_1): Reload inside of p{re,ost}_{in,de}c
|
||
instead of entire p{re,ost}_{in,de}c where appropriate.
|
||
* Makefile.in (reload.o): Added expr.h to dependencies list.
|
||
|
||
Sat Mar 15 07:17:12 1997 Richard Henderson <rth@tamu.edu>
|
||
|
||
* reload.h (eliminate_regs): Add STORING arg.
|
||
* reload1.c (eliminate_regs): Likewise.
|
||
(eliminate_regs, case SET): Pass that we are storing to recursive call.
|
||
(eliminate_regs, case SUBREG): If storing and same number of words,
|
||
use larger mode.
|
||
* caller-save.c, dbxout.c, dwarfout.c, dwarf2out.c, reload.c, sdbout.c:
|
||
Change all calls to eliminate_regs.
|
||
|
||
Fri Mar 14 14:18:49 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* cplus-dem.c: Add prototypes for all static functions.
|
||
(mystrstr): Make static. Make arguments and result const.
|
||
(cplus_match): Remove; not used.
|
||
|
||
Fri Mar 14 10:15:35 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (const_costs): Remove unused function.
|
||
* mn10300.h (CONST_COSTS): Rework to generate better code.
|
||
|
||
* mn10300.c (print_operand): Handle 'H' and 'L' output
|
||
modifers for high/low part of a 64bit value.
|
||
* mn10300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Handle 'G'
|
||
(LEGITIMATE_CONSTANT_P): Allow any constant.
|
||
* mn10300.md (movdi, movdf): Implement.
|
||
(adddi3, subdi3): New expanders and patterns.
|
||
|
||
* mn10300.c (print_operand): Handle 'A' modifier for an
|
||
address which can't be simple register indirect.
|
||
* mn10300.h (EXTRA_CONSTRAINT): Handle 'R' for bit ops.
|
||
* mn10300.md: Add patterns to test, set and clear bitfields.
|
||
|
||
* mn10300.c (can_use_return_insn): New function.
|
||
(expand_epilogue): Emit a RETURN insn if possible.
|
||
* mn10300.md (return): New pattern.
|
||
|
||
* mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'N'.
|
||
* mn10300.md (andsi3): Catch "and 255,dn" and "and 65535,dn"
|
||
which were not turned into zero_extend patterns.
|
||
|
||
* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Handle symbolic
|
||
constant as an index/base too.
|
||
|
||
* mn10300.md (movsi): Allow SP to be loaded/saved with
|
||
reg+d8 addresses.
|
||
|
||
* mn10300.md (cmpsi): Allow second operand to be a constant.
|
||
(subsi3): Likewise.
|
||
|
||
* mn10300.md (sign extension patterns): Fix thinko when
|
||
extending from memory.
|
||
|
||
* mn10300.md (tst peepholes): Add peepholes for test/branch
|
||
based on N bit being set/clear and the data value being tested dies.
|
||
|
||
Tue Mar 11 17:07:51 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (expand_prologue): Rework so that eliminating
|
||
the frame pointer produces faster/smaller code.
|
||
(expand_epilogue): Likewise.
|
||
(initial_offset): New function for argument pointer and frame pointer
|
||
elimination.
|
||
* mn10300.h (FIRST_PSEUDO_REGISTER): Bump to 10.
|
||
(FIXED_REGISTERS): Add argument pointer register, it's a fake fixed
|
||
register.
|
||
(CALL_USED_REGISTERS, REG_ALLOC_ORDER): Corresponding changes.
|
||
(REGNO_REG_CLASS, REG_CLASS_CONTENTS): Likewise.
|
||
(REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
|
||
(reg_class, REG_CLASS_NAMES): Delete unwanted DATA_OR_SP_REGS class.
|
||
(PREFERRED_OUTPUT_RELOAD_CLASS): Define.
|
||
(FIRST_PARM_OFFSET): No longer include register save area in
|
||
computation.
|
||
(STACK_POINTER_REGNUM): Is now register 9.
|
||
(ARG_POINTER_REGNUM): Is now register 8.
|
||
(FRAME_POINTER_REQUIRED): Refine.
|
||
(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Define.
|
||
(CAN_DEUG_WITHOUT_FP): Define.
|
||
* mn10300.md (return_internal): Break into two patterns.
|
||
|
||
* mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'M' too.
|
||
(REGISTER_MOVE_COST): Fix errors and refine.
|
||
|
||
* mn10300.c (notice_update_cc): SET_ZN_C0 insns leave the
|
||
overflow bit in an unuseable state. Rename CC_SET to CC_TST.
|
||
* mn10300.md (cc attributes): "set" is gone, replaced by
|
||
"tst". Update attributes on various insns.
|
||
|
||
* mn10300.md: Improve sign and zero extension instructions.
|
||
(ashlsi3): Improve. Handle address registers too.
|
||
(add peephole): Combine two consecutive adjustments of a register
|
||
into a single adjustment.
|
||
|
||
Tue Mar 11 17:18:40 1997 Brendan Kehoe <brendan@melange.gnu.ai.mit.edu>
|
||
|
||
* cplus-dem.c (gnu_special): Call demangled_fund_type for other
|
||
__t* symbols.
|
||
|
||
Mon Mar 10 16:10:34 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* emit-rtl.c (subreg_lowpart_p): Return 0 if SUBREG_REG is VOIDmode.
|
||
* combine.c (simplify_rtx, case SUBREG): Fix direction of test when
|
||
calling operand_subword; use inline code intead of subreg_lowpart_p.
|
||
|
||
Fri Mar 7 09:22:28 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (expand_{pro,epi}logue): Rework to avoid
|
||
unnecessary "add" operations.
|
||
(expand_epilogue): Likewise.
|
||
* mn10300.h (STARTING_FRAME_OFFSET): Is zero after the last
|
||
round of prologue/epilogue changes.
|
||
(FIRST_PARM_OFFSET): Is now 16 (-4 for REG_PARM_STACK_SPACE + 20 for
|
||
register save area).
|
||
(REG_PARM_STACK_SPACE): Define as 4 bytes.
|
||
(OUTGOING_REG_PARM_STACK_SPACE): Define so caller allocates it.
|
||
* mn10300.md (call{,_value} expander): Don't emit insns to adjust the
|
||
stack here anymore.
|
||
|
||
* mn10300.md (bCC patterns): Just use "bCC target".
|
||
|
||
Tue Mar 4 13:21:41 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* rs6000.md (movsi): Don't emit a USE insn for LABEL_REFs.
|
||
|
||
Thu Mar 6 16:29:13 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (modified_type_die): Initialize item_type to NULL.
|
||
Move equate_type_number_to_die call before use of sub_die, and move
|
||
recursive modified_type_die calls on item_type after it.
|
||
|
||
* dwarfout.c (root_type_1, write_modifier_bytes_1): New functions.
|
||
(root_type): Call root_type_1.
|
||
(write_modifier_bytes): Call write_modifier_bytes_1.
|
||
(output_type, case POINTER_TYPE): Set TREE_ASM_WRITTEN before
|
||
recursive call.
|
||
|
||
Wed Mar 5 14:30:49 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
|
||
|
||
Partially undo Jan 11 changes (nor takes only register ops):
|
||
* mips.md (*norsi3_const, *nordi3_const): Delete bogus patterns.
|
||
* mips.c (complemented_arith_operand): Delete function.
|
||
(print_operand): Don't handle `e' for CONST_INT.
|
||
* mips.h (PREDICATE_CODES): Delete complemented_arith_operand.
|
||
|
||
Tue Mar 4 16:38:13 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* i386.c (i386_return_pops_args): Make sure FUNDECL is non-nil
|
||
before we try to use it.
|
||
* i386/{isc,next,sco,sco5,scodbx}.h (RETURN_POPS_ARGS): Likewise.
|
||
|
||
Mon Mar 3 20:17:54 1997 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* ginclude/va-mips.h: __mips_single_float should have
|
||
the same effect on vararg lists as __mips_soft_float.
|
||
|
||
Mon Mar 3 18:12:01 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h (DBX_CONTIN_LENGTH): Undo 2/26 change.
|
||
|
||
Mon Mar 3 13:08:20 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c (simplify_rtx): Do nothing with (truncate:mode) if
|
||
mode is a partial integer mode.
|
||
|
||
Sun Mar 2 17:41:18 1997 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* ginclude/varargs.h: Add definition of __va_copy.
|
||
* va-alpha.h, va-clipper.h, va-h8300.h, va-i860.h: Likewise.
|
||
* va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-ppc.h: Likewise.
|
||
* va-sh.h, va-sparc.h, va-spur.h: Likewise.
|
||
|
||
Sun Mar 2 13:25:49 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* c-typeck.c (process_init_element): Warn and truncate if upper
|
||
bound of index is out of range.
|
||
|
||
Fri Feb 28 16:08:47 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sol-c0.c (_start): Disable loading up r13 and r2 with the
|
||
SDA base registers for now.
|
||
|
||
* rs6000.md (movsi): Emit a USE insn when putting the
|
||
label of constants into the TOC, so that the constant is still
|
||
emitted when expensive optimizations are used.
|
||
|
||
Thu Feb 27 17:54:42 1997 Karl Heuer <kwzh@gnu.ai.mit.edu>
|
||
|
||
* fixinc.ptx: Fix sed expression looking for <sys/types.h> in pwd.h.
|
||
|
||
Thu Feb 27 12:11:16 1997 Dennis Glatting <dennis.glatting@plaintalk.bellevue.wa.us>
|
||
|
||
* fixincludes: Remove more cases of __const__ from math.h on NeXT.
|
||
|
||
Wed Feb 26 14:52:27 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* reload.c (debug_reload): Remove extra argument to fprintf.
|
||
* rs6000.c (output_toc): Make fprintf calls type correct.
|
||
|
||
* rs6000.h (DBX_CONTIN_LENGTH): Define as 4000 to avoid AIX
|
||
assembler line limit.
|
||
|
||
Mon Feb 24 17:56:17 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* fixincludes: Fix need of prototypes for C++ in rpc/xdr.h on SunOS4.
|
||
|
||
Mon Feb 24 17:33:57 1997 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/xm-sysv4.h (HAVE_STRERROR): Define.
|
||
|
||
Sun Feb 23 17:18:28 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* rs6000.md (floatsidf2_loadaddr): Correct syntax for cau instruction.
|
||
(load_multiple, store_multiple): Call change_address instead of
|
||
creating MEM from scratch.
|
||
|
||
Thu Feb 20 16:39:15 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (unroll_loop): Add check for naive loop that ends with
|
||
conditional branch that does not branch back to loop start.
|
||
|
||
* reload1.c (reload): Move assign_stack_local call into main loop.
|
||
|
||
Thu Feb 20 11:40:46 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (zero extension patterns): Turn into define_expand and
|
||
define_insn pair.
|
||
|
||
Wed Feb 19 17:05:38 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (emit_move_sequence): Don't copy 0.0 (double precision)
|
||
directly to memory, go through a reg if reload hasn't started.
|
||
* pa.md (main movdf pattern): Don't allow 0.0 (double precision)
|
||
to be copied directly to memory.
|
||
|
||
* pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
|
||
(MD_STARTFILE_PREFIX): Similarly.
|
||
|
||
* pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
|
||
with '$' if not using GAS.
|
||
|
||
Wed Feb 19 16:43:47 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sched.c (schedule_insns): If there was no first scheduling pass,
|
||
split instructions after reload.
|
||
(update_flow_info): Tolerate some idiosyncrasies after reload.
|
||
|
||
Wed Feb 19 11:13:51 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c (find_split_point): Don't turn a SIGN_EXTEND into
|
||
a series of shifts if either mode is a partial integer mode.
|
||
|
||
Mon Feb 17 08:06:02 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* rs6000.c ({,non_}short_cint_operand): Use (unsigned HOST_WIDE_INT).
|
||
(non_add_cint_operand, includes_rshift_p): Likewise.
|
||
* rs6000.h (CONST_OK_FOR_LETTER_P): Likewise.
|
||
(LEGITIMATE_ADDRESS_INTEGER_P, LEGITIMIZE_ADDRESS): Likewise.
|
||
|
||
Sun Feb 16 07:55:19 1997 J"orn Rennecke (amylaar@cygnus.co.uk)
|
||
|
||
* libgcc2.c (__negdi2, __lshrdi3, __ashldi3, __ashrdi3, __ffsdi2):
|
||
Use ANSI style definition with full prototype.
|
||
(__muldi3, __udiv_w_sdiv, __udivmoddi4, __divdi3, __moddi3) : Likewise.
|
||
(__udivmoddi4, __udivdi3, __cmpdi2, __ucmpdi2) : Likewise.
|
||
(__fixunstfdi, __fixtfdi, __fixunsxfdi, __fixxfdi) : Likewise.
|
||
(__fixunsdfdi, __fixdfdi, __floatdixf, __floatditf) : Likewise.
|
||
(__floatdidf, __floatdisf, __fixunsxfsi, __fixunsdfsi) : Likewise.
|
||
(__gcc_bcmp, __eprintf, gopen, gclose, __bb_init_file) : Likewise.
|
||
(__bb_init_trace_func, __clear_cache, mprotect) : Likewise.
|
||
(__enable_execute_stack, cacheflush, exit) : Likewise.
|
||
(find_exception_table, __find_first_exception_table_match) : Likewise.
|
||
|
||
Sun Feb 16 07:52:02 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
|
||
|
||
* 1750a.md (mulqihi3): Corrected.
|
||
(tst{hf,tqf}): Simplified.
|
||
(movqi): Removed redundant alternative.
|
||
(addqi-3,addqi-2,addqi-1): Set/Reset Bit patterns by C. Nettleton.
|
||
(many patterns): Introduced operand output modifiers d,t,b,B,w.
|
||
* 1750a.c (print_operand): New operand output modifiers d,t,b,B,w.
|
||
(simple_memory_operand): Removed.
|
||
(one_bit_set_p, which_bit): Added from C. Nettleton's m1750 config.
|
||
|
||
Sun Feb 16 07:43:37 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c (special_symbol): Don't treat "L" in "L'...'" as identifier.
|
||
(check_macro_name, collect_expansion, rescan): Likewise.
|
||
* cpplib.c (special_symbol, check_macro_name, collect_expansion):
|
||
Likewise.
|
||
|
||
* cexp.y (parse_c_expression): Don't check for null lexptr
|
||
or *lexptr == 0. If yyparse returns nonzero value, abort.
|
||
|
||
* cexp.y (yylex): Use is_space, not is_hor_space, to find keyword end.
|
||
(is_space): New decl.
|
||
(is_hor_space): Removed.
|
||
* cccp.c (is_space): Now external.
|
||
(is_hor_space): Now static.
|
||
|
||
Sun Feb 16 04:55:11 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c, tree.h (decl_printable_name): Change arguments.
|
||
* c-common.c (declare_function_name): Reflect above change.
|
||
* final.c (final_start_function): Likewise.
|
||
* function.c (init_function_start): Likewise.
|
||
* toplev.c (decl_name): Likewise.
|
||
(announce_function): Likewise.
|
||
(v_message_with_decl): Likewise.
|
||
* dwarf2out.c (dwarf2_name): New fn, uses decl_printable_name.
|
||
(add_pubname): Use it.
|
||
(add_name_and_src_coords_attributes): Use it, add
|
||
DW_AT_MIPS_linkage_name if appropriate.
|
||
(output_aranges): Use DW_AT_MIPS_linkage_name if present.
|
||
|
||
Sat Feb 15 18:45:30 1997 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* m68k.md (cmpsi): Added insn with appropriate constraints for
|
||
TARGET_5200; changed condition of existing insn to !TARGET_5200.
|
||
|
||
Sat Feb 15 18:26:50 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k/hp320.h (PRINT_OPERAND_FLOAT): Removed.
|
||
(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
|
||
(PRINT_OPERAND): Turned off: use default.
|
||
* m68k/news.h (PRINT_OPERAND): Turned off: use default.
|
||
(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
|
||
* m68k/tower-as.h (PRINT_OPERAND): Turned off: use default.
|
||
(ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
|
||
* m68k/crds.h (PRINT_OPERAND): Turned off: use default.
|
||
(ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
|
||
(SGS_NO_LI,STRUCTURE_SIZE_BOUNDARY,IMMEDIATE_PREFIX): Defined.
|
||
(NEED_PROBE): Defined instead of HAVE_probe and gen_probe.
|
||
(FUNCTION_{PRO,EPI}LOGUE): Do not access FPA registers.
|
||
* m68k.c (output_function_prologue): Add CRDS and MOTOROLA probe code.
|
||
(print_operand): Do not output '.' if CRDS.
|
||
|
||
* gcc.c (set_spec): Fix comment-in-comment typo.
|
||
|
||
Sat Feb 15 17:54:23 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* Makefile.in (COMPILERS): Moved before GCC_PASSES.
|
||
(GCC_PASSES): Use $(COMPILERS) instead of cc1$(exeext).
|
||
|
||
Sat Feb 15 17:25:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* gcc.c (process_command): Allocate space for terminating null.
|
||
|
||
Sat Feb 15 17:21:34 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vax.h (FUNCTION_PROLOGUE): Adjust size by STARTING_FRAME_OFFSET.
|
||
* vax/vms.h (FUNCTION_PROLOGUE): Delete.
|
||
|
||
Sat Feb 15 08:48:14 1997 Douglas B. Rupp (rupp@gnat.com)
|
||
|
||
* configure: Fix setting of CC in no-symlink case.
|
||
|
||
Sat Feb 15 08:42:17 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
|
||
|
||
* expmed.c (expand_divmod): Prefer divmod in same mode over div
|
||
in wider mode.
|
||
|
||
Sat Feb 15 08:27:50 1997 J"orn Rennecke (amylaar@cygnus.co.uk)
|
||
|
||
* fold-const.c (fold): Don't assume a nonexplicit constant cannot
|
||
equal an explicit one.
|
||
|
||
* i386.md (zero_extendqi[hs]i2+3): Ensure operating on REG.
|
||
|
||
Sat Feb 15 08:11:04 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* configure (i[3456]86-*-solaris2*): Correct tm.h filename in
|
||
stabs case.
|
||
|
||
* a29k.h (STORE_FLAG_VALUE): Write so works on both 32 and 64-bit host.
|
||
|
||
Fri Feb 14 16:03:37 1997 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386/t-sco5 (libgcc{1,2}-elf.a): correct target dependencies.
|
||
|
||
Fri Feb 14 16:00:23 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
|
||
|
||
* config/svr4.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Set
|
||
current-section variable to text.
|
||
|
||
Wed Feb 12 16:07:34 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* fixinc.irix: New file.
|
||
* configure (mips-sgi-irix[56]): Set fixincludes to fixinc.irix.
|
||
|
||
Wed Feb 12 15:40:20 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (LIBGCC2_DEBUG_CFLAGS): New macro.
|
||
(LIBGCC2_CFLAGS): Use it.
|
||
|
||
* dwarfout.c (output_type): Do early exit only if TYPE_CONTEXT is NULL
|
||
or if TYPE_CONTEXT is another type (e.g. a nested type).
|
||
|
||
Tue Feb 11 15:53:51 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (calc_live_regs): Exclude RETURN_ADDRESS_POINTER_REGNUM.
|
||
Need not save MACL/MACH when not live or in leaf function.
|
||
|
||
Mon Feb 10 14:46:32 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* stmt.c (group_case_nodes): Recognize more opportunities to
|
||
group case nodes.
|
||
|
||
Sun Feb 9 14:05:48 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* function.c (assign_stack_temp): Clear MEM flags from reuse.
|
||
|
||
Sat Feb 8 17:37:47 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* local-alloc.c (update_equiv_regs): Fix error in last change.
|
||
|
||
Fri Feb 7 12:42:34 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* pa.h (RETURN_ADDR_RTX): Fix to ignore export stubs.
|
||
* pa.c (return_addr_rtx): Define.
|
||
|
||
Fri Feb 7 13:56:56 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* cse.c (invalidate_from_clobbers): Delete unnecessary test for
|
||
(clobber nil).
|
||
|
||
* toplev.c (main): Delete redundant settings of flag_no_inline
|
||
and warn_inline if not optimizating.
|
||
|
||
Fri Feb 7 10:45:02 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (stmp-multilib-sub): Add missing "else true"
|
||
clauses to work around make bug on some systems.
|
||
|
||
Fri Feb 7 08:19:43 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* fold-const.c (const_binop): Don't call size_int if low < 0.
|
||
|
||
* function.c (instantiate_virtual_regs_1, case USE, CLOBBER):
|
||
Fix error in last change.
|
||
|
||
Thu Feb 6 17:09:17 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (find_exception_handler_labels): Initialize label array
|
||
with zeroes.
|
||
|
||
Wed Feb 5 22:11:55 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (post_ldwm): Fix typos.
|
||
|
||
Wed Feb 5 15:57:42 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* m68k/vxm68k.h (WCHAR_TYPE,WCHAR_TYPE_SIZE,SIZE_TYPE): Fix.
|
||
(PTRDIFF_TYPE): Define.
|
||
|
||
Wed Feb 5 11:19:13 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload1.c (alter_reg): Don't ask assign_stack_local to round up
|
||
to a multiple of BIGGEST_ALIGNMENT, unless a register appears in a
|
||
paradoxical subreg.
|
||
|
||
Tue Feb 4 19:29:40 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (find_reloads_address_1, case POST_INC): Don't use
|
||
ADDR_TYPE here.
|
||
|
||
Tue Feb 4 12:33:45 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (life_analysis): Delete obvious no-op moves
|
||
which use SUBREGs.
|
||
|
||
Mon Feb 3 20:00:35 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* jump.c (find_cross_jump): Don't allow old-style and volatile asms
|
||
to match.
|
||
|
||
Mon Feb 3 15:51:31 1997 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/sol2.h (ASM_SHORT,ASM_LONG): Set to .uahalf/.uaword.
|
||
* sparc/sysv4.h (ASM_LONG): Define.
|
||
(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Use ASM_LONG.
|
||
|
||
Mon Feb 3 13:01:46 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload.h (enum reload_type): Add RELOAD_FOR_INPADDR_ADDRESS and
|
||
RELOAD_FOR_OUTADDR_ADDRESS.
|
||
* reload.c (ADDR_TYPE): New macro.
|
||
(push_secondary_reload): Check for new reload types.
|
||
(combine_reloads): Likewise.
|
||
(find_reloads): Likewise. Convert INPADDR_ADDRESS and
|
||
OUTADDR_ADDRESS to OPADDR_ADDR. Check OPADDR_ADDR when looking
|
||
for merges.
|
||
(find_reloads_address): When reloading an address, use the
|
||
ADDR_TYPE macro to get the type of the new reload.
|
||
(find_reloads_address_1): Likewise.
|
||
(reload_when_needed_name): Add new reload types.
|
||
* reload1.c (reload): Add in_addr_addr and out_addr_addr fields to
|
||
insn_needs struct. Use them for new reload types, and when
|
||
computing in_max and out_max.
|
||
(reg_used_in_inpaddr_addr): New static array.
|
||
(reg_used_in_outaddr_addr): New static array.
|
||
(mark_reload_reg_in_use): Handle new reload types.
|
||
(clear_reload_reg_in_use, reload_reg_free_p): Likewise.
|
||
(reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
|
||
(reloads_conflict, merge_assigned_reloads): Likewise.
|
||
(emit_reload_insns): Likewise.
|
||
(choose_reload_regs): Save arrays for new reload types.
|
||
|
||
Sun Feb 2 19:43:17 1997 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/selector.c (__sel_register_typed_name): Eliminate compiler
|
||
warnings with explicit cast.
|
||
|
||
* Add condition mutex support to the objc runtime.
|
||
* objc/thr-mach.c (objc_condition_{,de}allocate): New functions.
|
||
(objc_condition_{wait,broadcast,signal}): New functions.
|
||
* objc/thr-pthreads.c (objc_condition_{,de}allocate): New functions.
|
||
(objc_condition_{wait,broadcast,signal}): New functions.
|
||
* objc/thr-solaris.c (objc_condition_{,de}allocate): New functions.
|
||
(objc_condition_{wait,broadcast,signal}): New functions.
|
||
* objc/thr.h: Prototypes for new functions.
|
||
|
||
* objc/init.c (__objc_runtime_mutex): Eliminate leading underscore
|
||
from name of objc mutex and thread structures.
|
||
* objc/runtime.h: Likewise.
|
||
* objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Likewise.
|
||
* objc/thr-{solaris,win32}.c: Likewise.
|
||
* objc/thr.{c,h}: Likewise.
|
||
|
||
* Major reorganization of objc error handling.
|
||
* objc/Object.m (-error:): Call objc_error function instead of
|
||
using function pointer.
|
||
* objc/archive.c: Replace call to abort or __objc_fatal functions
|
||
with call to objc_error function throughout the complete file.
|
||
* objc/class.c (objc_get_class): Replace call to abort function
|
||
with call to objc_error function.
|
||
* objc/encoding.c (objc_sizeof_type, objc_alignof_type): Replace
|
||
call to abort function with call to objc_error function.
|
||
(objc_skip_typespec): Likewise.
|
||
* objc/init.c (init_check_module_version): Replace call to
|
||
abort function with call to objc_error function.
|
||
* objc/misc.c (objc_verror): New function.
|
||
(objc_fatal): Remove function.
|
||
(objc_set_error_handler): New function.
|
||
(_objc_error_handler): New global variable.
|
||
(__alpha__): Remove unneeded code.
|
||
(objc_error): Allow user specified error handler function to
|
||
trap and handle the objc error. Added an error code parameter
|
||
which indicates the specific error that occured.
|
||
(objc_malloc, objc_atomic_malloc): Replace call to objc_fatal
|
||
function with call to objc_error function.
|
||
(objc_valloc, objc_realloc, objc_calloc): Likewise.
|
||
* objc/objc-api.h: Declare error handling functions and typedef
|
||
for user specified error handler function. Define error codes
|
||
used by the runtime library.
|
||
* objc/runtime.h: Remove error handling declarations.
|
||
* objc/sendmsg.c (__objc_forward): Replace call to abort function
|
||
with call to objc_error function.
|
||
|
||
Sun Feb 2 19:42:52 1997 Thomas Baier <baier@ci.tuwien.ac.at>
|
||
|
||
* objc/hash.c (hash_delete): Step through the hash nodes
|
||
versus using hash_next to increase efficiency.
|
||
* objc/archive.c (__objc_finish_read_root_object): Use hash
|
||
table instead of list.
|
||
|
||
Sun Feb 2 08:25:05 1997 Ovidiu Predescu <ovidiu@net-community.com>
|
||
|
||
* objc-act.c (encode_aggregate_within): New function.
|
||
(encode_aggregate): Generates encodings for unions similar
|
||
to those for structs except surrounded by parenthesis instead
|
||
of braces.
|
||
|
||
Sun Feb 2 07:15:54 1997 Mat Hostetter (mat@lcs.mit.edu)
|
||
|
||
* c-decl.c (start_function): Fix improper installation of last change.
|
||
|
||
Sun Feb 2 06:50:55 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.c (output_scc_di): Add missing CC_STATUS_INIT.
|
||
|
||
Sun Feb 2 06:39:55 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* c-typeck.c (process_init_element): When popping levels, don't
|
||
blow up if constructor_max_index not set due to previous error.
|
||
|
||
* combine.c (find_split_point, case SET): Fix error in last change.
|
||
|
||
Sun Feb 2 06:28:56 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c (rescan): Insert a space after `.' as well,
|
||
to prevent accidental token-pasting (e.g. `.x' -> `.10').
|
||
|
||
Sun Feb 2 06:08:14 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
|
||
|
||
* 1750a.c (modregno_adjust): Fixed case when reg_renumber invalid.
|
||
|
||
Sat Feb 1 19:11:08 1997 J.T. Conklin <jtc@rhino.cygnus.com>
|
||
|
||
* m68k.md (movqi): Enable use of clr and st insns on TARGET_5200.
|
||
* m68k.c (output_move_simode_const): Likewise.
|
||
|
||
Sat Feb 1 18:54:00 1997 Douglas B. Rupp (rupp@gnat.com)
|
||
|
||
* gcc.c (process_command): Fix improper use of strncpy.
|
||
|
||
Fri Jan 31 15:35:08 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* libgcc2.c: Remove extern for malloc and realloc.
|
||
|
||
Fri Jan 31 17:08:11 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* local-alloc.c (update_equiv_regs): If register which is equivalent
|
||
to some value is only used in one place, and we can't substitute value
|
||
for use, move register assignment to just before use.
|
||
|
||
Fri Jan 31 15:57:25 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md (idiv,imul,fpmul): Added new functional units for pentiumpro.
|
||
|
||
* i386.c (pentiumpro_cost): Added new cost structure for pentiumpro.
|
||
(override_options): Set ix86_cost to appropriate cost structure.
|
||
|
||
Thu Jan 30 09:34:26 1997 J.T. Conklin <jtc@rhino.cygnus.com>
|
||
|
||
* m68k.md (stack adjust peepholes): Use lea instead of
|
||
add.w when adding 16 bit constants on all but TARGET_68040.
|
||
|
||
Thu Jan 30 08:58:08 1997 Ralf Baechle <ralf@waldorf-gmbh.de>
|
||
|
||
* function.c (TRAMPOLINE_ALIGNMENT): Provide default.
|
||
(expand_function_end): Use TRAMPOLINE_ALIGNMENT instead
|
||
of FUNCTION_BOUNDARY.
|
||
* varasm.c (TRAMPOLINE_ALIGNMENT): Provide default.
|
||
(assemble_trampoline_template): Use TRAMPOLINE_ALIGNMENT instead
|
||
of FUNCTION_BOUNDARY.
|
||
|
||
Wed Jan 29 18:16:02 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (REG_CLASS_CONTENTS): Add rap to GENERAL_REGS and its
|
||
superclasses.
|
||
|
||
* sh.md (movsi_i, movsi_ie, movhi_i, movhi+1): Use type pcload for
|
||
immediate operands where appropriate.
|
||
(movsf_ie+1): Fail when loading anything but a MEM into
|
||
a floating point reguister.
|
||
|
||
Wed Jan 29 16:00:31 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* varasm.c (force_const_mem): Set MARK instead of clearing it.
|
||
(output_constant_pool): Only mark constant pool if -O.
|
||
Check mark flag unconditionally.
|
||
(mark_constant_pool): Start by clearing all mark flags.
|
||
|
||
* tree.c (copy_node): Clear TREE_ASM_WRITTEN.
|
||
|
||
* flow.c (regno_uninitialized): Return 0 if reg is used for args.
|
||
|
||
Wed Jan 29 15:23:59 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* combine.c (try_combine): Clear reg_n_refs if i2dest is not
|
||
mentioned in newi2pat.
|
||
|
||
Tue Jan 28 16:00:23 1997 Stan Cox (coxs@dg-rtp.dg.com)
|
||
|
||
From Robert Lipe <robertl@dgii.com>
|
||
* i386/sco5.h (SCO_DEFAULT_ASM_COFF): Remove bytecode stuff.
|
||
(ASM_OUTPUT_ASCII): Use .ascii in both ELF and COFF modes.
|
||
(ASM_OUTPUT_SECTION_NAME): Handle alternate sections for COFF.
|
||
The OpenServer 5.0.0 assembler gives an error for section
|
||
names over 6 characters long, so we catch the "obvious" case
|
||
and shorten it.
|
||
|
||
* m88k.h (ASM_OUTPUT_SECTION_NAME): Undefine; fails
|
||
for exception sections. The 88k ABI specifies 'section'
|
||
instead of '.section'.
|
||
|
||
Mon Jan 27 13:32:46 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (shl_and_kind): Fix typo.
|
||
* sh.md (and_shl_scratch): Fix typo for length 8.
|
||
|
||
Mon Jan 27 08:56:03 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixincludes (sys/time.h): Fix incorrect forward structure
|
||
declaration on hpux10.20.
|
||
|
||
Mon Jan 27 09:05:35 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* combine.c (simplify_rtx): Don't do anything with if_then_else_cond
|
||
result if both one arm and the input are a comparison.
|
||
(simplify_{rtx,if_then_else,logical,shift_const}): Don't
|
||
test STORE_FLAG_VALUE with #if; properly test for just sign bit.
|
||
(num_sign_bit_copies, if_then_else_cond): Likewise.
|
||
* expmed.c (emit_store_flag): Properly test for STORE_FLAG_VALUE
|
||
of just sign bit.
|
||
* fold-const.c (fold): Don't make COND_EXPR when both expr and
|
||
one part are comparisons.
|
||
* a29k.h (STORE_FLAG_VALUE): Make negative.
|
||
|
||
Fri Jan 24 16:42:26 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* varasm.c (struct pool_constant): Add mark field.
|
||
(force_const_mem): Clear mark field in new constant pool entry.
|
||
(output_constant_pool): Call mark_constant_pool.
|
||
(mark_constant_pool, mark_constants): New static functions.
|
||
|
||
Thu Jan 23 15:04:17 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* cse.c (COST): Get the right cost for a SUBREG of a register when
|
||
truncation is free.
|
||
|
||
Thu Jan 23 11:19:40 1997 Mike Stump <mrs@cygnus.com>
|
||
|
||
* Makefile.in (objc-headers): Don't try and install the headers if
|
||
the objc directory has been removed.
|
||
|
||
Wed Jan 22 13:26:25 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* i960.c (process_pragma): Call ungetc on the last character
|
||
that was read by the while loop, to make sure the parser sees it.
|
||
|
||
Tue Jan 21 17:20:30 1997 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (output_toc): Move STRIP_NAME_ENCODING to common
|
||
code, so the test for vt's works with -mminimal-toc.
|
||
|
||
Tue Jan 21 16:03:35 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* function.c (mark_all_temps_used): Set KEEP as well.
|
||
|
||
Tue Jan 21 12:16:15 1997 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* stor-layout.c (layout_record): Correct test for whether field spans
|
||
its unit of alignment in case where field_size == type_align.
|
||
|
||
Mon Jan 20 20:27:54 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.md (probe): Comment out.
|
||
|
||
Sun Jan 19 20:54:45 1997 John F. Carr <jfc@mit.edu>
|
||
|
||
* integrate.c (expand_inline_function): Handle a PARALLEL containing
|
||
a RETURN the same as a RETURN.
|
||
|
||
Sun Jan 19 20:35:28 1997 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vmsconfig.com: Change all hardcoded references of "vax" to
|
||
use variable expansion instead.
|
||
(arch_indx, arch): New variables.
|
||
|
||
* vax.c (not_qsort): Don't declare alloca.
|
||
* vax/xm-vms.h: Declare alloca here.
|
||
Do most of the VAX C-specific set up for DEC C.
|
||
#if DEC C, undefine QSORT_WORKAROUND and qsort.
|
||
* make-gcc.com, make-cccp.com, make-cc1.com: Support building
|
||
with GNU C vs VAX C vs DEC C from the DCL command line.
|
||
|
||
Sun Jan 19 17:20:50 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
|
||
|
||
* 1750a.md (movh[if]-1): Corrected.
|
||
(movtqf-1): Deleted.
|
||
* 1750a.c (add_1_to_mem): Deleted.
|
||
(output_operand_address): Added output modifier 'A'.
|
||
|
||
Sun Jan 19 17:17:54 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k.md (ashrdi_const, ashrdi3): Allow 31 as shift count.
|
||
|
||
* m68k.h (CONST_OK_FOR_LETTER_P): Recognize 'N', 'O' and 'P'.
|
||
* m68k.md (rotl[shq]i3, strict_low_part rotl): Allow 'N', 'O'
|
||
or 'P' operands.
|
||
|
||
Sun Jan 19 17:09:17 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.md (addsi3): Fix previous change: {add,sub}qw should
|
||
be {add,sub}ql. For other uses of {add,sub}q don't check for address
|
||
register and always use {add,sub}ql.
|
||
|
||
Sun Jan 19 15:05:42 1997 Peter Seebach <seebs@solon.com>
|
||
|
||
* c-decl.c (start_decl): Add code for -Wmain.
|
||
(c_decode_option): Add -fhosted, -ffreestanding, and -Wmain.
|
||
* toplev.c (lang_options): Likewise.
|
||
* c-tree.h (warn_main, flag_hosted): New variables.
|
||
|
||
Sun Jan 19 14:35:41 1997 Alex Garthwaite (alex@samwise.cis.upenn.edu)
|
||
|
||
* fixinc.svr4: Fix problems with symlinks to ".".
|
||
|
||
Sun Jan 19 14:21:46 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||
|
||
* loop.c (check_final_value): Handle insns with no luid's.
|
||
|
||
Sun Jan 19 08:57:26 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* alpha.md (arg_home): Add CLOBBER of MEM and USE of arg regs.
|
||
* vms.h (SETUP_INCOMING_VARARGS): Delete duplicate definition.
|
||
|
||
* toplev.c (set_float_handler): Set up signal catcher on first call
|
||
in case a front end has disabled it.
|
||
|
||
* cccp.c, cexp.y: #define __attribute__ to be null if
|
||
compiling with GCC older than 2.7, not 2.6.
|
||
|
||
* toplev.c (main): If PREFERRED_DEBUGGING_TYPE used and set
|
||
to NO_DEBUG, say debugging not supported.
|
||
* mips/sni-svr4.h (PREFERRED_DEBUGGING_TYPE): Undefine.
|
||
|
||
* i386/xm-cygwin32.h (DIR_SEPARATOR): Define.
|
||
|
||
* explow.c (convert_memory_address, case SYMBOL_REF):
|
||
Copy CONSTANT_POOL_ADDRESS_P.
|
||
* integrate.c (save_constants): Make (address (const ..)) to record
|
||
both modes.
|
||
(copy_for_inline, copy_rtx_and_substitute, restore_constants): Use
|
||
both modes when restoring constant pool entry for ADDRESS.
|
||
|
||
* alpha.h (MINIMUM_ATOMIC_ALIGNMENT): New macro.
|
||
|
||
* function.c (instantiate_virtual_regs_1, case USE, case CLOBBER):
|
||
Properly handle case of shared MEM whose replacement is not valid.
|
||
|
||
Sat Jan 18 14:08:31 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.c (get_unwidened): Don't crash if FIELD_DECL not layed out.
|
||
|
||
* varasm.c (const_hash): Treat NON_LVALUE_EXPR like CONVERT_EXPR.
|
||
(compare_constant_1, copy_constant, bc_assemble_integer): Likewise.
|
||
(const_hash, compare_constant_1): Use switch, not if-then-else.
|
||
|
||
Fri Jan 17 17:10:20 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.h (STACK_POINTER_OFFSET): Don't define.
|
||
|
||
Thu Jan 16 14:51:03 1997 Bob Manson <manson@charmed.cygnus.com>
|
||
|
||
* cplus-dem.c: Fix indenting; note that this file also lives in
|
||
libiberty.
|
||
(do_type, case 'M'): Check for a template as well as a class.
|
||
|
||
Thu Jan 16 15:08:26 1997 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* gcc.c (cross_compile): Change to be a char * like all of the
|
||
other specs.
|
||
(process_command): Change how cross_compile is tested.
|
||
(main): Likewise.
|
||
(struct spec_list): Merge with the format used by EXTRA_SPECS.
|
||
Add name length field to speed up repeated calls to strcmp. Add
|
||
flag to say spec was allocated. Add pointer to char * so that
|
||
static spec fields can be updated.
|
||
(extra_specs): Use struct spec_list as type.
|
||
(static_specs): Static list of predefined specs.
|
||
(init_specs): New function, initialize the specs list. Link in
|
||
the default specs and any specs defined via EXTRA_SPECS.
|
||
(set_spec): No longer special case predefined specs.
|
||
(process_command,validate_all_switches): Ditto.
|
||
(process_command): Call init_specs for -dumpspecs.
|
||
(do_spec_1): Use name length field to avoid calling strncmp when
|
||
it is going to fail.
|
||
(main): Call init_spec. Don't handle EXTRA_SPECS here.
|
||
|
||
Thu Jan 16 17:07:54 1997 Eddie C. Dost <ecd@skynet.be>
|
||
|
||
* configure: Add sparc-linux{,aout} support.
|
||
* ginclude/va-sparc.h: Likewise.
|
||
* sparc/linux.h: New file.
|
||
* sparc/linux-aout.h: New file.
|
||
* sparc/xm-linux.h: New file.
|
||
|
||
Thu Jan 16 16:19:13 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure (sparc-*-aout*): Add libgloss.h to tm_file.
|
||
(sparclite-*-coff*): Change "= to =".
|
||
|
||
Thu Jan 16 12:53:15 CST 1997 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* rs6000/rtems.h: Change from being sysv4 based to being eabi based.
|
||
|
||
Thu Jan 16 13:40:51 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.h (LINKER_ENDIAN_SPEC): Define.
|
||
(LINK_SPEC): Add linker_endian_spec.
|
||
(EXTRA_SPECS): Add linker_endian_spec.
|
||
|
||
Thu Jan 16 08:02:13 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (bCC, inverted bCC): Use bCC .+X instead of bCC 0f.
|
||
|
||
Wed Jan 15 14:06:28 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload.h (reload_address_base_reg_class): Declare.
|
||
(reload_address_index_reg_class): Declare.
|
||
* reload1.c (reload_address_base_reg_class): Define.
|
||
(reload_address_index_reg_class): Define.
|
||
(init_reload): Initialize reload_address_{base,index}_reg_class.
|
||
* reload.c (find_reloads_address): Use
|
||
reload_address_base_reg_class rather than BASE_REG_CLASS. Use
|
||
reload_address_index_reg_class rather than INDEX_REG_CLASS.
|
||
(find_reloads_address_1): Likewise.
|
||
|
||
Tue Jan 14 15:26:33 1997 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload.c (REGNO_MODE_OK_FOR_BASE_P): Define if not defined.
|
||
(REG_MODE_OK_FOR_BASE_P): Define if not defined.
|
||
(find_reloads_address): Use REG[NO]_MODE_OK_FOR_BASE_P rather than
|
||
REG[NO]_OK_FOR_BASE_P.
|
||
(find_reloads_address_1): Likewise.
|
||
Add mode parameter; change all callers.
|
||
|
||
* reload1.c (eliminate_regs_in_insn): Handle more cases when
|
||
eliminating the frame pointer to the hard frame pointer.
|
||
|
||
* varasm.c (force_const_mem): Copy a CONST_INT rtx like a CONST rtx.
|
||
|
||
* varasm.c (assemble_end_function): Call
|
||
output_after_function_constants.
|
||
(after_function_constants): New static variable.
|
||
(output_after_function_constants): New static function.
|
||
(output_constant_def): Check CONSTANT_AFTER_FUNCTION_P.
|
||
|
||
Mon Jan 13 16:44:40 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000/aix41.h (CPP_PREDEFINES): Add -D_AIX41.
|
||
|
||
Sun Jan 12 20:54:01 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* libgloss.h (LINK_SPEC): Delete.
|
||
(STARTFILE_SPEC): Delete spurious newline.
|
||
|
||
Sat Jan 11 00:13:03 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
|
||
|
||
* mips.md (norsi3, nordi3): Use canonical RTL. Prepend `*' to pattern
|
||
name. Don't match immediates.
|
||
(norsi3_const, nordi3_const): New patterns.
|
||
(anddi3, iordi3, xordi3): Test TARGET_64BIT, not mips_isa
|
||
in length attribute calculation.
|
||
* mips.c (complemented_arith_operand): New function.
|
||
(print_operand): Handle `e' for CONST_INT.
|
||
* mips.h (PREDICATE_CODES): Add complemented_arith_operand.
|
||
|
||
Fri Jan 10 14:11:53 1997 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000/aix41.h (SUBTARGET_SWITCHES): Add threads and pe.
|
||
(CPP_SPEC): Add mpe and mthreads cases.
|
||
(LIB_SPEC): Add mpe and mthreads cases to variant from rs6000.h.
|
||
(STARTFILE_SPEC): Add mpe and mthreads support.
|
||
|
||
Fri Jan 10 07:12:26 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* i386/cygwin32.h (LINK_SPEC): New definition.
|
||
|
||
* Makefile.in (FLAGS_TO_PASS): Add STAGE_PREFIX, set by configure.
|
||
* configure: Initialize exeext.
|
||
Update STAGE_PREFIX in Makefile.
|
||
|
||
* dwarfout.c (dwarfout_line): Push to LINE_SECTION after calling
|
||
lookup_filename.
|
||
|
||
Thu Jan 9 12:06:04 1997 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.md (addsidi3_2): Add & to operand 0 of alternative 5.
|
||
|
||
Thu Jan 9 12:06:04 1997 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
From Linus Torvalds and Mat Hostetter:
|
||
* i386.c (i386_sext16_if_const): Added to sign extend HImode constant.
|
||
(i386_aligned_reg_p): Added to tell if an rtx is aligned.
|
||
(i386_cc_probably_useless_p): Don't trust cc bits.
|
||
* i386.h (TARGET_ZERO_EXTEND_WITH_AND): Don't do this for p6.
|
||
* i386.md (cmpsf_ccfpeq+2): Use SImode test instruction.
|
||
(movhi+1): Use movz instead of mov on p6.
|
||
(addsi3): Add 128 by subtracting -128.
|
||
(zero_extendhisi2): Use SImode move if aligned.
|
||
({add,sub,and,ior,xor}hi3): Likewise.
|
||
|
||
Tue Jan 7 16:58:27 1997 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-parse.in (extension): New rule for __extension__.
|
||
(extdef, unary_expr, decl, component_decl): Use it.
|
||
|
||
Mon Jan 6 15:44:37 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
|
||
|
||
* 1750a.c: Now includes regs.h.
|
||
({movcnt,mod}_regno_adjust): Corrected typos.
|
||
* 1750a.md (movhi): Corrected case of moving constant to memory.
|
||
|
||
Mon Jan 6 08:00:57 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* mips.h: Delete redundant definitions of compiler and library fns.
|
||
|
||
* dwarfout.c (type_attribute): Ignore any subtype for now.
|
||
|
||
* fold-const.c (operand_equal_p): Rework to consider two
|
||
expressions that have embedded identical SAVE_EXPRs as
|
||
equivalent; also handle some more cases.
|
||
|
||
Sun Jan 5 23:54:34 1997 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (pic_load_label): Fix test for using just an
|
||
ldo rather than an addil;ldo sequence to load the label's
|
||
address.
|
||
|
||
Sun Jan 5 07:26:47 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (expand_expr, case COMPONENT_REF): Fix error in last
|
||
change: don't suppress conversion if just EXPAND_SUM.
|
||
|
||
Sat Jan 4 18:44:01 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.h (struct tree_decl): saved_insns.i is HOST_WIDE_INT.
|
||
|
||
* fold-const.c (const_binop): Rework to only make constants in
|
||
one place; always use size_int if small enough and of sizetype.
|
||
(size_int): Call force_fit_type.
|
||
(fold): Avoid ever changing type of input tree.
|
||
|
||
* expr.c (get_inner_reference): Fix type error.
|
||
(expand_expr, case COMPONENT_REF): Don't convert if modifier
|
||
is EXPAND_CONST_ADDRESS, EXPAND_SUM, or EXPAND_INITIALIZER.
|
||
* tree.c (staticp, case COMPONENT_REF, BIT_FIELD_REF): Not
|
||
static if bitfield.
|
||
|
||
* expr.c (expand_expr, case COMPONENT_REF): If taking value
|
||
from a CONSTRUCTOR, must mask/sign-extend if bitfield.
|
||
(expand_builtin, case BUILT_IN_LONGJMP): Pass type, not IDENTIFIER,
|
||
to second arg of RETURN_POPS_ARGS.
|
||
|
||
* expr.c (expand_expr, case COND_EXPR): Add additional cases
|
||
to "singleton" cases.
|
||
* tree.c (integer_pow2): Mask value to width of type.
|
||
(tree_log2): New function.
|
||
|
||
* expmed.c (store_fixed_bit_field): If not SLOW_UNALIGNED_ACCESS,
|
||
treat everything as maximally aligned.
|
||
|
||
* combine.c (find_split_point, case SET): If SET_SRC is NE and
|
||
STORE_FLAG_VALUE is -1, see if we can convert into NEG of shift.
|
||
(force_to_mode, case NE): Make condition stricter.
|
||
|
||
* calls.c (emit_library_call_value): Remove redundant check for
|
||
outmode != VOIDmode.
|
||
|
||
Sat Jan 4 08:12:16 1997 J.T. Conklin <jtc@rhino.cygnus.com>
|
||
|
||
* Optimizations from John Vickers (john@rhizik.demon.co.uk):
|
||
* m68k.c (output_function_{pro,epi}logue): Use addq/subq when
|
||
adjusting stack pointer by small displacements.
|
||
* m68k.md (addsi3, addhi3): Use two addqw (or subqw) insns when
|
||
adding (or subtracting) small integer constants (8 < N <= 16) to
|
||
both address and data registers.
|
||
|
||
Sat Jan 4 07:06:07 1997 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* loop.c (basic_induction_var): Return 0 if SUBREG is not a
|
||
promoted variable.
|
||
|
||
Sat Jan 4 06:22:36 1997 Doug Rupp (rupp@gnat.com)
|
||
|
||
* alpha.c (vmskrunch): Try to not chop trailing uppercase letters.
|
||
* alpha/vms.h (ENDFILE_SPEC): Use "gnu", not "gnu_cc".
|
||
|
||
* cccp.c (PRINTF_PROTO): Use __printf__ in __attribute__, not printf.
|
||
* cexp.y (PRINTF_PROTO): Likewise.
|
||
|
||
Fri Jan 3 09:01:00 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||
|
||
* alpha.md (cmov): Fix operand numbers in case involving DF target,
|
||
DF comparison, and SF source.
|
||
|
||
Fri Jan 3 08:19:46 1997 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cpplib.c (macroexpand): Delete any no-reexpansion marker following
|
||
identifier at beginning of an argu concatenated with what precedes it.
|
||
|
||
Fri Jan 3 07:59:21 1997 Ken Rose (rose@netcom.com)
|
||
|
||
* reorg.c (fill_slots_from_thread): Skip moved insn in all three cases.
|
||
|
||
Fri Jan 3 07:51:44 1997 Bob Manson <manson@cygnus.com>
|
||
|
||
* function.c ({push,pop}_function_context_to): Save and restore
|
||
current_function_args_info.
|
||
* function.h (struct function): New field args_info.
|
||
|
||
Fri Jan 3 06:55:09 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* jump.c (rtx_equal_for_thread_p): Return 0 for floating-point.
|
||
|
||
* reload.c (find_reloads): If replaced a PLUS or MULT with a
|
||
simple operand, start over again.
|
||
|
||
* va-alpha.h: Check for __VMS__, not VMS.
|
||
|
||
Thu Jan 2 08:52:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* configure: Finish restoring change of default of objc threads to
|
||
"single" for Linux-based GNU systems.
|
||
|
||
Mon Dec 30 17:03:46 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (fmpy_operands): Remove. No longer needed.
|
||
(combinable_add, combinable_copy, combinable_fmpy): Likewise.
|
||
(combinable_fadd, combineable_fsub): Likewise.
|
||
(pa_reorg): Call pa_combine_instructions.
|
||
(pa_combine_instructions): Combine instructions to make things
|
||
like fmpyadd and fmpysub.
|
||
(pa_can_combine_p): Helper function for pa_combine_instructions.
|
||
* pa.md (pa_combine_type): New attribute. Set it appropriately
|
||
for various insns.
|
||
(define_delays): Use a separate define_delay for unconditional
|
||
branches.
|
||
(fmpyadd, fmpysub peepholes): Remove, no longer needed.
|
||
(fmpyadd, fmpysub insns): Add variant with fadd/fsub first,
|
||
then the fmpy.
|
||
|
||
Mon Dec 30 14:43:51 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reg-stack.c (subst_stack_regs_pat): Set src_note explicitly, instead
|
||
of using invalid aggregate initialization.
|
||
|
||
* print-tree.c (print_node): Don't try to print nonexistent
|
||
TYPE_ATTRIBUTES field of a decl node.
|
||
|
||
Mon Dec 30 10:30:25 1996 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
|
||
|
||
* config.sub: Handle hiuxmpp as system type.
|
||
|
||
Thu Dec 26 13:33:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (init_v4_pic): Explicitly set the length.
|
||
|
||
Mon Dec 23 19:39:38 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.h (FUNCTION_ARG_REGNO_P): Correct for TARGET_SOFT_FLOAT and
|
||
TARGET_FLOAT64 cases.
|
||
|
||
* integrate.c (function_cannot_inline_p): Reject function with
|
||
PARALLEL result.
|
||
(expand_inline_function): Abort if function result not handled.
|
||
|
||
Sat Dec 21 04:02:46 1996 Jason Merrill <jason@gerbil.cygnus.com>
|
||
|
||
* mips.c (save_restore_insns): Mark large frame setup insns
|
||
as frame-related.
|
||
(mips_expand_prologue): Likewise.
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug): Support MIPS large frames.
|
||
(add_bound_info): Use default lower bounds.
|
||
Handle simple variable bounds with a DIE ref.
|
||
Don't generate a NULL loc descr.
|
||
(add_subscript_info): Always add lower bound.
|
||
(gen_formal_parameter_die): Always equate_decl_number_to_die.
|
||
(gen_variable_die): Likewise. Don't use the old die for automatic
|
||
variables.
|
||
|
||
Wed Dec 18 10:23:46 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (notice_update_cc): Enable this code.
|
||
* mn10300.h (CC_OVERFLOW_UNUSABLE): Define.
|
||
* mn10300.md (tstsi): Use "set_zn_c0" instead of "set" for cc status.
|
||
(addsi3 pattern): Break "inc" into two different alternatives
|
||
since "inc dn" sets cc0, but "inc an" does not.
|
||
(multiply and divide patterns): Fix cc status.
|
||
(bCC, inverted bCC): Restore any comparison which needs the
|
||
overflow bits when CC_OVERFLOW_UNUSABLE is set.
|
||
(zero and sign extensions): Fix cc status.
|
||
(movm_store): Likewise.
|
||
|
||
Tue Dec 17 15:02:44 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sched.c (update_flow_info): When add REG_DEAD notes for dest of
|
||
last insn, add check for global_regs.
|
||
|
||
Tue Dec 17 11:07:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/win-nt.h (HAS_INIT_SECTION): Delete, so that __main is
|
||
called from main.
|
||
|
||
Mon Dec 16 15:28:44 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* combine.c (nonzero_bits): Ifdef out calls to num_sign_bit_copies.
|
||
Add dummy define/undef for num_sign_bit_copies.
|
||
|
||
* dwarfout.c (location_or_const_value_attribute, case CONCAT): Add.
|
||
|
||
* combine.c (simplify_comparison): Use mode_width as shift count
|
||
only if it is less than or equal to HOST_BITS_PER_WIDE_INT.
|
||
|
||
Mon Dec 16 10:10:11 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (expand_epilogue): Restore registers in the
|
||
"ret" instruction instead of a separate movm instruction.
|
||
Support possible stack deallocation in "ret" instruction too.
|
||
* mn10300.md (return_internal): Use "ret" instead of "rets";
|
||
restore registers and deallocate stack as needed.
|
||
(load_movm): Delete unused pattern.
|
||
|
||
* mn10300.h (SMALL_REGISTER_CLASSES): Define.
|
||
|
||
Fri Dec 13 14:46:54 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (dect): Rewrite pattern so that it can be combined.
|
||
|
||
Fri Dec 13 13:14:51 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* varasm.c (output_constant_pool): If ASM_OUTPUT_POOL_EPILOGUE is
|
||
defined, call it.
|
||
|
||
Thu Dec 12 20:04:55 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* rtl.h (RTX_FRAME_RELATED_P): New macro.
|
||
(struct rtx_def): Add frame_related bitfield.
|
||
* final.c (final_scan_insn): Call dwarf2out_frame_debug.
|
||
Don't call dwarf2out_begin_function.
|
||
(final): Initialize dwarf2out_frame_debug.
|
||
* dwarf2out.c (dwarf2out_begin_function): Remove.
|
||
(dwarf2out_init): Use INCOMING_RETURN_ADDR_RTX.
|
||
(DWARF_CIE_DATA_ALIGNMENT): Generalize.
|
||
(DWARF_FRAME_REGNUM): Don't add 1.
|
||
(decode_cfi_rtl): Lose.
|
||
(dwarf2out_def_cfa): Now takes reg and offset directly.
|
||
(reg_save): Likewise.
|
||
(dwarf2out_reg_save): Now takes offset.
|
||
(initial_return_save): Grok INCOMING_RETURN_ADDR_RTX.
|
||
Replaces dwarf2out_return_save.
|
||
(dwarf2out_cfi_label): New fn.
|
||
(add_fde_cfi): Use it.
|
||
(dwarf2out_frame_debug): New fn.
|
||
* mips.h (DWARF_FRAME_REGNUM): Tweak r31.
|
||
(INCOMING_RETURN_ADDR_RTX): Define.
|
||
* mips.c (mips_expand_prologue): Set RTX_FRAME_RELATED_P as needed.
|
||
(save_restore_insns): Likewise.
|
||
* i386.c (ix86_expand_prologue): Likewise.
|
||
* i386.h (INCOMING_RETURN_ADDR_RTX): Define.
|
||
(DWARF_FRAME_RETURN_COLUMN): Define.
|
||
|
||
* dwarf2out.c (add_AT_long_long): Renamed from add_AT_double fo
|
||
clarity.
|
||
(print_die): Adjust.
|
||
(add_AT_float): New fn.
|
||
(add_const_value_attribute): Support fp values.
|
||
(size_of_die): Use blocks for long_long and fp values.
|
||
(value_format, output_die): Likewise.
|
||
(output_loc_operands): Don't support DW_OP_const8?.
|
||
|
||
Thu Dec 12 19:49:09 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* varasm.c (CONSTANT_POOL_BEFORE_FUNCTION): Define if not
|
||
defined.
|
||
(assemble_start_function): Check CONSTANT_POOL_BEFORE_FUNCTION
|
||
to decide whether to call output_constant_pool.
|
||
(assemble_end_function): Likewise.
|
||
|
||
* calls.c: Check SMALL_REGISTER_CLASSES at run time, not just
|
||
compile time.
|
||
* combine.c, cse.c, function.c, jump.c, local-alloc.c: Likewise.
|
||
* loop.c, reload.c, reload1.c: Likewise.
|
||
* dsp16xx.h (SMALL_REGISTER_CLASSES): Define with value.
|
||
* h8300.h (SMALL_REGISTER_CLASSES): Likewise.
|
||
* i386.h (SMALL_REGISTER_CLASSES): Likewise.
|
||
* pdp11.h (SMALL_REGISTER_CLASSES): Likewise.
|
||
* sh.h (SMALL_REGISTER_CLASSES): Likewise.
|
||
|
||
Thu Dec 12 15:25:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (sysv call insns): If flag_pic add @plt suffix.
|
||
|
||
* rs6000.md (fix_truncdfsi2_store): Fix offsets > 32k.
|
||
|
||
* rs6000/t-ppccomm: New file for common parts of embedded and
|
||
System V target Makefile support.
|
||
|
||
* rs6000/t-ppcos: New file for System V OS target Makefile
|
||
support.
|
||
|
||
* rs6000/t-solaris: Delete, merge into rs6000/t-ppcos.
|
||
|
||
* rs6000/t-{ppc,ppcgas}: Only keep the multilib specific parts,
|
||
moving the rest to rs6000/t-ppccomm.
|
||
|
||
* configure (powerpc*-*-*): For embedded and System V
|
||
configurations, add rs6000/t-ppccomm.
|
||
For GNU/Linux and Solaris, use t-ppcos.
|
||
|
||
* ginclude/ppc-asm.h (cr*, f*): Add new macros for register names.
|
||
|
||
* rs6000/sol-c0.c (_start): Fix uninitialized data bug.
|
||
|
||
* rs6000.md (init_v4_pic): Add @local to call.
|
||
(icbi,dcbst,sync,isync): Delete PowerPC cache control insns.
|
||
|
||
* rs6000/sysv4.h (ASM_SPEC): On explicit -mcall-solaris, pass
|
||
-msolaris to the assembler.
|
||
|
||
* rs6000.c (rs6000_sync_trampoline): Delete.
|
||
(rs6000_trampoline_template): Aix & System V don't need template now.
|
||
(rs6000_initialize_trampoline): For System V, call the function
|
||
__trampoline_setup to set up the trampoline.
|
||
|
||
* rs6000.h (TRAMPOLINE_TEMPLATE): Delete here.
|
||
* rs6000/win-nt.h (TRAMPOLINE_TEMPLATE): Add it here.
|
||
|
||
* rs6000/tramp.asm: New file, setup trampolines properly on System
|
||
V systems, properly flushing the caches.
|
||
|
||
Thu Dec 12 10:53:10 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (fill_slots_from_thread): Don't call eligible_for_delay
|
||
with an insn with asm operands.
|
||
|
||
* expmed.c (emit_store_flag_force): Fix typos/thinkos.
|
||
|
||
Thu Dec 12 08:09:20 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* i386.c (i386_return_pops_args): Libcalls ignore TARGET_RTD.
|
||
|
||
Thu Dec 12 07:56:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.h (maybe_get_identifier): New declaration.
|
||
|
||
* calls.c (emit_library_call): Don't pass VOIDmode to type_for_mode.
|
||
|
||
* va-alpha.h: Add definitions for VMS; they differ from Unix.
|
||
|
||
* Makefile.in (stamp-objlist): Handle first character of object
|
||
file being a digit.
|
||
|
||
* 1750a.h (function_arg, {movcnt,mod}_regno_adjust): Add decls.
|
||
(branch_or_jump): Likewise.
|
||
(FUNCTION_ARG): Remove cast of function_arg result to rtx.
|
||
* 1750a.md: Remove unneeded casts to char *.
|
||
|
||
Thu Dec 12 05:55:27 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* arm.c (arm_gen_constant, case [IX]OR): Don't invert constant if
|
||
loading into temporary.
|
||
|
||
Wed Dec 11 18:57:21 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): Make sure unwinder RTL is saved.
|
||
|
||
* collect2.c (write_c_file): Wrap the ctor/dtor lists and fns
|
||
with `extern "C" { ... }'.
|
||
|
||
Wed Dec 11 17:46:48 1996 John F. Carr <jfc@mit.edu>
|
||
|
||
* tree.h (tree_decl): Reorder field declarations to reduce size
|
||
on 64 bit machines.
|
||
|
||
* combine.c (try_combine): When splitting an insn, check for the
|
||
new I2 setting a SUBREG.
|
||
|
||
Wed Dec 11 17:00:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* alpha.c (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of
|
||
using "%ld".
|
||
(output_prolog): Don't print useless comment for VMS.
|
||
|
||
* alpha.c (output_prolog): SIZE is now HOST_WIDE_INT.
|
||
* alpha.md (mov[hq]i unnamed): Split up for TARGET_BYTE_OPS and not.
|
||
|
||
* function.c (fixup_var_refs_1, case ZERO_EXTRACT): Don't call
|
||
fixup_memory_subreg if no longer SUBREG of MEM.
|
||
|
||
Wed Dec 11 14:10:48 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c: New file for Matsushita MN10300 port.
|
||
* mn10300.h, mn10300.md, t-mn10300, xm-mn10300.h: Likewise.
|
||
* config.sub: Recognize mn10300 as a basic machine type.
|
||
* configure: Similarly.
|
||
* ginclude/stdarg.h: mn10300 is little endian.
|
||
* ginclude/varargs.h: Likewise.
|
||
|
||
Wed Dec 11 09:09:10 1996 Nagai Takayuki <nagai@ics.es.osaka-u.ac.jp>
|
||
|
||
* libgcc2.c (cacheflush): Add SONY NEWS-OS 4.2 version.
|
||
|
||
Wed Dec 11 09:01:39 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* calls.c (emit_library_call, emit_library_call_value):
|
||
Don't pass an identifier node as function type for
|
||
library functions, but rather build a function type that
|
||
has a return type with the correct mode.
|
||
* i386.c (i386_return_pops_args): Don't test for IDENTIFIER_NODE.
|
||
* i386/isc.h (obsolete RETURN_POPS_ARGS): Test first argument
|
||
for IDENTIFIER_NODE.
|
||
* i386/next.h (RETURN_POPS_ARGS): Likewise.
|
||
* i386/sco.h (RETURN_POPS_ARGS): Likewise.
|
||
* i386/sco5.h (RETURN_POPS_ARGS): Likewise.
|
||
* i386/scodbx.h (RETURN_POPS_ARGS): Likewise.
|
||
* m68k.h (RETURN_POPS_ARGS): Likewise.
|
||
* ns32k.h (RETURN_POPS_ARGS): Likewise.
|
||
* pyr.h (RETURN_POPS_ARGS): Likewise.
|
||
* gmicro.h (RETURN_POPS_ARGS): Likewise; fix typo.
|
||
|
||
Tue Dec 10 17:36:47 1996 J.T. Conklin <jtc@rhino.cygnus.com>
|
||
|
||
* Add optimizations from John Vickers (john@rhizik.demon.co.uk)
|
||
* m68k.h (TARGET_CPU32): New macro.
|
||
* m68k.md (add[hs]i3): Only use two addq.w or subq.w instructions
|
||
when adding or subtracting constants 8 < N < 16 on TARGET_CPU32.
|
||
Use lea instead of add.w when adding 16 bit constants to address
|
||
registers on all but TARGET_68040.
|
||
* m68k.c (output_function_{pro,epi}logue): Use lea instead of add.w
|
||
when adjusting stack pointer on all but TARGET_68040.
|
||
|
||
Tue Dec 10 15:55:23 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* optabs.c (emit_unop_insn): Treat ZERO_EXTEND like SIGN_EXTEND.
|
||
|
||
Tue Dec 10 13:47:24 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* combine.c (combinable_i3pat): Bring back to sync with can_combine_p.
|
||
|
||
* sh.h (ADJUST_INSN_LENGTH): Don't break from loop when LOOP_BEG found.
|
||
Calculate padding in new variable pad.
|
||
|
||
Mon Dec 9 18:00:38 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (output_uleb128): Output value in human-readable comment.
|
||
(output_sleb128): Likewise.
|
||
(various): Adjust.
|
||
(output_call_frame_info): Only output info if it's interesting.
|
||
(add_src_coords_attributes): New fn.
|
||
(add_name_and_src_coords_attributes): Split out from here.
|
||
(gen_enumeration_type_die): Add src coordinates.
|
||
(gen_struct_or_union_type_die): Likewise.
|
||
(dwarf2out_finish): Call output_call_frame_info for all targets.
|
||
|
||
Thu Dec 5 11:25:30 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (add_pure_or_virtual_attribute): Only add
|
||
AT_containing_type if -g2 or higher.
|
||
|
||
* dwarf2out.c (gen_struct_or_union_type_die): Make sure that
|
||
the type for AT_containing_type has been generated.
|
||
(gen_decl_die): Likewise.
|
||
|
||
* dwarf2out.c (type_tag): Check DECL_IGNORED_P.
|
||
(add_pure_or_virtual_attribute): Check DECL_VINDEX instead.
|
||
(scope_die_for): Likewise.
|
||
* dwarfout.c (type_tag): Likewise.
|
||
|
||
Wed Dec 4 22:51:38 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (decode_cfi_rtl): Support getting a CONST_INT.
|
||
(dwarf2out_begin_function): Adjust.
|
||
(reg_save): Divide offset by the alignment.
|
||
(output_cfi): Support having more than one advance_loc.
|
||
(output_call_frame_info): Re-initialize current_label.
|
||
(dwarf2out_begin_prologue): Initialize current_label to NULL.
|
||
(lookup_cfa, lookup_cfa_1): New fns.
|
||
(dwarf2out_def_cfa): Call lookup_cfa.
|
||
(dwarf2out_finish): Don't generate CIE CFIs.
|
||
(dwarf2out_init): Generate them here.
|
||
(DWARF_FRAME_RETURN_COLUMN): Use PC_REGNUM.
|
||
|
||
(add_pure_or_virtual_attribute): Note virtual context.
|
||
(gen_formal_parameter_die): Return the die.
|
||
(gen_formal_types_die): Set AT_artificial on `this'.
|
||
(gen_subprogram_die): Add AT_accessibility.
|
||
(gen_variable_die): Likewise.
|
||
(gen_field_die): Likewise. Don't generate location attribute for
|
||
union members.
|
||
(gen_struct_or_union_type_die): Note where our vtable lives.
|
||
(gen_decl_die): Handle anonymous union fields.
|
||
(dwarf2out_decl): Always output `bool'.
|
||
|
||
Mon Dec 2 03:55:15 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* final.c (final_end_function): Don't call dwarf2out_end_function.
|
||
|
||
* dwarf2out.c (output_line_info): Emit special opcodes for each line
|
||
entry, even if the line number doesn't change.
|
||
(pend_type, output_pending_types_for_scope): New fns.
|
||
(gen_struct_or_union_type_die): Use them to defer generating member
|
||
dies if we're in the middle of some other context.
|
||
(gen_type_die): Still put nested types in the right place.
|
||
(dwarf2out_decl): Call output_pending_types_for_scope.
|
||
|
||
* dwarf2out.c (dw_fde_struct): Replace end_prologue, begin_epilogue
|
||
with current_label.
|
||
(DWARF_CIE_INSN_SIZE, DWARF_CIE_SIZE): Remove.
|
||
(DWARF_CIE_HEADER_SIZE): The size without the initial insns.
|
||
(size_of_cfi): Revert.
|
||
(decode_cfi_rtl, add_fde_cfi, dwarf2out_def_cfa, reg_save,
|
||
dwarf2out_reg_save, dwarf2out_return_save): New fns.
|
||
(dwarf2out_begin_function): Use them to generate CFIs.
|
||
(dwarf2out_finish): Use them to generate E CFIs.
|
||
Don't set next_fde_offset.
|
||
(calc_fde_sizes): Initialize cie_size.
|
||
(output_call_frame_info): Don't generate CIE CFIs.
|
||
(dwarf2out_end_function): Remove.
|
||
|
||
* tree.c (maybe_get_identifier): New fn.
|
||
* varasm.c (assemble_name): Use it instead of get_identifier.
|
||
|
||
Fri Nov 29 15:13:39 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* jump.c (jump_optimize): Don't move initialization if there is a
|
||
label between it and the jump for if (foo) bar++ to bar += (foo !=0)
|
||
|
||
Wed Nov 27 16:21:14 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* Remove change of Oct 4.
|
||
* i386.h (outer_function_chain): Remove.
|
||
(current_function_calls_alloca): Remove.
|
||
(rtx_equal_function_value_matters): Remove.
|
||
(N_REGS_USED, N_ALLOCATABLE_REGISTERS): Remove.
|
||
* i386.md (adddi3_1, subdi3_1): Remove.
|
||
(adddi3, subdi3): Revert.
|
||
(movsf, movsf_mem, movsf_normal, movdf, movdf_mem, movdf_mem+1):
|
||
Likewise.
|
||
(movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
|
||
(adddi3_1, subsidi3, subdi3_1): Likewise.
|
||
(addsidi3_1, addsidi3_2, subsidi3): Likewise.
|
||
(addsidi3_1, addsidi3_2, adddi3, subsidi3): Disable the problem
|
||
reload alternatives.
|
||
|
||
Wed Nov 27 16:21:14 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* i386.md (ashldi3_non_const_int, ashrdi3_non_const_int):
|
||
Use a hidden branch to handle shifts > 32 bit.
|
||
(lshrdi3_non_const_int): Likewise.
|
||
(floatdixf2): Don't use unnecessary XFmode operation.
|
||
|
||
Wed Nov 27 15:23:41 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (assemble_variable): Don't emit DWARF.
|
||
|
||
* toplev.c (rest_of_type_compilation): Don't emit DWARF.
|
||
(main): Just let -gdwarf mean DWARF v1; remove -gdwarf-1.
|
||
|
||
* dwarfout.c (decl_class_context): New fn.
|
||
(output_global_subroutine_die): Fix declaration case.
|
||
(output_global_variable_die): Likewise.
|
||
(output_type): Note when we are in a class defn. If we're a nested
|
||
type and our context hasn't been written, do that. Do early exit
|
||
for nested types.
|
||
(output_decl): Output the class context for fns and vars.
|
||
Don't emit detailed parm info for a fn declaration.
|
||
Use TYPE_DECL_IS_STUB, is_redundant_typedef.
|
||
(type_ok_for_scope): Support emitting nested types later.
|
||
(is_redundant_typedef): New fn.
|
||
(TYPE_DECL_IS_STUB): New macro.
|
||
(output_compile_unit_die): Check use_gnu_debug_info_extensions.
|
||
(output_local_subroutine_die, output_global_subroutine_die,
|
||
dwarfout_begin_function, dwarfout_end_function, dwarfout_line,
|
||
generate_macinfo_entry, dwarfout_init, dwarfout_finish): Likewise.
|
||
|
||
* dwarf2out.c (decl_class_context): Static.
|
||
(lookup_type_die): Use TYPE_SYMTAB_POINTER.
|
||
(equate_type_number_to_die): Likewise.
|
||
(gen_subprogram_die): If we're in class context, it's a decl.
|
||
(gen_variable_die): Likewise.
|
||
(gen_decl_die): Output the containing type.
|
||
(dwarf2out_init): Lose type_die_table code.
|
||
|
||
Wed Nov 27 08:30:54 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* Makefile.in (DRIVER_DEFINES): New macro, with the macro
|
||
definitions for the driver.
|
||
(gcc.o): Make rule use $(DRIVER_DEFINES).
|
||
* gcc.c (process_command) [LANG_SPECIFIC_DRIVER]: Call
|
||
lang_specific_driver, passing along the addr of FATAL for errors
|
||
along with our ARGC and ARGV.
|
||
|
||
Wed Nov 27 08:21:13 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k.md (iorsi_zexthi_ashl16): New pattern.
|
||
(ashrsi_16): New name for old unnamed pattern.
|
||
|
||
* objc/misc.c (stdlib.h): Define __USE_FIXED_PROTOTYPES__ before
|
||
including stdlib.h.
|
||
|
||
Wed Nov 27 08:17:34 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* i386.md (decrement_and_branch_until_zero+[3-8]): Add missing
|
||
CC_STATUS_INIT.
|
||
(decrement_and_branch_until_zero+[5-8]): Delete redundant assignment.
|
||
|
||
Wed Nov 27 07:56:27 1996 J.T. Conklin <jtc@rhino.cygnus.com>
|
||
|
||
* m68k.md ({and,ior,xor}si3_internal): Removed !TARGET_5200 from
|
||
conditionals now that entire insn is disabled when !TARGET_5200.
|
||
|
||
Wed Nov 27 07:52:32 1996 Oliver Kellogg <kellogg@space.otn.dasa.de>
|
||
|
||
* 1750a.md (movhi pattern): Fixed MEM to MEM move problem.
|
||
|
||
Tue Nov 26 14:50:54 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (move_by_pieces): Abort only if length positive at end.
|
||
* function.c (frame_offset, get_frame_size): Make HOST_WIDE_INT.
|
||
* function.h (struct function): Make frame_offset be HOST_WIDE_INT.
|
||
(get_frame_size): Add definition.
|
||
* reload1.c (reload): Make starting_frame_size be HOST_WIDE_INT.
|
||
|
||
Mon Nov 25 16:55:14 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_finish): Don't emit call frame info
|
||
for non-MIPS targets.
|
||
(is_redundant_typedef): New fn.
|
||
(modified_type_die): Refer to typedef DIEs where appropriate.
|
||
(gen_typedef_die): Support DECL_ORIGINAL_TYPE.
|
||
(gen_type_die): Likewise. Use is_redundant_typedef.
|
||
(gen_subprogram_die): Don't force a spec DIE for local class methods.
|
||
|
||
Mon Nov 25 15:09:12 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* gcc.c (handle_braces): Rework last change.
|
||
|
||
Mon Nov 25 13:49:51 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure (build_exeext, exeext): New variables. Use sed to insert
|
||
build_exeext value into Makefile exeext rule.
|
||
(*-*-cygwin32): Set exeext.
|
||
* i386/x-cygwin32 (exeext): Delete.
|
||
* rs6000/x-cygwin32 (exeext): Delete.
|
||
|
||
* dwarf.h (enum dwarf_location_atom): Add OP_MULT.
|
||
* dwarfout.c (output_mem_loc_descriptor, case MULT): Add.
|
||
* dwarfout2.c (mem_loc_descriptor, case MULT): Add.
|
||
|
||
* dwarfout.c (dwarf_fund_type_name, case FT_unsigned_int64): Fix typo.
|
||
|
||
Sun Nov 24 21:42:01 1996 J.T. Conklin <jtc@rhino.cygnus.com>
|
||
|
||
* m68k.md (andsi3): Changed into define_expand.
|
||
(andsi3_internal): Rename from old andsi3, changed condition
|
||
to !TARGET_5200.
|
||
(andsi2_5200): New insn.
|
||
(iorsi3): Change into define_expand.
|
||
(iorsi2_internal): Rename from old iorsi3, changed condition
|
||
to !TARGET_5200.
|
||
(iorsi2_5200): New insn.
|
||
(xorsi3): Change into define_expand.
|
||
(xorsi2_internal): Rename from old xorsi3, changed condition
|
||
to !TARGET_5200.
|
||
(xorsi2_5200): New insn.
|
||
|
||
Sun Nov 24 21:31:32 1996 John F. Carr <jfc@mit.edu>
|
||
|
||
* i386.h (N_ALLOCATABLE_REGISTERS): Remove extra backslash at
|
||
end of macro definition.
|
||
|
||
* cpplib.c (LOCAL_INCLUDE_DIR): Remove default definition.
|
||
(include_defaults_array): Do not use LOCAL_INCLUDE_DIR or
|
||
TOOL_INCLUDE_DIR if they are not defined.
|
||
* cccp.c: Likewise.
|
||
|
||
* Makefile.in (cppmain.o): New rule.
|
||
|
||
Sun Nov 24 19:14:50 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* fold-const.c (merge_ranges): In (+,-) case, if lower bounds are
|
||
the same the result is always false.
|
||
|
||
Sun Nov 24 18:48:31 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* c-typeck.c (build_indirect_ref): Don't give warning for
|
||
dereferencing void * if evaluation is being skipped.
|
||
|
||
* c-decl.c (poplevel): Don't call output_inline_function if
|
||
DECL_SAVED_INSNS is not set.
|
||
|
||
* gcc.c (give_switch): Add new arg, INCLUDE_BLANKS.
|
||
(handle_braces): All callers changed.
|
||
Add support for new construct: %{S*^}.
|
||
|
||
Sun Nov 24 18:44:48 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* c-parse.in (unary_expr, expr_no_commas): Increment skip_evaluation
|
||
when analyzing an expression that is known not to be evaluated.
|
||
(sizeof, alignof): New rules.
|
||
* c-tree.h (skip_evaluation): New variable.
|
||
* c-common.c (skip_evaluation): Likewise.
|
||
(overflow_warning, unsigned_conversion_warning): Don't warn about
|
||
potential runtime errors when skipping evaluation.
|
||
* c-typeck.c (build_binary_op): Likewise.
|
||
(build_conditional_expr): op1 now always nonnull.
|
||
|
||
Sun Nov 24 17:06:58 1996 Bernd Schmidt (crux@Pool.Informatik.RWTH-Aachen.DE)
|
||
|
||
* toplev.c (rest_of_compilation): Call regscan before each
|
||
jump threading pass.
|
||
|
||
Sun Nov 24 16:37:18 1996 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* configure (objc_thread_file): Set conditionally in each case so
|
||
may be overidden with `--enable-objcthreads=posix'.
|
||
Change GNU/Linux default to `single'.
|
||
|
||
Fri Nov 22 17:53:15 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (assemble_variable): Output DWARF in the third case, too.
|
||
|
||
* dwarf2out.c (decls_for_scope): Only add DIEs with no parents to
|
||
our scope.
|
||
(gen_subroutine_type_die): Parm types go under the fn type DIE.
|
||
|
||
* Makefile.in ($(T)crt{begin,end}.o): Move CRTSTUFF_T_CFLAGS after
|
||
general flags.
|
||
|
||
* mips/t-iris6 (CRTSTUFF_T_CFLAGS): Define.
|
||
* mips.c (compute_frame_size): Fix fp_save_offset.
|
||
|
||
* dwarf2out.c (new_die): If we get a NULL parent, inc limbo_die_count.
|
||
(decls_for_scope): Decrement limbo_die_count as appropriate.
|
||
(dwarf2out_finish): Check for good limbo_die_count.
|
||
(size_of_cfi): If regno too big for DW_CFA_offset, use offset_extended
|
||
instead.
|
||
(output_call_frame_info): Add disabled code for specifying ABI.
|
||
(dwarf2out_begin_function): Note all saved regs.
|
||
|
||
* dwarf2out.c (gen_subprogram_die): Have a DIE for each fn at
|
||
toplevel.
|
||
(scope_die_for): Only use the NULL for fns and tags.
|
||
|
||
Tue Nov 21 15:53:51 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (output_stack_adjust): New argument TEMP. Changed all callers.
|
||
If the adjust cannot be done with one, but can be done with two
|
||
CONST_OK_FOR_I constants, do it that way.
|
||
|
||
Thu Nov 21 14:25:55 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fixincludes: Include <stdio.h> in <assert.h> even if not C++ if
|
||
stderr needs to be defined.
|
||
|
||
Wed Nov 20 15:38:13 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (rest_of_type_compilation): Do output function-scope tags
|
||
for DWARF 2.
|
||
* c-decl.c (pushtag): Set TYPE_CONTEXT on the tag.
|
||
* toplev.c, varasm.c: s/dwarf2out_file_scope_decl/dwarf2out_decl/g.
|
||
* dwarf2out.c (add_prototyped_attribute): Use a value of 1.
|
||
(gen_subprogram_die): Support AT_static_link.
|
||
(dwarf2out_decl): Rename from dwarf2out_file_scope_decl.
|
||
Give nested fns and tags a die_parent of NULL.
|
||
(decls_for_scope): Fix the die_parent for nested fns and tags.
|
||
(scope_die_for): If we get a context of NULL, just return it.
|
||
|
||
Tue Nov 19 18:21:11 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (gen_subprogram_die): Support block extern decls.
|
||
(gen_variable_die): Likewise.
|
||
(gen_decl_die): Emit block extern function decls.
|
||
|
||
* c-decl.c (implicitly_declare): Set DECL_ARTIFICIAL.
|
||
|
||
Tue Nov 19 16:50:32 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* configure (powerpc*-{sysv,elf,eabi{,aix,sim}}): Set
|
||
extra_headers to ppc-asm.h.
|
||
(powerpc*-{linux,solaris,rtems,vxworks}): Likewise.
|
||
(powerpc*-{winnt,pe,cygwin32}): Likewise.
|
||
|
||
* rs6000/t-{ppc,ppcgas,solaris,winnt} (EXTRA_HEADERS): Don't set here.
|
||
|
||
Mon Nov 18 14:51:46 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (DWARF_CIE_INSN_SIZE): New macro.
|
||
(DWARF_CIE_HEADER_SIZE): Use it.
|
||
(DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): New macros.
|
||
(output_call_frame_info, dwarf2out_begin_function): Use them.
|
||
For the MIPS, output the first CFA insn in the CIE.
|
||
* dwarf2.h (enum dwarf_call_reg_usage): Lose.
|
||
(dwarf_macinfo_record_type): Fix spelling.
|
||
* mips/mips.h (DWARF_FRAME_REGNUM, DWARF_FRAME_RETURN_COLUMN): Define.
|
||
|
||
* dwarf2out.c (base_type_die): Just generate the DIEs as needed,
|
||
rather than building up some table.
|
||
(init_base_type_table): Lose.
|
||
(add_subscript_info): Use add_type_attribute. Don't give an upper
|
||
bound for an array of unknown size.
|
||
(gen_unspecified_parameters_die): Remove DWARF-1 kludge.
|
||
(dwarf2out_init): Lose call to init_base_type_table.
|
||
(is_c_family, is_fortran): New fns.
|
||
(gen_compile_unit_die): Recognize GNU F77.
|
||
(gen_array_type_die): Use AT_declaration for an array of unknown size.
|
||
(modified_type_die): Take TYPE_MAIN_VARIANT before passing it
|
||
to build_type_variant, so we ignore named variants.
|
||
(dwarf2out_file_scope_decl): Don't generate DIEs for built-in structs,
|
||
either; they will be emitted if they are used.
|
||
From wilson:
|
||
(gen_array_type_die): Force the element type out first on IRIX 6.
|
||
|
||
Sun Nov 17 20:23:11 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (get_inner_reference): Fix error in previous change.
|
||
|
||
Sat Nov 16 06:08:27 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* emit-rtl.c (operand_subword): Avoid confusion if sizeof (float)
|
||
is less than a full word.
|
||
|
||
* alpha.h (MASK_BYTE_OPS): Now define as 1024.
|
||
* alpha/vms.h (TARGET_DEFAULT): Use symbolic values.
|
||
|
||
* expr.c (get_inner_reference): Add new arg PALIGNMENT and compute it.
|
||
(expand_assignment, do_jump): Pass new arg to get_inner_reference.
|
||
(expand_expr, case COMPONENT_REF): Likewise.
|
||
* fold-const.c (optimize_bit_field_compare, decode_field_reference):
|
||
Likewise.
|
||
* tree.h (get_inner_reference): Add new arg.
|
||
|
||
* Add support for Alpha/VMS, mostly from
|
||
Klaus Kaempf (kkaempf@progis.de)
|
||
* configure (alpha-dec-vms*): New target.
|
||
* alpha.c (override_options): Handle VAX format floating-point.
|
||
(print_operand, case ',', '-'): New cases.
|
||
(alpha_builtin_saveregs): Handle VMS convention.
|
||
(alpha_sa_{mask,size}, alpha_pv_save_size, alpha_using_fp):
|
||
New versions for VMS.
|
||
(output_{pro,epi}logue, function_arg): Likewise.
|
||
(direct_return): Never true on VMS.
|
||
(check_float_value): Return 0 for VMS.
|
||
(vmskrunch, alpha_{need,write}_linkage): New function.
|
||
* alpha.h ({MASK,TARGET}_{OPEN_VMS,FLOAT_VAX}): New macros.
|
||
(TARGET_SWITCHES): Add float-vax and float-ieee.
|
||
({FUNCTION,LIBCALL}_VALUE, FUNCTION_VALUE_REGNO_P): R1 and R33
|
||
are also return registers.
|
||
(ASM_OUTPUT_DOUBLE): Support both floating-point formats.
|
||
(PRINT_OPERAND_FUNCT_VALID_P): Add ',' and '-'.
|
||
* alpha.md ({div,mod}[sd]i3): Only for VMS.
|
||
(fp operations): Add modifiers for multiple floating-point formats.
|
||
(call patterns): Handle new calling sequence for VMS.
|
||
(tablejump): Make new pattern for VMS.
|
||
(nonlocal_goto_receiver, arg_home): New patterns.
|
||
* alpha/t-vms, alpha/vms.h, alpha/xm-vms.h: New files.
|
||
|
||
Fri Nov 15 17:38:20 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* sdbout.c (current_file): New global.
|
||
(PUT_SDB_SRC_FILE): New PUT_SDB_FOO macro.
|
||
(sdbout_init): Initialize current_file ifdef MIPS_DEBUGGING_INFO.
|
||
(sdbout_{start_new,resume_previous}_source_file): New functions.
|
||
* toplev.c (debug_{start,end}_source_file): Call them if SDB_DEBUG.
|
||
* mips.h (PUT_SDB_SRC_FILE): Define.
|
||
|
||
Fri Nov 15 16:11:25 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarfout.c (dwarfout_line): Don't emit line number info for
|
||
functions outside of .text.
|
||
|
||
Fri Nov 15 15:52:42 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386/386bsd.h (COMMENT_BEGIN): Delete.
|
||
* i386/freebsd.h (COMMENT_BEGIN): Likewise.
|
||
* i386/netbsd.h (COMMENT_BEGIN): Likewise.
|
||
* i386/unix.h (COMMENT_BEGIN): Likewise.
|
||
|
||
Fri Nov 15 13:22:42 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fold-const.c (unextend): Rewrite type conversions to avoid overflow.
|
||
|
||
Fri Nov 15 12:11:28 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* combine.c (try_combine): Properly copy an rtvec.
|
||
* emit-rtl.c (gen_rtvec_vv): New function.
|
||
(copy_rtx_if_shared): Call it.
|
||
* integrate.c (copy_for_inline): Likewise.
|
||
* reload1.c (eliminate_regs): Likewise.
|
||
* rtl.h (gen_rtvec_vv): Declare.
|
||
* genattrtab.c (simplify_cond): Make TESTS an array of rtunions.
|
||
* genextract.c (main): Use loop, not bcopy, to set recog_operands
|
||
from an rtvec.
|
||
* rtl.c (rtvec_alloc): Clear rtwint instead of rtvec.
|
||
|
||
* machmode.h (HOST_PTR_PRINTF): Handle char * wider than long.
|
||
(HOST_WIDE_INT_PRINT_{DEC,UNSIGNED,HEX,DOUBLE_HEX}): New macros.
|
||
* final.c (asm_fprintf): Use "ll" prefix for a long long HOST_WIDE_INT.
|
||
(output_{asm_insn,addr_const}): Use HOST_WIDE_INT_PRINT_*.
|
||
* print-tree.c (print_node{,_brief}, case INTEGER_CST): Likewise.
|
||
* print-rtl.c (print_rtx, case 'w'): Use HOST_WIDE_INT_PRINT_DEC.
|
||
|
||
* unroll.c (iteration_info): Fix code so that it knows iteration_var
|
||
is a HOST_WIDE_INT, not a long.
|
||
|
||
* fold-const.c (operand_equal_p): Do comparison with REAL_VALUES_EQUAL.
|
||
(make_range): Properly decide when to get TREE_TYPE of arg0.
|
||
Handle EXP being an INTEGER_CST at end.
|
||
(fold_range_test): Handle return of 0 from make_range.
|
||
(fold, case TRUTH_AND_EXPR): Handle first arg of 0.
|
||
(fold, case TRUTH_OR_EXPR): Handle first arg of 1.
|
||
|
||
* c-common.c (decl_attributes, case A_ALIAS): Add missing parens.
|
||
|
||
Fri Nov 15 06:37:54 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* fold-const.c (range_binop): Set SNG1 to zero if ARG1 is a
|
||
not a lower or upper bound.
|
||
|
||
Thu Nov 14 23:08:25 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* flags.h (debug_info_type): Add DWARF2_DEBUG.
|
||
* toplev.c (main): Support DWARF2_DEBUG. Add -gdwarf-1, -gdwarf-2
|
||
options. Check debug level after choosing type.
|
||
(debug_{start,end}_source_file, debug_{define,undef}): New functions.
|
||
(compile_file): Support dwarf2 separately from dwarf1.
|
||
(rest_of_type_compilation, rest_of_compilation): Likewise.
|
||
* final.c (final_start_function): Likewise.
|
||
(final_end_function, final_scan_insn, output_source_line): Likewise.
|
||
* varasm.c (assemble_variable): Likewise.
|
||
* dwarfout.c: Don't check DWARF_VERSION.
|
||
* dwarf2out.c: s/dwarfout/dwarf2out/g. Check DWARF2_DEBUGGING_INFO.
|
||
* c-lex.c (check_newline): Use debug_* instead of calling *out
|
||
functions directly.
|
||
* svr4.h (DWARF2_DEBUGGING_INFO): Define.
|
||
* mips/iris6.h (PREFERRED_DEBUGGING_TYPE): DWARF2_DEBUG.
|
||
(DWARF2_DEBUGGING_INFO): Define instead of DWARF_DEBUGGING_INFO.
|
||
(LINK_SPEC): Pass -w through.
|
||
* mips.h (PREFERRED_DEBUGGING_TYPE): Don't check `len'.
|
||
|
||
Thu Nov 14 17:25:47 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.c (dosize): Don't clobber static chain reg if needed by
|
||
current function.
|
||
|
||
Wed Nov 13 17:05:19 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* Makefile.in (stage?-start): Keep a copy of EXTRA_MULTILIB_PARTS
|
||
in the build directory.
|
||
|
||
Tue Nov 12 23:17:17 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (print_operand, case 'Y'): Fix comparisons to handle
|
||
NaNs properly in all cases.
|
||
|
||
Tue Nov 12 18:47:24 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (emit_group_store): For REG case, call gen_lowpart if
|
||
modes are different.
|
||
|
||
Tue Nov 12 18:24:40 1996 Doug Rupp (rupp@gnat.com)
|
||
|
||
* gcc.c (exit): If VMS, define as __posix_exit.
|
||
(option_map): Add define-macro and undefine-macro.
|
||
|
||
Tue Nov 12 17:55:10 1996 Torbjorn Granlund <tege@tege.pdc.kth.se>
|
||
|
||
* alpha.c (input_operand): If TARGET_BYTE_OPS accept HImode and QImode.
|
||
* alpha.h (MASK_BYTE_OPS): New define.
|
||
(TARGET_BYTE_OPS): New define.
|
||
(TARGET_SWITCHES): Handle -mbyte.
|
||
(LOAD_EXTEND_OP): When MODE is not SImode, return ZERO_EXTEND.
|
||
* alpha.md (zero_extendqidi2): Handle TARGET_BYTE_OPS.
|
||
(zero_extend{hidi,qisi,hisi}2): Likewise.
|
||
(extendqisi2): Use extendqidi2x if TARGET_BYTE_OPS.
|
||
(extendqidi2): Likewise.
|
||
(extendqidi2x): New pattern.
|
||
(extendhisi2): Use extendhidi2x if TARGET_BYTE_OPS.
|
||
(extendhidi2): Likewise.
|
||
(extendhidi2x): New pattern.
|
||
(movhi): Handle TARGET_BYTE_OPS.
|
||
(movhi matcher): Output ldwu and stw.
|
||
(movqi): Handle TARGET_BYTE_OPS.
|
||
(movqi matcher): Output ldbu and stb.
|
||
|
||
Tue Nov 12 16:53:37 1996 Rob Savoye <rob@chinadoll.cygnus.com>
|
||
|
||
* configure (hppa1.1-pro*, i960-*-coff*,m68k-*-aout*): Add libgloss.h.
|
||
(m68k-*-coff*, mips*-*-elf*, sparc*-*-aout*, sparc*-*-coff*): Likewise.
|
||
* config/libgloss.h: New file.
|
||
|
||
Tue Nov 12 16:21:45 1996 Joern Rennecke <amylaar@cygnus.com>
|
||
|
||
* jump.c (jump_optimize): Fix bug in Sep 23 change.
|
||
|
||
Tue Nov 12 16:15:31 1996 Andrew Cagney (cagney@tpgi.com.au)
|
||
|
||
* global.c (prune_references): Add missing symmetic CONFLICTP call.
|
||
|
||
Tue Nov 12 14:34:40 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k.c (output_function_{pro,epi}logue): Save and restore
|
||
fp-registers only if TARGET_68881.
|
||
|
||
* m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Prefix labels with "L%".
|
||
(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
|
||
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
|
||
|
||
* m68k/mot3300.h (TARGET_DEFAULT): Use MASK_68040_ALSO, not MASK_68040.
|
||
* m68k/next.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
|
||
|
||
* fixproto (std_files): Add sys/socket.h.
|
||
|
||
* m68k.md (movqi): Emit 'st' for INTVAL & 255 == 255, not INTVAL == -1.
|
||
(seq,sne,sgt,sgtu,slt,sltu,sge,sgeu,sle,sleu): Allow "m" as operand 0.
|
||
|
||
Tue Nov 12 14:17:45 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* c-decl.c (grokdeclarator): Generate a warning if -Wimplicit,
|
||
unless a warning was already generated by -Wreturn-type.
|
||
|
||
Tue Nov 12 14:11:02 1996 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* Make qsort callback routines conform to the ANSI/ISO standard.
|
||
* c-decl.c (field_decl_cmp): Use `const void *' arguments.
|
||
* global.c (allocno_compare): Likewise.
|
||
* reload1.c (hard_reg_use_compare, compare_spill_regs): Likewise.
|
||
(reload_reg_class_lower): Likewise.
|
||
* stupid.c (stupid_reg_compare): Likewise.
|
||
* local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
|
||
(QTY_CMP_PRI, QTY_CMP_SUGG): New macros.
|
||
(qty_compare_1, qty_sugg_compare_1): Use them.
|
||
|
||
Tue Nov 12 13:20:25 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fold-const.c (merge_ranges): In (+,-) case, treat subset specially
|
||
if lower bounds are the same.
|
||
|
||
Tue Nov 12 13:10:01 1996 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* m68k.md (addsi3): If TARGET_5200, use the lea insn to add small
|
||
constants to address registers.
|
||
(negsi2): Change into define_expand.
|
||
(negsi2_internal): Rename from old negsi2, changed condition
|
||
to !TARGET_5200.
|
||
(negsi2_5200): New insn.
|
||
(one_cmplsi2): Change into define_expand.
|
||
(one_cmplsi2_internal): Rename from old one_cmplsi2, changed
|
||
condition to !TARGET_5200.
|
||
(one_cmplsi2_5200): New insn.
|
||
(negdi2_5200): Corrected constraints.
|
||
(one_cmpldi2): Changed condition to !TARGET_5200.
|
||
|
||
* m68k.c (m68k_align_loops_string, m68k_align_jumps_string): New vars.
|
||
(m68k_align_funcs_string, m68k_align_loops): Likewise.
|
||
(m68k_align_jumps, m68k_align_funcs): Likewise.
|
||
(override_options): New function.
|
||
* m68k.h (TARGET_OPTIONS): Added alignment options.
|
||
(MAX_CODE_ALIGN, ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
|
||
New macros.
|
||
(FUNCTION_BOUNDARY): Use value derrived from m68k_align_funcs
|
||
instead of constant.
|
||
|
||
* m68k.c (output_function_{pro,epi}logue): Fix typo in last change.
|
||
|
||
Tue Nov 12 09:26:51 1996 Torbjorn Granlund <tege@wombat.gnu.ai.mit.edu>
|
||
|
||
* i386.md (parallel inc/dec and branch-if-zero/nonzero): Use `+' in
|
||
constraint.
|
||
|
||
Mon Nov 11 15:12:22 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* libgcc2.c: Also define WEAK_ALIAS if ASM_OUTPUT_WEAK_ALIAS.
|
||
* mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Define.
|
||
* varasm.c (assemble_alias): Use ASM_OUTPUT_WEAK_ALIAS.
|
||
|
||
* dwarf2out.c (TYPE_USED_FOR_FUNCTION): Lose.
|
||
(gen_compile_unit_die): Only append -g with -g2 or better.
|
||
(scope_die_for): Don't emit any type info with -g1.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_decl_die): Likewise.
|
||
(dwarfout_file_scope_decl): Likewise.
|
||
(dwarfout_init): Likewise.
|
||
|
||
* mips/iris6.h (TYPE_ASM_OP): Define.
|
||
(SIZE_ASM_OP): Define.
|
||
(ASM_WEAKEN_LABEL): Define.
|
||
(BSS_SECTION_ASM_OP): Define.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Don't use ASM_DECLARE_OBJECT_NAME.
|
||
(ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
(ASM_DECLARE_OBJECT_NAME): Redefine to emit .size directive.
|
||
(ASM_FINISH_DECLARE_OBJECT): Define.
|
||
(ASM_OUTPUT_DEF): Don't define.
|
||
|
||
Fri Nov 8 20:38:51 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* function.c (expand_function_end): Handle BLKmode structures returned
|
||
in registers.
|
||
|
||
Fri Nov 8 20:27:07 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* stor-layout.c (layout_record): Check for VAR_DECL instead
|
||
of TREE_STATIC.
|
||
|
||
* varasm.c (assemble_variable): Do write out DWARF for
|
||
record-scope variables.
|
||
* toplev.c (rest_of_type_compilation): Do write out DWARF for
|
||
record-scope types.
|
||
|
||
* dwarf2out.c (gen_enumeration_type_die): Set TREE_ASM_WRITTEN on a
|
||
complete enum type.
|
||
(gen_struct_or_union_type_die): Don't recurse between nested classes.
|
||
(gen_type_die): Write out nested classes by writing out their context.
|
||
|
||
Fri Nov 8 17:40:27 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* emit-rtl.c (change_address): If MEMREF isn't changing,
|
||
return the old one.
|
||
|
||
* expr.c (expand_assignment): Remove bogus resetting of alignment
|
||
to inner alignment.
|
||
(expand_expr, case COMPONENT_REF): Likewise.
|
||
|
||
Fri Nov 8 16:31:31 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* reg-stack.c (compare_for_stack_reg, subst_stack_regs_pat):
|
||
Add support for float conditional move.
|
||
|
||
Thu Nov 7 07:46:07 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* stor-layout.c (layout_record): Treat constant size as variable if
|
||
it overflows.
|
||
* fold-const.c (const_binop, case *_DIV_EXPR): Don't do special
|
||
sizetype case if a constant overflows.
|
||
(size_binop): Use integer_{zero,one}p instead of explicit test.
|
||
* tree.c (integer_{zero,one,all_ones,pow2}p, real_{zero,one,two}p):
|
||
Return 0 if TREE_CONSTANT_OVERFLOW.
|
||
|
||
Wed Nov 6 17:53:33 1996 Torbjorn Granlund <tege@wombat.gnu.ai.mit.edu>
|
||
|
||
* i386.md (parallel inc and branch-if-zero/nonzero): Add two
|
||
new pattern variants. Change incrementing pattern to use incl/jnz.
|
||
|
||
Wed Nov 6 09:46:10 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (override_options): Set defaults for -march and -mcpu.
|
||
(output_float_compare): Use cc_status.flags to mark if this
|
||
comparison can be done with fcomi.
|
||
(output_fp_cc0_set): A conditional move may be in a PARALLEL.
|
||
|
||
* i386.h (CC_FCOMI): Define
|
||
|
||
* i386.md (sgt,sgtu,sge,sle,bgt,blt,bge,ble): Use CC_FCOMI
|
||
(movsicc_1,movhicc_1): Use correct size suffix.
|
||
(movsfcc_1,movdfcc_1): Cleanup default move case.
|
||
|
||
Wed Nov 6 09:46:10 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* i386.h (HARD_REGNO_MODE_OK): If long double isn't XFmode, can't
|
||
allow XFmode.
|
||
|
||
Tue Nov 5 22:49:56 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (define_split for and_shl_scratch):
|
||
Use rtx_equal_p on the operands to find out which alternative is used.
|
||
* sh.c (gen_shl_and): Try to generate shorter constant for and.
|
||
|
||
Mon Nov 4 19:13:52 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c: Clean up unused variables.
|
||
Use ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL, shorten label names.
|
||
(loc_descriptor): Use reg_loc_descriptor.
|
||
(TYPE_DECL_IS_STUB): New macro.
|
||
(gen_decl_die): Use it.
|
||
(dwarfout_file_scope_decl): Use it.
|
||
|
||
Mon Nov 4 10:23:46 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* ginclude/va-ppc.h (__va_regsave_t,va_start,va_end): Wrap macro
|
||
and structures inside #ifndef __VA_PPC_H__ to allow reinclusion.
|
||
|
||
* rs6000.h (LEGITIMATE_SMALL_DATA_P): Don't allow -fpic or TARGET_TOC.
|
||
(LEGITIMATE_LO_SUM_ADDRESS_P, LEGITIMIZE_ADDRESS): Likewise.
|
||
|
||
* rs6000.md (movsi): Don't call elf_{high,low} if -fpic.
|
||
|
||
* rs6000/cygwin32.h (STARTFILE_SPEC): Eliminate empty %{}.
|
||
|
||
Sun Nov 3 15:56:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (TARGET_TOC): Plain -fpic does not require a TOC.
|
||
({MINIMAL_TOC,CONST}_SECTION_ASM_OP): -fpic should be treated like
|
||
-mrelocatable in these cases.
|
||
(ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Use sdata_section, not sbss_section.
|
||
|
||
Fri Nov 1 19:57:13 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (based_loc_descr): Use DBX_REGISTER_NUMBER. The
|
||
"frame base" is just the frame or stack reg without an offset.
|
||
(gen_subprogram_die): Likewise.
|
||
(dwarfout_begin_function): Use DBX_REGISTER_NUMBER.
|
||
|
||
Fri Nov 1 09:50:05 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* fold-const.c (make_range): Don't merge unsigned case with range
|
||
containing upper bound; instead merge just with zero and convert
|
||
a range with no upper bound to opposite one with no lower bound.
|
||
(merge_ranges): In (+,-) case, don't treat subset specially if
|
||
the upper bounds are the same; fix typo in others case here.
|
||
|
||
Thu Oct 31 20:12:13 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (make_range, case PLUS_EXPR): Correct
|
||
normalization of an unsigned range that wraps around zero.
|
||
|
||
Thu Oct 31 21:06:37 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* mips/t-iris6 (EXTRA_MULTILIB_PARTS): Define.
|
||
(EXTRA_PARTS): Don't define.
|
||
|
||
* dwarf2out.c (gen_struct_or_union_type_die): Use AT_specification
|
||
for nested types defined outside their containing class. Lose
|
||
is_complete.
|
||
(gen_enumeration_type_die): Lose is_complete.
|
||
(gen_type_die): Lose is_complete.
|
||
(add_name_and_src_coords_attributes): Tweak.
|
||
(gen_subroutine_type_die): Use scope_die_for.
|
||
(gen_ptr_to_mbr_type_die): Likewise.
|
||
(gen_subprogram_die): Support AT_artificial.
|
||
(gen_variable_die): Likewise.
|
||
(dwarfout_file_scope_decl): Lose finalizing.
|
||
|
||
Thu Oct 31 18:43:18 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* pa.c (emit_move_sequence): Refine previous change.
|
||
|
||
Thu Oct 31 13:25:32 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* crtstuff.c: Put HAS_INIT_SECTION ifdefs around Irix6 support.
|
||
|
||
* tree.c (decl_function_context): Handle QUAL_UNION_TYPE.
|
||
|
||
* calls.c (expand_call): Disable special handling for const calls
|
||
that return a PARALLEL rtx.
|
||
* expr.c (expand_expr, case CONSTRUCTOR): Don't use a PARALLEL
|
||
target.
|
||
|
||
Thu Oct 31 11:45:00 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/t-{ppcgas,ppc,solaris} (EXTRA_MULTILIB_PARTS): Add
|
||
{e,s}crt{i,n,0}.o.
|
||
({stmp,install}-crt): Delete, no longer used.
|
||
({,INSTALL_}LIBGCC): Remove {stmp,install}-crt rule.
|
||
|
||
Thu Oct 31 02:49:58 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* i386.md (parallel inc and branch-if-zero/nonzero):
|
||
Check for -1, not zero.
|
||
|
||
Wed Oct 30 15:50:49 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* fold-const.c (range_binop): Strip NOPs from result and
|
||
verify it's an INTEGER_CST.
|
||
(make_range, case BIT_NOT_EXPR): Fix typo in constant for PLUS_EXPR.
|
||
|
||
* stor-layout.c (layout_record): Use HOST_WIDE_INT for size.
|
||
|
||
* stmt.c (expand_asm_operands): Disallow matching constraints
|
||
on output and validate the numbers on inputs.
|
||
|
||
Tue Oct 29 16:21:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* gcc.c (process_command,main): Process -specs=file and -specs
|
||
file after reading the main specs file to allow the user to
|
||
override the default.
|
||
(DEFAULT_WORD_SWITCH_TAKES_ARG): Add specs to list.
|
||
(option_map): Likewise.
|
||
|
||
Tue Oct 29 15:49:18 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* Makefile.in (stmp-multilib): Pass $flags to s-m-sub in
|
||
MULTILIB_CFLAGS.
|
||
(stmp-multilib-sub): Build EXTRA_MULTILIB_PARTS.
|
||
($(T)crt*.o): Add $(T), lose stamp-crt rule, use MULTILIB_CFLAGS.
|
||
(install-multilib): Install EXTRA_MULTILIB_PARTS.
|
||
|
||
Mon Oct 28 20:09:39 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (shl_sext_ext): Don't accept simple left/right shift variant.
|
||
* sh.c (EXT_SHIFT_SIGNED): New macro.
|
||
(shl_sext_kind, gen_shl_sext): try left shift - sign extend -
|
||
left shift - arithmetic right shift in case 2.
|
||
|
||
Mon Oct 28 14:55:42 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure (sh-*-*): Set float_format to sh.
|
||
* config/float-sh.h: New file.
|
||
|
||
Mon Oct 28 14:26:08 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips/mips.h (RTX_COSTS): Add cases for SIGN_EXTEND and ZERO_EXTEND.
|
||
|
||
* m68k/lb1sf68.asm: Change # to IMM in udivsi3 __mcf5200__.
|
||
|
||
* combine.c (simplify_rtx): Add some optimizations for TRUNCATE.
|
||
(expand_compound_operation): Add some optimizations for ZERO_EXTEND.
|
||
|
||
Mon Oct 28 14:11:20 1996 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* varasm.c (make_decl_rtl,assemble_variable):
|
||
Allow named sections for uninitialized variables.
|
||
|
||
Mon Oct 28 13:08:51 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* pa.c (emit_move_sequence): If reload in progress, replace
|
||
reference to pseudo with reference to corresponding MEM.
|
||
|
||
* c-typeck.c ({un,}signed_type): If can't do anything, call
|
||
signed_or_unsigned_type.
|
||
(signed_or_unsigned_type): If already right signedness, return.
|
||
|
||
Mon Oct 28 13:05:26 1996 Stephen Williams (steve@icarus.com)
|
||
|
||
* i960.h: Add specification for -Jx types.
|
||
* i960/t-960bare: Include multilib support for Jx types.
|
||
|
||
Mon Oct 28 10:06:00 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/t-{ppc{,gas},solaris} (install-crt): Depend on
|
||
installdirs, not install-dir.
|
||
|
||
* rs6000/sysv4.h (TARGET_TOC): -fpic does not use a TOC area.
|
||
|
||
Mon Oct 28 09:07:42 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (delete_output_reload): Don't use delete_insn
|
||
when deleting all stores into a replaced pseudo.
|
||
|
||
* sh.md (movsf_ieq, movsf_ie): Merged the former into the latter.
|
||
Changed matching define_split appropriately.
|
||
(movsf): Changed appropriately.
|
||
(reload_insf) Define.
|
||
* sh.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
|
||
|
||
Mon Oct 28 08:38:23 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* dsp16xx.h (ASM_OUTPUT_BYTE): Adjust definition to actual type of
|
||
VALUE, which is HOST_WIDE_INT.
|
||
|
||
Mon Oct 28 07:36:07 1996 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* ginclude/stddef.h: Make sure file is processed if some of the
|
||
known __need_* macros is defined.
|
||
|
||
Sun Oct 27 21:37:59 1996 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* m68k.c (output_function_prologue): Adjust SP then use movmel with
|
||
plain address indirect mode for TARGET_5200.
|
||
(output_function_epilogue): Disable moveml and use several movel's
|
||
instead for TARGET_5200.
|
||
(output_function_{pro,epi}logue): Use lea instruction to adjust
|
||
stack pointer for short displacements for TARGET_5200.
|
||
|
||
Sun Oct 27 15:27:45 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (merge_ranges): Fix thinko/typo.
|
||
|
||
Sat Oct 26 22:07:04 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* expr.c (convert_modes): Before returning a const_double for a
|
||
large unsigned value, zero extend an integer value if necessary.
|
||
|
||
Sat Oct 26 15:24:55 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k/x-mot3300 (XCFLAGS): Disable native assembler's jump
|
||
optimization for expr.o and cp/decl.o.
|
||
|
||
Sat Oct 26 14:04:09 1996 Ben Harris <bjh21@cam.ac.uk>
|
||
|
||
* m68k.c (output_function_prologue): Add REGISTER_PREFIX to stack
|
||
probe instruction.
|
||
|
||
Sat Oct 26 13:59:05 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* explow.c (allocate_dynamic_stack_space): Delete reference to
|
||
nonexistant macro ALLOCATE_OUTGOING_ARGS.
|
||
|
||
* next.h (CPP_PREDEFINES): Add -D_NEXT_SOURCE.
|
||
|
||
Sat Oct 26 13:50:49 1996 Mark Mitchell (mitchell@centerline.com)
|
||
|
||
* configure (i486-ncr-sysv4*): Use i386/sysv4gdb if stabs and gas.
|
||
|
||
Sat Oct 26 12:20:35 1996 John F. Carr <jfc@mit.edu>
|
||
|
||
* configure: Support --with-cpu=* for SPARC. Or target default
|
||
values instead of adding them.
|
||
* sparc.c (cpu_default): Add entries for v8 and supersparc.
|
||
* sparc.h: Define TARGET_CPU values for v8 and supersparc.
|
||
|
||
Sat Oct 26 11:38:01 1996 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* collect2.c (dump_file): Call fclose for opened files.
|
||
|
||
Sat Oct 26 11:29:29 1996 J"orn Rennecke (amylaar@cygnus.co.uk)
|
||
|
||
* jump.c (jump_optimize): Fix second error in last change.
|
||
|
||
* svr3.h: Fix typo which makes comment text be non-comment.
|
||
|
||
Fri Oct 25 16:18:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/t-winnt (LIBGCC1): Don't build libgcc1.
|
||
(EXTRA_PARTS): Build crti.o, crtn.o.
|
||
(stmp-crt): Remove old multilib support.
|
||
|
||
Thu Oct 24 15:09:14 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fold-const.c (make_range, case PLUS_EXPR): Normalize an unsigned
|
||
range that wraps around 0.
|
||
|
||
Thu Oct 24 14:37:17 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.md: Change predicates for 64 bit arithmetic operations
|
||
so that they accept sign extended registers as operands.
|
||
(extendsidi2): Accept hi or lo as input.
|
||
* mips.c (movdi_operand, se_register_operand,
|
||
se_reg_or_0_operand, se_uns_arith_operand, se_arith_operand,
|
||
se_nonmemory_operand, se_nonimmediate_operand): New functions.
|
||
(mips_move_2words): Handle a SIGN_EXTEND source.
|
||
(print_operand): Handle a SIGN_EXTEND operand.
|
||
(mips_secondary_reload_class): Handle a SIGN_EXTEND rtx.
|
||
* mips.h: Declare new mips.c functions.
|
||
(PREDICATE_CODES): Add new functions.
|
||
|
||
Thu Oct 24 07:41:14 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* fold-const.c (make_range, comparison cases): When making range
|
||
for unsigned to merge in, use full range.
|
||
|
||
* stor-layout.c (GET_MODE_ALIGNMENT): Delete definition; duplicate.
|
||
|
||
Thu Oct 24 07:28:53 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (emit_reload_insns): Check for second_reloadreg
|
||
in SECONDARY_OUTPUT_RELOAD_CLASS / PRESERVE_DEATH_INFO_REGNO_P case.
|
||
|
||
Wed Oct 23 14:27:43 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* crtstuff.c (__do_global_dtors_aux): Allow finalization code to
|
||
be run more than once.
|
||
* libgcc2.c (__do_global_dtors): Ditto.
|
||
|
||
Wed Oct 23 20:42:23 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (dump_table): handle SFmode and DFmode.
|
||
(broken_move): handle simple PARALLEL.
|
||
(machine_dependent_reorg, pc-relative move generation): Likewise.
|
||
* sh.h (CONST_DOUBLE_OK_FOR_LETTER_P): always true for 'F' .
|
||
(LEGITIMATE_CONSTANT_P): accept SFmode and DFmode.
|
||
* sh.md (movdf_k, movsf_i, movsf_ie): new alternative for
|
||
pc-relative load.
|
||
(movsf_ieq): new define_insn with matching define_split.
|
||
(movsf): use it where appropriate.
|
||
(consttable_sf, consttable_df): new define_insns.
|
||
|
||
Wed Oct 23 17:48:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* svr4.h (MAKE_DECL_ONE_ONLY): Fix typo in use of macro parameter.
|
||
|
||
Wed Oct 23 17:46:13 1996 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* cexp.y (yylex): Cast string literal to U_CHAR* for lookup() call.
|
||
|
||
Wed Oct 23 14:50:04 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* stmt.c (expand_return): Expand cleanups. Make sure we get pseudo
|
||
and provide target in non-BLKmode case. Get proper return type of fn.
|
||
|
||
Wed Oct 23 14:16:06 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* reload.c (find_reloads): Handle any unary operator.
|
||
* recog.c (constrain_operands): Likewise.
|
||
|
||
* mips.md: Remove extendsidi2 define_expand.
|
||
Rename extendsidi2_internal define_insn to extendsidi2, and add a
|
||
register to register case.
|
||
|
||
Wed Oct 23 14:08:31 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* a29k.c (a29k_makes_calls): New global variable.
|
||
(compute_regstack_size, a29k_compute_reg_names): New functions.
|
||
(output_prolog): Much code moved to two new functions.
|
||
Use a29k_makes_calls instead of makes_calls.
|
||
* a29k.h (ASM_DECLARE_FUNCTION_NAME): Call a29k_compute_reg_names.
|
||
|
||
* calls.c (expand_call): In target code, move PARALLEL case above
|
||
target != case.
|
||
|
||
* mips.c (block_move_load_store, block_move_sequence): Delete.
|
||
(block_move_loop): New parameter orig_dest. Call change_address to
|
||
create new MEM instead of gen_rtx.
|
||
(expand_block_move): New local orig_dest. Pass it to block_move_loop.
|
||
Call change_address to create new MEM instead of gen_rtx.
|
||
|
||
Wed Oct 23 10:30:32 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (combine_givs): When combining a DEST_REG giv with its
|
||
only use, always set the benefit of the combined giv to that of
|
||
the DEST_REG giv.
|
||
|
||
* emit-rtl (gen_lowpart_common): When converting a floating
|
||
point value into an integer, use WORD as (first) word.
|
||
|
||
* combine.c (can_combine_p): When SMALL_REGISTER_CLASSES is defined,
|
||
avoid substituting a return register into I3.
|
||
|
||
* optabs.c (emit_libcall_block): Before adding an REG_EQUAL note,
|
||
check that it will really apply to a single instruction.
|
||
(expand_binop, expand_fix): Likewise.
|
||
|
||
Wed Oct 23 10:20:52 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* real.c (exact_real_inverse): New function, if REAL_ARITHMETIC.
|
||
* fold-const.c (exact_real_inverse): Likewise, if no REAL_ARITHMETIC.
|
||
(fold, case RDIV_EXPR): Turn divide by constant into multiplication
|
||
by the reciprocal, if optimizing and result is exact.
|
||
* real.h (exact_real_inverse): Declare.
|
||
|
||
Wed Oct 23 00:12:52 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* expr.h (emit_store_flag_force): Declare.
|
||
|
||
Tue Oct 22 18:32:20 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (unroll_loop): Always reject loops with unbalanced blocks.
|
||
|
||
Tue Oct 22 18:27:06 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/fp-bit.c (float_to_usi): Correct thinko: avoid negative shift.
|
||
(df_to_sf): Remember any discarded nonzero bits in the low order
|
||
guard bit.
|
||
|
||
* ginclude/va-mips.h: Add support for -mips1 and -msoft-float when
|
||
using -mabi=eabi.
|
||
* mips/abi64.h (SETUP_INCOMING_VARARGS): When MIPS EABI, handle
|
||
TARGET_SINGLE_FLOAT or ! TARGET_FLOAT64 correctly when saving
|
||
floating point registers to the stack.
|
||
* mips/mips.c (mips_function_value): If TARGET_SINGLE_FLOAT, use
|
||
GP_RETURN for floating point types larger than 4 bytes.
|
||
|
||
Tue Oct 22 09:43:49 1996 Geoffrey Noer <noer@cygnus.com>
|
||
|
||
* rs6000/cygwin32.h (LIB_SPEC): Add -lkernel32 all of the time,
|
||
and {user,gdi,comdlg}32 if -mwindows.
|
||
|
||
Tue Oct 22 05:24:05 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (scope_die_for): Don't skip lexical blocks.
|
||
(gen_lexical_block_die): Call push_decl_scope.
|
||
(gen_subprogram_die): Never refer to the function symbol.
|
||
(dwarfout_begin_prologue): Likewise.
|
||
|
||
Mon Oct 21 20:22:49 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* expmed.c (emit_store_flag_force): New function.
|
||
* optabs.c (expand_binop): Use it.
|
||
|
||
* expr.c (do_store_flag): Don't check if target is 0 in code
|
||
emitting store flag as compare-branch.
|
||
|
||
Mon Oct 21 17:58:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.c (override_options): Correct typo (MASK_64BIT should
|
||
have been TARGET_64BIT).
|
||
|
||
Mon Oct 21 13:58:54 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (loop_comparison_code): New static variable.
|
||
(unroll_loop): Add check for loop_comparison_code
|
||
(loop_iterations): Set loop_comparison_code.
|
||
|
||
* sh.c (gen_shl_sext): Add missing parameter to shl_sext_kind call.
|
||
|
||
* mips.h (INITIAL_FRAME_POINTER_OFFSET): Delete.
|
||
|
||
* loop.c (strength_reduce): Add check for ! bl->reversed to
|
||
auto_inc_opt code.
|
||
|
||
Mon Oct 21 12:28:15 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* jump.c (jump_optimize): Fix bug in Oct. 14 change.
|
||
|
||
Mon Oct 21 07:59:16 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (store_expr): Disable optimization of using convert
|
||
if exp's type is a subtype.
|
||
|
||
* c-typeck.c (build_array_ref): If -Wchar-subscripts, also warn
|
||
in case when pointer is being indexed.
|
||
|
||
Mon Oct 21 07:39:31 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* jump.c (jump_optimize): Use emit_store_flag even if branches
|
||
are cheap, if the store is even cheaper.
|
||
|
||
Sun Oct 20 20:01:09 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* reload1.c (reload_reg_free_p, reloads_conflict): RELOAD_OTHER
|
||
and RELOAD_FOR_OTHER_ADDRESS conflict.
|
||
|
||
* i386.md (ffs[sh]i2): Add missing CC_STATUS_INIT.
|
||
|
||
Fri Oct 18 13:32:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (float conversion insns): Generate correct code
|
||
if the bit 15 of rs6000_fpmem_offset is non-zero.
|
||
|
||
Thu Oct 17 23:22:03 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarfout.c (data_member_location_attribute): Support binfos.
|
||
(output_inheritance_die): New fn.
|
||
(output_type): Use it.
|
||
|
||
* dwarf2out.c (value_format): Split out from...
|
||
(output_value_format): Here.
|
||
(build_abbrev_table): Use value_format.
|
||
(size_of_locs): New fn.
|
||
(size_of_die): Don't assume a loc needs a 2-byte length.
|
||
(value_format, output_die): Likewise.
|
||
|
||
Thu Oct 17 14:46:14 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.c (override_options): In 64 bit EABI mode, set TARGET_LONG64.
|
||
|
||
Thu Oct 17 11:34:51 1996 Bob Manson <manson@cygnus.com>
|
||
|
||
* expr.c (do_jump): Conditionalize cleanups for the COND_EXPR case,
|
||
similarly to the way TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR are
|
||
handled.
|
||
|
||
Thu Oct 17 01:20:16 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k.h (MASK_68040_ALSO): New macro.
|
||
(TARGET_SWITCHES): Option -m68020-40 includes MASK_68040_ALSO.
|
||
|
||
Wed Oct 16 16:25:38 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (scope_die_for): Also support decls, add asserts.
|
||
(modified_type_die): Modified types all go under comp_unit_die.
|
||
(add_type_attribute): Just pass context_die through.
|
||
(various): Revert useless lookup_type_die change.
|
||
(gen_subprogram_die): Use scope_die_for. Call push_decl_scope.
|
||
(gen_inlined_subroutine_die): Call push_decl_scope.
|
||
(gen_struct_or_union_type_die): Likewise.
|
||
(gen_decl_die): Don't call push_decl_scope.
|
||
|
||
* mips/iris6.h (*_SPEC): Replace enumeration of !mabi= with !mabi*.
|
||
(ASM_OUTPUT_{CON,DE}STRUCTOR): Enable.
|
||
(STARTFILE_SPEC): Support -mips4, -shared.
|
||
(ENDFILE_SPEC): Likewise.
|
||
(LIB_SPEC): Support -shared, avoid warning 84.
|
||
(LIBGCC_SPEC): Define.
|
||
(LINK_SPEC): Support -shared, remove -woff 84.
|
||
* mips/t-iris6 (EXTRA_PARTS): Add crtstuff.
|
||
* crtstuff.c: Support Irix 6.
|
||
* configure: Don't use collect2 for Irix 6.
|
||
* libgcc2.c (__main): Don't use any of this stuff if HAS_INIT_SECTION.
|
||
|
||
Wed Oct 16 11:46:37 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* elxsi.h (CHECK_FLOAT_VALUE): Removed.
|
||
|
||
Wed Oct 16 14:19:38 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* iris6.h (CPP_PREDEFINES): Add -D_LONGLONG.
|
||
(CPP_SPECS): Remove -D_LONGLONG.
|
||
|
||
Wed Oct 16 03:34:42 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* i386.md (parallel inc/dec and branch-if-zero/nonzero): New patterns.
|
||
|
||
Tue Oct 15 22:28:11 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.h (enum mips_abi_type): Add ABI_EABI.
|
||
(CPP_SPEC): Define __mips_soft_float if -msoft-float, and
|
||
__mips_eabi if -mabi=eabi.
|
||
(INITIAL_ELIMINATION_OFFSET, CUMULATIVE_ARGS,
|
||
GO_IF_LEGITIMATE_ADDRESS, CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT,
|
||
LEGITIMIZE_ADDRESS): Add support for MIPS EABI.
|
||
* mips/abi64.h (STACK_BOUNDARY, MIPS_STACK_ALIGN,
|
||
FUNCTION_ARG_PADDING, RETURN_IN_MEMORY, SETUP_INCOMING_VARARGS):
|
||
Add support for MIPS EABI.
|
||
(FUNCTION_ARG_PASS_BY_REFERENCE): Define.
|
||
(FUNCTION_ARG_CALLEE_COPIES): Define.
|
||
* mips.c (mips_const_double_ok, function_arg_advance,
|
||
function_arg, function_arg_partial_nregs, override_options,
|
||
compute_frame_size): Add support for MIPS EABI.
|
||
(function_arg_pass_by_reference): New function.
|
||
* ginclude/va-mips.h: Add support for MIPS EABI.
|
||
|
||
Tue Oct 15 19:10:08 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (rest_of_type_compilation): Don't write out
|
||
DWARF for function-scope types yet.
|
||
(compile_file): Do send vars with no RTL to the DWARF code.
|
||
|
||
Tue Oct 15 17:54:43 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* loop.c (strength_reduce): Avoid taking PATTERN of a label.
|
||
|
||
Tue Oct 15 16:52:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips/iris6.h: (SUBTARGET_CPP_SIZE_SPEC): Define.
|
||
(SUBTARGET_CPP_SPEC): Remove definitions of __SIZE_TYPE__ and
|
||
__PTRDIFF_TYPE__, now in SUBTARGET_CPP_SIZE_SPEC.
|
||
|
||
Tue Oct 15 11:19:17 1996 Lee Iverson <leei@Canada.AI.SRI.COM>
|
||
|
||
* mips.h (CPP_SPEC): Restore -D_LANGUAGE_C for Objective C.
|
||
|
||
Mon Oct 14 18:03:35 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (gen_decl_die): Do generate dies for classes with -g1.
|
||
(dwarfout_file_scope_decl): Likewise.
|
||
|
||
Mon Oct 14 16:31:44 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* jump.c (jump_optimize): Check for if (...) { x = a; goto l; } x = b;
|
||
|
||
Mon Oct 14 14:19:49 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (modified_type_die): Don't bother with AT_address_class.
|
||
(add_data_member_location_attribute): Handle getting a binfo.
|
||
(add_location_or_const_value_attribute): Handle a decl with no RTL.
|
||
(add_pure_or_virtual_attribute): Add AT_vtable_elem_location.
|
||
(add_name_and_src_coords_attributes): Only use DECL_ASSEMBLER_NAME
|
||
for staticp things.
|
||
(gen_subprogram_die): Set up AT_inline for abstract decls.
|
||
(gen_inheritance_die): New fn.
|
||
(gen_member_die): Also emit info for base classes.
|
||
|
||
Sat Oct 12 00:07:00 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* fold-const.c (make_range): Handle NULL operand 0 like in BIND_EXPRs.
|
||
|
||
Fri Oct 11 15:42:22 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): If we did a
|
||
save_for_inline_copying, reset DECL_ABSTRACT_ORIGIN for the
|
||
function when we're done.
|
||
|
||
* toplev.c (main): DWARF works with C++ now.
|
||
|
||
* dwarf2out.c (gen_subprogram_die): Disable MIPS_AT_has_inline
|
||
support for now.
|
||
|
||
Fri Oct 11 14:31:10 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* dwarfout.c: (output_bound_representation): Fix typo in prototype.
|
||
|
||
Fri Oct 11 12:19:21 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.h ({,SUBTARGET_}MIPS_AS_ASM_SPEC): Define.
|
||
({GAS,TARGET,SUBTARGET}_ASM_SPEC): Define.
|
||
(SUBTARGET_ASM_{OPTIMIZING,DEBUGGING}_SPEC): Define.
|
||
(ASM_SPEC): Rewrite to use above specs.
|
||
(SUBTARGET_CPP{,_SIZE}_SPEC): Define.
|
||
(CPP_SPEC): Use above specs. Don't define _LANGUAGE_C if C++ or
|
||
Objective C.
|
||
({,SUBTARGET_}EXTRA_SPECS): Define.
|
||
* mips/dec-bsd.h ({CPP,ASM}_SPEC): Don't define.
|
||
* mips/dec-osf1.h (CPP_SPEC): Don't define.
|
||
(SUBTARGET_CPP_SIZE_SPEC): Define.
|
||
* mips/elf64.h (CPP_SPEC): Don't define.
|
||
(SUBTARGET_CPP_SPEC): Define.
|
||
* mips/gnu.h (TARGET_DEFAULT): Define.
|
||
(ASM_SPEC): Don't define.
|
||
* mips/iris3.h (CPP_SPEC): Don't define.
|
||
(SUBTARGET_CPP_SPEC): Define.
|
||
* mips/iris4loser.h (ASM_SPEC): Don't define.
|
||
(SUBTARGET_MIPS_AS_ASM_SPEC): Define.
|
||
(SUBTARGET_ASM_OPTIMIZING_SPEC): Define.
|
||
* mips/iris5.h (CPP_SPEC): Don't define.
|
||
(SUBTARGET_CPP_SPEC): Define.
|
||
* mips/iris6.h ({CPP,ASM}_SPEC): Don't define.
|
||
(SUBTARGET_{CPP,ASM,MIPS_AS_ASM,ASM_DEBUGGING}_SPEC): Define.
|
||
* mips/netbsd.h ({CPP,ASM}_SPEC): Don't define.
|
||
(SUBTARGET_CPP_SPEC): Define.
|
||
* mips/osfrose.h ({CPP,ASM,ASM_FINAL}_SPEC): Don't define.
|
||
(SUBTARGET_CPP{,_SIZE}_SPEC): Define.
|
||
* mips/sni-svr4.h (CPP_SPEC): Don't define.
|
||
(SUBTARGET_CPP_SIZE_SPEC): Define.
|
||
|
||
Thu Oct 10 17:58:49 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Define.
|
||
(DWARF_OFFSET_SIZE): Define.
|
||
|
||
* dwarf2out.c (most everywhere): Support SGI/MIPS -mabi=64 by fixing
|
||
code which assumed pointers are 4 bytes long, parameterizing many
|
||
sizes on DWARF_OFFSET_SIZE and using DELTA instead of DELTA4,
|
||
DATA instead of DATA4, FORM_ref instead of FORM_ref4.
|
||
(DWARF_ROUND, UNALIGNED_DOUBLE_INT_ASM_OP): New macros.
|
||
(UNALIGNED_WORD_ASM_OP, ASM_OUTPUT_DWARF_DELTA): Likewise.
|
||
(ASM_OUTPUT_DWARF_DATA, DW_FORM_data, DW_FORM_ref): New macros.
|
||
(gen_variable_die): Only equate_decl_number_to_die if
|
||
decl is TREE_STATIC.
|
||
(get_AT): Fix thinko.
|
||
|
||
* dwarf2out.c (constant_size): New fn.
|
||
(size_of_die): Use it instead of assuming 4 bytes.
|
||
(output_value_format, output_die): Likewise.
|
||
(build_abbrev_table): Need new abbrev if size of constant differs.
|
||
(dwarf_attr_name): Add new SGI/MIPS extensions.
|
||
(gen_subprogram_die): Support DW_AT_MIPS_has_inlines.
|
||
(gen_inlined_subroutine_die): Likewise.
|
||
|
||
Thu Oct 10 16:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.md (mov[sd]fcc): Use register_operand, not reg_or_0_operand,
|
||
for source predicates.
|
||
|
||
Thu Oct 10 15:19:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (floatsidf2_load): For large stack frames, do not
|
||
generate an illegal memory reference.
|
||
(movdi, movdf define_splits): Fix code so that it works for either
|
||
big or little endian hosts generating code for either big or
|
||
little endian targets.
|
||
|
||
(from Jim Wilson)
|
||
* rs6000.c (rs6000_save_toc_p): Delete global variable.
|
||
(rs6000_{save,restore}_machine_status): Do not save/restore it.
|
||
(rs6000_init_expanders): Do not initialize it.
|
||
(rs6000_stack_info): Always create TOC save space.
|
||
|
||
* rs6000.md (NT indirect call insns): Do not set
|
||
rs6000_save_toc_p.
|
||
|
||
* rs6000.h (rs6000_save_toc_p): Delete declaration.
|
||
|
||
Wed Oct 9 18:06:54 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.h (EMPTY_FIELD_BOUNDARY): Define as 32.
|
||
* mips/abi64.h (EMPTY_FIELD_BOUNDARY): Don't define.
|
||
|
||
* mips/abi64.h (TARGET_DEFAULT, TARGET_LONG64, CPP_PREDEFINES,
|
||
CPP_SPEC): Move from here...
|
||
* mips/iris6.h: ...to here.
|
||
|
||
Wed Oct 9 16:43:51 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure (i[3456]86-dg-dgux): Use install-headers-cpio.
|
||
|
||
* expr.c (store_constructor): Delete unnecessary increment.
|
||
|
||
Wed Oct 9 16:29:22 1996 Gavin Koch <gavin@cetus.cygnus.com>
|
||
|
||
* cccp.c (do_include): Treat ENOTDIR like ENOENT when an open fails.
|
||
|
||
Wed Oct 9 16:26:57 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* gcc.c (default_compilers): -ansi no longer implies -$ to cpp.
|
||
* c-lex.c (yylex): Treat `$' just like `_', except issue a
|
||
diagnostic if !dollars_in_ident or if pedantic.
|
||
* c-decl.c (dollars_in_ident): DOLLARS_IN_IDENTIFIERS is now Boolean.
|
||
(c_decode_option): -fdollars-in-identifiers is now independent
|
||
of -ansi, of -traditional, and of DOLLARS_IN_IDENTIFIERS.
|
||
* cexp.y (initialize_random_junk): Ignore DOLLARS_IN_IDENTIFIERS.
|
||
* cccp.c (dollars_in_ident): Remove; replaced by is_idchar['$'].
|
||
(main): Initialize is_idchar and is_idstart directly when given -$.
|
||
Ignore DOLLARS_IN_IDENTIFIERS.
|
||
(rescan): Diagnose $ in identifier if pedantic.
|
||
(initialize_char_syntax): Assume $ is allowed in identifier;
|
||
`main' will change this if -$ is given.
|
||
* cpplib.h (DOLLARS_IN_IDENTIFIERS): Remove.
|
||
* cpplib.c (cpp_options_init): Ignore DOLLARS_IN_IDENTIFIERS.
|
||
(parse_name): Diagnose $ in identifier if pedantic.
|
||
(cpp_handle_options): -traditional no longer messes with
|
||
dollars_in_ident.
|
||
* i386/dgux.h, m68k/apollo68.h (DOLLARS_IN_IDENTIFIERS): Remove.
|
||
* m88k.h, mips.h, nextstep.h, pa.h (DOLLARS_IN_IDENTIFIERS): Remove.
|
||
* vax/ultrix.h, vax/vms.h (DOLLARS_IN_IDENTIFIERS): Remove.
|
||
* convex.h (OVERRIDE_OPTIONS): Don't need to set
|
||
dollars_in_ident any more, since -ansi doesn't change it.
|
||
|
||
Wed Oct 9 07:35:47 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* Allow prefix attributes in more places.
|
||
* c-parse.in: Update number of shift/reduce conflicts.
|
||
({typed_declspecs,reserved_declspecs,declmods}_no_prefix_attr): New.
|
||
(current_declspecs): Initialize to NULL_TREE.
|
||
(fndef): Pass current_declspecs, not $1, to start_function.
|
||
(old_style_parm_decls): Renamed from xdecls.
|
||
(datadecl, declmods): Add references to new rules.
|
||
(setspecs): Call split_specs_attrs.
|
||
(absdcl1): Remove case with setattrs.
|
||
* c-common.c (split_specs_attrs): New function.
|
||
|
||
Wed Oct 9 05:48:43 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* sdbout.c: Include defaults.h.
|
||
* Makefile.in (sdbout.o): Make dependency list match included files.
|
||
|
||
* fold-const.c (range_test): Function deleted.
|
||
(range_binop, make_range, build_range_check): New functions.
|
||
(merge_ranges, fold_range_test): Likewise.
|
||
(fold_truthop): No longer call range_test.
|
||
(fold, case TRUTH_{AND,OR}{,IF}_EXPR): Call fold_range_test.
|
||
|
||
Tue Oct 8 22:03:32 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* configure: Set cpu_type for pyramid.
|
||
|
||
Tue Oct 8 21:54:04 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* final.c (final_start_function): Call dwarfout_begin_prologue.
|
||
|
||
* dwarf2out.c (pubname_*, arange_*): New data for .debug_pubnames
|
||
and .debug_aranges sections.
|
||
(add_pubname): New fn.
|
||
(size_of_pubnames): Reimplement.
|
||
(output_pubnames): Likewise.
|
||
(add_arange): New fn.
|
||
(size_of_aranges): Include function sections.
|
||
(output_aranges): Likewise.
|
||
(gen_variable_die): Call add_pubname.
|
||
(add_name_and_src_coords_attributes): Use DECL_ASSEMBLER_NAME for now.
|
||
(decl_start_label): Renamed from function_start_label.
|
||
(gen_subprogram_die): If weak or one_only, use a local label for
|
||
AT_low_pc. Call add_pubname and add_arange.
|
||
(dwarfout_begin_prologue): New fn. Start up FDE here.
|
||
(dwarfout_begin_function): Not here.
|
||
(get_AT): Split out. Look in specification and abstract_origin DIEs.
|
||
(get_AT_low_pc, get_AT_string, get_AT_flag, get_AT_unsigned,
|
||
get_AT_hi_pc): Use it.
|
||
(dwarfout_finish): Variables can produce pubnames, too.
|
||
|
||
Tue Oct 8 19:35:40 1996 Torbjorn Granlund <tege@nada.kth.se>
|
||
|
||
* m88k/dgux.h (CPP_SPEC): Avoid newline in the string.
|
||
|
||
* final.c (final): Update insn_current_address before calling
|
||
final_scan_insn.
|
||
|
||
Tue Oct 8 17:52:02 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (unroll_loops): Set local_regno only if set_dominates_use
|
||
returns true.
|
||
(set_dominates_use): New function.
|
||
|
||
Tue Oct 8 16:01:37 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* c-typeck.c (decl_constant_value): Delete test for ! TREE_PUBLIC.
|
||
|
||
Tue Oct 8 10:36:44 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (hppa_legitimize_address): Remove test code accidentally left
|
||
in during last change.
|
||
|
||
Mon Oct 7 19:55:02 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sched.c (schedule_block): Before scheduling, add code to make all
|
||
call used regs not fixed or global live when we see a CALL_INSN.
|
||
During scheduling, change existing code to use same test.
|
||
|
||
* varasm.c (bss_section): Delete unused parameters.
|
||
|
||
Mon Oct 7 16:24:21 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2.h: Add new SGI/MIPS attributes.
|
||
|
||
* dwarf2out.c (*_separate_line_info_*): Parallel line number
|
||
information for functions defined in sections other than .text.
|
||
(size_of_line_info): Support it.
|
||
(output_line_info, dwarfout_line): Likewise.
|
||
(gen_compile_unit_die): Don't add high/low_pc or stmt_list
|
||
attributes here.
|
||
(dwarfout_finish): Add them here if appropriate.
|
||
(remove_AT): Free removed attribute properly.
|
||
(gen_type_die): Don't assume a nested type is complete.
|
||
(dwarfout_finish): Don't emit line info if it would be empty.
|
||
|
||
* dwarfout.c (output_block): Don't emit a DIE for a body block.
|
||
(output_decls_for_scope): Don't increment next_block_number for the
|
||
outer block.
|
||
(output_decl): Start from the outer block, not
|
||
the first inner block since there can be more than one in C++.
|
||
(type_tag): Handle C++ TYPE_NAME.
|
||
(output_type): Fix handling of TYPE_METHODS.
|
||
(output_decl): Don't output a DIE for artificial typedefs.
|
||
|
||
Mon Oct 7 15:47:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (movdi define_splits): Fix previous change to work
|
||
on both little and big endian hosts.
|
||
|
||
Sun Oct 6 16:52:34 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (combinable_fsub): Don't return without a value.
|
||
|
||
Sun Oct 6 14:05:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (mov{df,di} define_splits): Use split_double to
|
||
properly split CONST_DOUBLEs.
|
||
(movdi): Likewise.
|
||
|
||
Sat Oct 5 08:43:14 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* i386/cygwin32.h (LIB_SPEC): Add support for -mwindows.
|
||
Always pass -lkernel32.
|
||
(LIBGCC_SPEC): Don't delete.
|
||
(STARTFILE_SPEC): Remove always-true conditionalization.
|
||
(LONG_DOUBLE_TYPE_SIZE): Use default.
|
||
|
||
Fri Oct 4 17:22:53 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (rest_of_type_compilation): Don't emit DWARF for member
|
||
types of a type we haven't emitted yet.
|
||
(compile_file): Still emit DWARF for pending tagged types.
|
||
|
||
* final.c (final_scan_insn): Do emit DWARF labels for level 1 blocks.
|
||
|
||
* dwarf2out.c (gen_subprogram_die): Start from the outer block, not
|
||
the first inner block since there can be more than one in C++.
|
||
(gen_lexical_block_die): Keep track of the block depth.
|
||
(gen_block_die): Don't emit a DIE for a body block.
|
||
(gen_inlined_subroutine_die): Don't emit anything for an
|
||
abstract instance.
|
||
(decls_for_scope): Don't increment next_block_number for the
|
||
outer block.
|
||
|
||
Fri Oct 4 15:27:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (PRESERVE_DEATH_INFO_REGNO_P): Define.
|
||
|
||
* sh.c (sfunc_uses_reg): New function.
|
||
(noncall_uses_reg, machine_dependent_reorg, final_prescan_insn):
|
||
Handle special functions like function calls for purposes of relaxing.
|
||
(noncall_uses_reg): Added some missing cases of registers
|
||
being used in non-call instructions.
|
||
|
||
Fri Oct 4 10:51:40 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c: Tear out backchaining brain damage.
|
||
(remove_AT, remove_children): New functions.
|
||
(modified_type_die): Call gen_type_die instead of backchaining.
|
||
(gen_subprogram_die): Don't generate a new specification DIE for
|
||
member functions defined in the class; use the declaration DIE instead.
|
||
(gen_struct_or_union_type_die): Support DW_AT_declaration.
|
||
(gen_type_die): Don't set TREE_ASM_WRITTEN on incomplete structs.
|
||
(gen_decl_die): Revert previous change; it's much simpler to emit
|
||
the class from rest_of_type_compilation.
|
||
|
||
Fri Oct 4 09:54:21 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* Make sure we have enough registers for the insns we recognize.
|
||
* i386.h (flag_omit_frame_pointer, outer_function_chain): Declare.
|
||
(current_function_calls_alloca): Likewise
|
||
(rtx_equal_function_value_matters): Likewise
|
||
(N_REGS_USED, N_ALLOCATABLE_REGISTERS): Define.
|
||
|
||
* i386.md (adddi3_1, subdi3_1): Insns renamed from adddi3 and subdi3;
|
||
added missing earlyclobbers.
|
||
(adddi3_1): Removed duplicates from commutativity.
|
||
(adddi3, subdi3): New define_expands.
|
||
(movsf, movsf_mem, movsf_normal, movdf, movdf_mem , movdf_mem+1): Take
|
||
number of used vs. available registers into account.
|
||
(movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
|
||
(adddi3_1, subsidi3, subdi3_1): Likewise.
|
||
(addsidi3_1, addsidi3_2, subsidi3): Need no generate function.
|
||
|
||
* i386.c (asm_output_function_prefix): Don't use
|
||
ASM_DECLARE_FUNCTION_NAME if it is not defined.
|
||
|
||
Fri Oct 4 07:01:55 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* stor-layout.c (layout_decl): Don't turn off DECL_BIT_FIELD
|
||
if DECL's alignment is less than its type.
|
||
|
||
Thu Oct 3 19:42:30 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (rest_of_type_compilation): Also do this for DWARF.
|
||
(compile_file): Don't try to write out DWARF for vars with no RTL.
|
||
|
||
Thu Oct 3 18:31:28 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* ginclude/{stdarg.h,varargs.h}: Use #include "", not #include <>.
|
||
|
||
Wed Oct 2 17:29:53 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fixincludes: Add a hack to the big sed script to work around a
|
||
bug in the sed implementation on HP/UX 10.20.
|
||
|
||
Wed Oct 2 16:53:56 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (modified_type_die): Don't generate redundant DIEs.
|
||
(gen_{array,pointer,reference,ptr_to_mbr}_type_die): Likewise.
|
||
(gen_{subroutine,string,set}_type_die): Likewise.
|
||
|
||
* dwarf2out.c: Undo text_end_label, add_src_coords changes.
|
||
(addr_const_to_string): Fix typos.
|
||
(decl_class_context, get_AT_unsigned): New functions.
|
||
(gen_subprogram_die): Only emit src coords info for a specification
|
||
if they changed.
|
||
(gen_variable_die): Support DW_AT_declaration and DW_AT_specification.
|
||
(gen_decl_die): Avoid generating redundant DIEs for member functions
|
||
and variables.
|
||
|
||
Wed Oct 2 11:22:50 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (EXTRA_CONSTRAINT): Loosen conditions for match of
|
||
'Q' and 'T' while reload is running.
|
||
* pa.c (hppa_legitimize_address): Rework to generate more
|
||
indexed and scaled indexed addressing.
|
||
* pa.md (scaled indexed store): Add define_splits to undo
|
||
pessimizations created by hppa_legitimize_address for integer stores.
|
||
|
||
* pa.c (remove_useless_addtr_insns): New function.
|
||
(pa_reorg): Delete code to remove useless add,tr insns.
|
||
Instead call remove_useless_addtr_insns.
|
||
(output_function_prologue): Call remove_useless_addtr_insns
|
||
to catch any add,tr insns created by reorg.
|
||
|
||
* pa.c (secondary_reload_class): Remove duplicate/useless code.
|
||
|
||
* pa.h (PARSE_LDD_OUTPUT): Handle output from hpux10.20 "chatr".
|
||
|
||
Tue Oct 1 17:23:32 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (text_end_label): New static.
|
||
(size_of_line_info): The final entry is smaller.
|
||
(output_aranges): Use TEXT_SECTION instead of TEXT_BEGIN_LABEL and
|
||
text_end_label instead of TEXT_END_LABEL.
|
||
(gen_compile_unit_die): Likewise.
|
||
(output_line_info): Likewise. Use a fixed advance for the last entry.
|
||
(dwarfout_init): Don't output starting labels.
|
||
(dwarfout_finish): Set up text_end_label. Don't output ending labels.
|
||
|
||
(add_pure_or_virtual_attribute): Don't say pure virtual for now.
|
||
(type_tag): Handle C++ TYPE_NAME.
|
||
(gen_formal_parameter_die): Support DW_AT_artificial.
|
||
(gen_formal_types_die): Do emit the type for 'this'.
|
||
(gen_member_die): Fix handling of TYPE_METHODS.
|
||
(gen_decl_die): Do output a DIE for member function declarations.
|
||
Don't output a DIE for artificial typedefs.
|
||
|
||
(add_member_attribute): Remove, not in DWARF-II.
|
||
(gen_array_type_die): Remove ref to add_member_attribute.
|
||
(gen_set_type_die, gen_entry_point_die, gen_enumeration_type_die,
|
||
gen_subprogram_die, gen_variable_die, gen_field_die,
|
||
gen_pointer_type_die, gen_reference_type_die, gen_ptr_to_mbr_type_die,
|
||
gen_string_type_die, gen_struct_or_union_type_die,
|
||
gen_subroutine_type_die, gen_typedef_die): Likewise.
|
||
|
||
(get_AT_flag): New fn.
|
||
(add_src_coords_attributes): Split out...
|
||
(add_name_and_src_coords_attributes): From here.
|
||
(gen_subprogram_die): Support DW_AT_declaration and
|
||
DW_AT_specification.
|
||
|
||
(gen_compile_unit_die): Don't emit full pathname for source file;
|
||
comment claimed that SGI required it, but they don't emit it either.
|
||
Append -g to producer rather than replacing it.
|
||
|
||
Tue Oct 1 14:19:23 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* gcc.c (used_arg): When call xmalloc for mswitches, pass 1 if
|
||
n_switches is zero.
|
||
|
||
Mon Sep 30 17:46:26 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (gen_shl_and, gen_shl_sext): Use gen_lowpart to
|
||
generate rtx in the appropriate mode for zero/sign-extension.
|
||
Don't generate a zero bit shift.
|
||
(gen_shl_sext) Directly use gen_ashift instead of gen_ashrsi3.
|
||
|
||
Mon Sep 30 17:17:56 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fixinc.svr4: In math.h, redefine exception to __math_exception
|
||
for C++, to avoid conflict with <exception>.
|
||
* fixincludes: Likewise.
|
||
Fix check for class in math.h to not match fp_class.
|
||
|
||
Mon Sep 30 17:15:19 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* iris6.h (ASM_SPEC): Add -w.
|
||
(STARTFILE_SPEC): Add mips3 to n32 pathnames.
|
||
Add -L/usr/lib32/mips for n32 cases.
|
||
(ENDFILE_SPEC): Add mips3 to n32 pathnames.
|
||
|
||
Mon Sep 30 13:20:31 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* genopinit.c (gen_insn): Look through the modes in reverse order,
|
||
to avoid stopping early on CC when EXTRA_CC_MODES is used.
|
||
|
||
* fixincludes: Add extern "C" to <sys/mman.h> on HP/UX.
|
||
|
||
Sun Sep 29 12:39:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* c-typeck.c (pointer_diff): Do not do default conversions when
|
||
doing the minus expression, in case restype is a short type.
|
||
|
||
Sun Sep 29 11:22:10 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.c (build_complex): Add new argument, TYPE.
|
||
* tree.h (build_complex): Likewise.
|
||
* c-lex.c (yylex): Add new arg, TYPE, to call to build_complex.
|
||
* fold-const.c (const_binop): Likewise.
|
||
(fold, case CONJ_EXPR, COMPLEX_EXPR): Likewise.
|
||
* varasm.c (copy_constant, case COMPLEX_CST): Likewise.
|
||
* expr.c (expand_expr, case COMPONENT_REF): Don't try to directly
|
||
load a complex.
|
||
* recog.c (register_operand): Don't reject subreg of complex mode.
|
||
* emit-rtl.c (mark_user_reg): New function.
|
||
* function.c (assign_parms): Use it.
|
||
* stmt.c (expand_decl): Likewise, and simplify code.
|
||
|
||
* tree.c (contains_placeholder): Return 1 for PLACEHOLDER_EXPR.
|
||
|
||
* expr.c (store_expr): memset/bzero gets ptr_mode, not Pmode.
|
||
|
||
* stmt.c (expand_asm_operands): Fix errors in previous patches.
|
||
|
||
* x-linux: Simplify, but ensure headers aren't changed.
|
||
|
||
* getpwd.c: No longer include direct.h for _WIN32.
|
||
|
||
* configure (i[3456]86-*-isc*): Remove bogus echo.
|
||
(m68k-apple-aux*): a-ux.h renamed from aux.h.
|
||
(CC): Escape "$" char in "no-symlink" case for bash/cygwin32 bug.
|
||
|
||
* Makefile.in (installdirs): Renamed from install-dir.
|
||
Create $(prefix) and $(exec_prefix) if doesn't exist.
|
||
(install-float): Reflect new name for installdirs.
|
||
(install-{common,info,man,libgcc,multilib,libobjc}): Likewise.
|
||
(install-{include-dir,assert-h,collect2}): Likewise.
|
||
|
||
* reload1.c (gen_reload): Handle SUBREG in PLUS specially too.
|
||
Change calls to emit_move_insn to recursive calls.
|
||
|
||
* stmt.c (fixup_gotos): When running undefined labels, if no cleanup
|
||
actions for this block, don't clear BEFORE_JUMP.
|
||
|
||
Fri Sep 27 13:48:21 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* c-decl.c (init_decl_processing): Create short int types before
|
||
creating size_t in case a machine description needs to use
|
||
unsigned short for size_t.
|
||
|
||
Fri Sep 27 12:28:54 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* gcc.c (do_spec_1): Allow -A in %[Spec].
|
||
|
||
* i386.h (CPP_CPU_SPEC): New. Added for defining the submodel.
|
||
|
||
* i386.c (asm_output_function_prefix, function_prologue,
|
||
ix86_expand_prologue): Make the routine that sets the GOT (when pic
|
||
is enabled) a function, to assist debugging.
|
||
|
||
* i386.md (gen_prologue_get_pc): Call the function created above.
|
||
(divdf3): Added.
|
||
|
||
* i386/dgux.h (CPP_PREDEFINES, CPP_SPEC): Reference CPP_CPU_SPEC.
|
||
Use svr4 assembler directive .backalign instead of .align.
|
||
(align to x bytes if it takes no more than y bytes to do so.)
|
||
|
||
* i386/{aix386ng.h,dgux.h} (CPP_SPEC): Use %[cpp_cpu].
|
||
* i386/{freebsd-elf,gas,isc,linux-aout}.h: Likewise.
|
||
* i386/{linux-oldld,linux,osfelf,osfrose,sco,sco4}.h: Likewise.
|
||
* i386/{sco4dbx,sco5,sol2,sysv3}.h: Likewise.
|
||
|
||
Thu Sep 26 17:58:34 1996 Torbjorn Granlund <tege@matematik.su.se>
|
||
|
||
* m68k.md (mulsidi3 matcher): Change predicate const_int_operand
|
||
to const_sint32_operand. Get rid of bogus range condition.
|
||
|
||
Thu Sep 26 17:12:00 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (stmp-int-hdrs): Don't cd to srcdir before copying
|
||
header files to objdir.
|
||
|
||
Wed Sep 25 21:22:57 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.h (FIRST_PSEUDO_REGISTER, ARG_POINTER_REGNUM): Bump up by one.
|
||
(FIXED_REGISTERS): Add entry for MAC register.
|
||
(CALL_USED_REGISTERS, REG_ALLOC_ORDER): Likewise.
|
||
(HARD_REGNO_NREGS): Handle MAC register.
|
||
(HARD_REGNO_MODE_OK, REGNO_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
|
||
(enum reg_class): New MAC_REGS register class.
|
||
(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Corresponding changes.
|
||
(REG_CLASS_FROM_LETTER): Likewise.
|
||
(REGISTER_MOVE_COST): Make copies to/from MAC register expenseive.
|
||
(CONDITIONAL_REGISTER_USAGE): Define.
|
||
* h8300.md (movsi_h8300hs): Renamed from movsi_h8300h.
|
||
Handle moves to/from the MAC register.
|
||
(mac): Two new patterns to use the mac instruction.
|
||
|
||
* h8300.c (notice_update_cc): Fix CC_SET case.
|
||
(restore_compare_p): Remove unused function.
|
||
* h8300.md: Handle "set" vs "set_zn_c0" correctly.
|
||
(bCC patterns): No longer need to call restore_compare_p.
|
||
|
||
* h8300.c (get_shift_alg): Fix HImode ASHIFTRT by 13 or 14 bits.
|
||
|
||
Wed Sep 25 18:52:19 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (insv): New pattern.
|
||
|
||
Wed Sep 25 16:47:26 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* sparc/t-sunos41 (MULTILIB_{OPTIONS,DIRNAMES,MATCHES}): Create
|
||
multilib versions of -fpic and -fPIC.
|
||
(TARGET_LIBGCC2_CFLAGS): Comment out.
|
||
|
||
* sparc.c (print_operand): Handle new codes H/L.
|
||
* sparc.md (lo_sum_di_sp32): Add little endian support.
|
||
(adddi3_sp32,subdi3_sp32,mulsidi3_sp32,const_mulsidi3): Likewise.
|
||
(umulsidi3_sp32,const_umulsidi3,smacdi,umacdi,anddi3_sp32): Likewise.
|
||
(iordi3_sp32,xordi3_sp32,negdi2_sp32): Likewise.
|
||
|
||
Wed Sep 25 15:32:35 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): Don't make flag_force_mem disable insv
|
||
for memory operands.
|
||
|
||
* function.c (instantiate_decl): Always store addr back into x.
|
||
|
||
Tue Sep 24 19:37:00 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (push_secondary_reload): Do strip paradoxical SUBREG
|
||
even if reload_class is CLASS_CANNOT_CHANGE_SIZE. Change reload_mode
|
||
to mode in SECONDARY_MEMORY_NEEDED and get_secondary_mem calls.
|
||
|
||
* reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
|
||
emit after RELOAD_FOR_OUTPUT, in reverse order of reload number,
|
||
but not separately.
|
||
|
||
Tue Sep 24 18:13:07 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* expr.c (emit_group_load): Allow target to be smaller than source.
|
||
|
||
Tue Sep 24 17:40:39 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* m68k/a-ux.h: Renamed from aux.h because of MSDOS.
|
||
|
||
Tue Sep 24 08:33:53 1996 David S. Miller (davem@caip.rutgers.edu)
|
||
|
||
* tree.c (copy_node): Fix error in last change.
|
||
|
||
Tue Sep 24 08:29:03 1996 James G. Smith <jsmith@cygnus.co.uk>
|
||
|
||
* gcc.c (used_arg): Fix multilib_matches parsing to not corrupt
|
||
entry parameter.
|
||
|
||
Tue Sep 24 08:22:18 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (get_condition): Use rtx_equal_p to compare rtx.
|
||
|
||
Tue Sep 24 08:14:01 1996 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
|
||
|
||
* integrate.c (expand_inline_function): Avoid creating paradoxical
|
||
subreg wider than BITS_PER_WORD as inlined function result.
|
||
|
||
Tue Sep 24 08:00:15 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c (struct directive, directive_table, handle_directive):
|
||
pass_thru now 1 for #define and 2 for #pragma.
|
||
(handle_directive): When deciding whether to suppress comment at end
|
||
of directive, ignore tabs and spaces after comment. Remove redundant
|
||
limit test. With -dD -C, copy comment when isolating definition.
|
||
(skip_to_end_of_comment): With -C, don't copy newline at end
|
||
of C++ comment.
|
||
|
||
* fixinc.ptx, fixinc.svr4, fixincludes: Insert newlines just before
|
||
end of 'sed' command strings if last 'sed' command is 'a' or 'i'.
|
||
|
||
Tue Sep 24 07:28:58 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* toplev.c (PREFERRED_DEBUGGING_TYPE): If no debugging formats are
|
||
supported, set to NO_DEBUG.
|
||
(main): Don't do setting of PREFERRED_DEBUGGING_TYPE here.
|
||
|
||
Mon Sep 23 22:45:15 1996 Sean McNeil <sean@mcneil.com>
|
||
|
||
* rs6000/vxppc.h, sparc/vxsim.h: New files.
|
||
* configure (powerpc-*-vxworks*, sparc-*-vxsim*): New targets.
|
||
* objc/objc.h (BOOL): Define BOOL as int for VxWorks.
|
||
|
||
Mon Sep 23 21:23:27 1996 Klaus K"ampf (kkaempf@progis.de)
|
||
|
||
* explow.c (promote_mode, case REFERENCE_TYPE): New case.
|
||
|
||
Mon Sep 23 21:15:43 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-decl.c (finish_struct): Check PCC_BITFIELD_TYPE_MATTERS value.
|
||
|
||
* dbxout.c (dbxout_symbol): Fix forgotten case in last change:
|
||
check DECL_ARTIFICIAL also when using the short cut way.
|
||
|
||
Mon Sep 23 15:55:24 1996 David S. Miller (davem@caip.rutgers.edu)
|
||
|
||
* tree.c (copy_node): Abort if don't know size of node.
|
||
|
||
* tree.c (build1): Clean up initialization of OBSTACK.
|
||
|
||
Mon Sep 23 15:35:33 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* Makefile.in (stmp-multilib): Depend on $(LANG_LIB2FUNCS).
|
||
|
||
* dbxout.c (dbxout_function): Don't check DECL_SECTION_NAME before
|
||
calling dbxout_function_end.
|
||
|
||
Mon Sep 23 14:41:12 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* combine.c (can_combine_p): Even if SMALL_REGISTER_CLASSES,
|
||
know lifetime not extended if all_adjacent set.
|
||
|
||
* stmt.c (expand_asm_operands): Handle '+' constraint.
|
||
* cse.c (fold_rtx): Fold inside ASM_OPERANDS.
|
||
|
||
* expr.c (expand_increment): If postincrement for MEM can't use add
|
||
directly, load address in reg and enqueue increment and store of reg.
|
||
|
||
* loop.c (check_dbra_loop): Don't assume label must be second part of
|
||
if_then_else in condjump.
|
||
|
||
* jump.c (jump_optimize): In no-nop move deletion, don't test
|
||
PRESERVE_DEATH_INFO_REGNO_P; instead test if optimization is performed.
|
||
Check for REG_UNUSED note on to-be deleted insn before searching for
|
||
preceding instruction to delete note from.
|
||
If PRESERVE_DEATH_INFO_REGNO_P is true for SREG, replace INSN with USE.
|
||
|
||
* reload1.c (reload): Initialize the previous_offset fields
|
||
in reg_eliminate before calling setup_save_areas.
|
||
|
||
* reload1.c (emit_reload_insns): Declare and set this_reload_insn.
|
||
|
||
* expr.c (var_rtx): New function.
|
||
(expand_expr, case COND_EXPR): Also use target if same as singleton.
|
||
|
||
Mon Sep 23 14:22:34 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* recog.c (constrain_operands): Don't test clobbered constraints.
|
||
|
||
* reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
|
||
put in front of anything previous for that output, but not separately.
|
||
|
||
Sun Sep 22 21:06:46 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* c-common.c (decl_attribtes, case A_SECTION): Allow for static
|
||
local variable.
|
||
|
||
Sun Sep 22 11:30:27 1996 Christian Iseli (christian.iseli@di.epfl.ch)
|
||
|
||
* expr.c (convert_move): Replace explicit checks for FP extend ops
|
||
with use of can_extend_p.
|
||
Add missing tests for FP trunc operations.
|
||
|
||
Sun Sep 22 11:20:02 1996 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* dwarfout.c (DWARF_VERSION): Define as 1 if not already defined.
|
||
* dwarf2out.c (DWARF_VERSION): Likewise.
|
||
|
||
Sun Sep 22 11:12:20 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* c-decl.c (pushdecl): Check new declaration actually conflicts before
|
||
warning about implicit external vs. static declarations.
|
||
|
||
* loop.c (combine_givs): Improve combining DEST_REG giv with only use.
|
||
|
||
Sun Sep 22 10:50:03 1996 Scott Christley <scottc@net-community.com>
|
||
|
||
* Create consistent mechanism for memory allocation and release
|
||
so that garbage collection routines can be easily subsititued
|
||
for the ANSI standard malloc, realloc, free, etc.
|
||
* objc/archive.c: Replace use of __objc_xmalloc and free
|
||
with objc_malloc and objc_free.
|
||
* objc/hash.c: Replace use of __objc_xcalloc and free
|
||
with objc_calloc and objc_free.
|
||
* objc/init.c: Replace use of free with objc_free.
|
||
* objc/misc.c (objc_malloc): Renamed from __objc_xmalloc.
|
||
(objc_realloc): Renamed from __objc_realloc.
|
||
(objc_atomic_malloc, objc_valloc): New functions.
|
||
(objc_calloc): Renamed from __objc_calloc.
|
||
(objc_free): New function.
|
||
* objc/objc-api.h (_objc_malloc): New function pointer.
|
||
(_objc_atomic_malloc, _objc_valloc): Likewise.
|
||
(_objc_realloc, _objc_calloc, _objc_free): Likewise
|
||
* objc/objc-list.h: Replace use of __obj_xmalloc and free
|
||
with objc_malloc and objc_free.
|
||
* objc/objects.c: Likewise.
|
||
* objc/sarray.c: Replace use of __objc_xmalloc and free
|
||
with objc_malloc and objc_free.
|
||
* objc/sarray.h (__objc_xmalloc, __objc_xrealloc): Delete.
|
||
* objc/selector.c: Replace use of __objc_xcalloc, __objc_xrealloc,
|
||
and __objc_xmalloc with objc_calloc, objc_realloc, and objc_malloc.
|
||
* objc/thr-decosf1.c: Replace use of __objc_xmalloc and free
|
||
with objc_malloc and objc_free.
|
||
* objc/thr-irix.c, objc/thr-mach.c, objc/thr-os2.c: Likewise.
|
||
* objc/thr-posix.c, objc/thr-pthreads, objc/thr-single: Likewise.
|
||
* objc/thr-solaris.c, objc/thr-win32.c, objc/thr.c: Likewise.
|
||
|
||
Sun Sep 22 05:26:01 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* configure: Set up LANG_LIB2FUNCS and LANG_EXTRA_HEADERS.
|
||
* Makefile.in (libgcc2.a): Include LANG_LIB2FUNCS.
|
||
(USER_H): Add LANG_EXTRA_HEADERS.
|
||
(LANG_LIB2FUNCS): New macro.
|
||
(LANG_EXTRA_HEADERS): New macro.
|
||
(stmp-int-hdrs): Don't hardwire ginclude.
|
||
(stamp-objlist): Don't depend on Makefile.
|
||
|
||
Sat Sep 21 18:00:10 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* alpha.md (alpha_swapped_comparison_operator pattern): Fix asm
|
||
operand typo in last change.
|
||
|
||
Sat Sep 21 07:11:51 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* defaults.h (ASM_OUTPUT_LABELREF): Provide default definition
|
||
if not already defined.
|
||
* 1750a.h (USER_LABEL_PREFIX): Define instead of ASM_OUTPUT_LABELREF.
|
||
* a29k.h, alpha.h, convex.h, dsp16xx.h, elxsi.h, fx80.h: Likewise.
|
||
* gmicro.h, h8300.h, i386/sun386.h, i860.h, i960.h, ns32k.h: Likewise.
|
||
* pdp11.h, pyr.h, romp.h, sh.h, sparc.h, spur.h, tahoe.h: Likewise.
|
||
* vax.h, we32k.h: Likewise.
|
||
* i386/att.h (USER_LABEL_PREFIX): Redefine, not ASM_OUTPUT_LABELREF.
|
||
* i386/bsd.h, i386/lynx.h, i386/sco5.h, i860/fx2800.h: Likewise.
|
||
* m68k/3b1.h, m68k/mot3300.h, m68k/tower-as.h, m68k/tower.h: Likewise.
|
||
* ptx4.h, sparc/pbd.h, svr3.h, svr4.h: Likewise.
|
||
* i386/osfrose.h, m88k.h (USER_LABEL_PREFIX): Redefine.
|
||
* nextstep.h (USER_LABEL_PREFIX): Redefine.
|
||
(ASM_OUTPUT_LABELREF) Use USER_LABEL_PREFIX.
|
||
* arm/aout.h, mips.h (ASM_OUTPUT_LABELREF): Delete.
|
||
* rs6000/lynx.h (USER_LABEL_PREFIX): Undefine.
|
||
* rs6000.h, rs6000/win-nt.h (USER_LABEL_PREFIX): Define.
|
||
|
||
Thu Sep 19 00:05:53 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* configure: Move i[3456]86-*-gnu* case after linux and don't
|
||
treat linux-gnu like other gnu systems.
|
||
|
||
Wed Sep 18 20:51:09 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cplus-dem.c (demangle_template): Fix handling of address args.
|
||
(gnu_special): Handle type_info stuff.
|
||
|
||
Wed Sep 18 17:57:55 1996 Patrik Lantto (patrik@opq.se)
|
||
|
||
* jump.c (jump_optimize): Insert conditional move after jump
|
||
insn instead of before.
|
||
|
||
Wed Sep 18 17:33:36 1996 Richard Henderson <rth@tamu.edu>
|
||
|
||
* alpha.h (PREDICATE_CODES): Add alpha_swapped_comparison_operator.
|
||
* alpha.c (alpha_swapped_comparison_operator): New function.
|
||
(print_operand): Support unsigned codes for %D, %c, and %d.
|
||
* alpha.md: Add pattern for b%c with swapped comparisons with 0.
|
||
Delete three unnamed cmp patterns that are strict subsets of it.
|
||
|
||
* alpha.c (alpha_emit_set_long_const): Save one instruction
|
||
when -O2 and high word == low word.
|
||
|
||
Tue Sep 17 22:46:15 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/unix.h (ASM_OUTPUT_MI_THUNK): Handle functions
|
||
returning an aggregate.
|
||
|
||
* varasm.c (supports_one_only): New function.
|
||
(make_decl_one_only): Likewise.
|
||
* svr4.h (MAKE_DECL_ONE_ONLY): Define.
|
||
* tree.h (DECL_ONE_ONLY): New macro.
|
||
|
||
* varasm.c (assemble_variable): Fix setting of
|
||
first_global_object_name.
|
||
(assemble_start_function): Likewise.
|
||
|
||
Tue Sep 17 19:42:39 1996 Doug Evans <dje@wabamun.cygnus.com>
|
||
|
||
* i386/t-cygwin32 (winnt.o): Compile properly.
|
||
|
||
Tue Sep 17 15:47:20 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* Add support for R5000, and finish MIPS4 support.
|
||
* mips.h (enum processor_type): Add PROCESSOR_R5000.
|
||
(gen_conditional_move): Declare.
|
||
(CONDITIONAL_REGISTER_USAGE): Mark ST_REGS as fixed if not
|
||
HARD_FLOAT, or if mips_isa < 4.
|
||
(FIRST_PSEUDO_REGISTER): Change to 76.
|
||
(FIXED_REGISTERS): Add condition code registers.
|
||
(CALL_USED_REGISTERS): Likewise.
|
||
(ST_REG_LAST): Change to 74.
|
||
(RAP_REG_NUM): Change to 75.
|
||
(ST_REG_P): Look for any condition code register.
|
||
(REG_CLASS_CONTENTS): Update for new condition code registers.
|
||
(RTX_COSTS): Add cases for R5000.
|
||
(REGISTER_MOVE_COST): Add cases for condition code registers.
|
||
(PREDICATE_CODES): Add "const_float_1_operand".
|
||
(EXTRA_CC_{MODES,NAME}, SELECT_CC_MODE): Remove.
|
||
(REGISTER_NAMES): Add entries for new condition code registers.
|
||
(DEBUG_REGISTER_NAMES): Likewise.
|
||
(ADDITIONAL_REGISTER_NAMES): Remove FPSW_REGNUM.
|
||
* mips.md (cpu attribute): Add R5000.
|
||
(function units): Add cases for the R5000.
|
||
({madd,msub,nmadd,nmsub}.d): Only available if TARGET_DOUBLE_FLOAT.
|
||
(recip.d, recip.s, rsqrt.d, rsqrt.s): New define_insn patterns.
|
||
(movcc): New pattern to move condition code values.
|
||
(reload_incc, reload_out_cc): New define_expand patterns.
|
||
(lwxc1, ldxc1, swxc1, sdxc1): Several new define_insn patterns.
|
||
(various): Replace CC_FP with CC.
|
||
(branch_fp_ne, branch_fp_eq): Match any condition code register.
|
||
(branch_fp_ne_rev, branch_fp_eq_rev): Remove.
|
||
(seq_df, slt_df, sle_df): Match any condition code register.
|
||
(sgt_df, sge_df, seq_sf, slt_sf, sle_sf, sgt_sf, sge_sf): Likewise.
|
||
(sne_df, sne_sf): Remove.
|
||
(FP conditional moves): Match any condition code register.
|
||
Require TARGET_HARD_FLOAT and, if appropriate, TARGET_DOUBLE_FLOAT.
|
||
(movsicc): Just call gen_conditional_move.
|
||
(movdicc, movsfcc, movdfcc): New define_expand patterns.
|
||
* mips.c (mips_reg_names): Add condition code registers.
|
||
(mips_sw_reg_names, mips_regno_to_class): Likewise.
|
||
(const_float_1_operand): New function.
|
||
(mips_move_1word): Treat CCmode as SImode. Handle move from
|
||
ST_REG to GR_REG if mips_isa >= 4. Only permit move from GR_REG
|
||
to ST_REG is mips_isa < 4.
|
||
(gen_conditional_branch): Rewrite. Just use CCmode, not extra
|
||
condition modes.
|
||
(gen_conditional_move): New function.
|
||
(override_options): Recognize vr5000. Look for just CCmode, not
|
||
extra condition modes. If mips_isa >= 4, permit CCmode in GR_REGS
|
||
and FP_REGS.
|
||
(print_operand): Handle %Z.
|
||
(mips_secondary_reload_class): Require a data register to copy a
|
||
value out of a condition code register. Require a floating point
|
||
register to copy a value into a condition code register.
|
||
|
||
Tue Sep 17 15:10:29 1996 Joern Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md: New define_splits to recombine output from LEGITIMIZE_ADDRESS.
|
||
* sh.h (LEGITIMIZE_ADDRESS): Typo fixes (x -> X).
|
||
|
||
Mon Sep 16 23:00:35 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure (build_broken_install): Renamed from host_broken_install.
|
||
Set from build not host.
|
||
(build_install_headers): Renamed from host_install_headers. Set from
|
||
build not host.
|
||
|
||
Mon Sep 16 22:38:55 1996 Stu Grossman (grossman@critters.cygnus.com)
|
||
|
||
* configure (m68k-*-coff*): Use dbx debug format by default.
|
||
* gcc.c (link_command_spec): Move -T to end of link command line.
|
||
* m68k/m68kemb.h (LINK_SPEC, SUBTARTGET_SWITCHES): Delete.
|
||
(LIB_SPEC): Define to just -lc.
|
||
(STARTFILE_SPEC): Define to empty.
|
||
|
||
Mon Sep 16 13:12:27 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (ext_shift_insns, ext_shift_amounts): New arrays.
|
||
(gen_ashift_hi, gen_shifty_hi_op, shl_and_kind): New functions.
|
||
(rtx_equal_function_value_matters): Declare.
|
||
(shl_and_length, shl_and_src_length, gen_shl_and): New functions.
|
||
(shl_sext_kind, shl_sext_length, gen_shl_sext): Likewise.
|
||
* sh.md (ashlhi3_k, lshrhi3_m): New patterns.
|
||
(lshrhi3, shl_sext_ext, shl_sext_sub):
|
||
New insn patterns with matching define_split.
|
||
(and_shl_scratch): Likewise, but also with unnamed variants.
|
||
|
||
Sat Sep 14 17:05:07 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* gcc.c (convert_filename): Don't start looking for '.' until
|
||
after last directory separator.
|
||
|
||
* i386.md (clrstrsi): Correct check for constant size.
|
||
|
||
* Based on code by sac@cygnus.com.
|
||
* i386/cygwin32.h (CHECK_STACK_LIMIT): Make consistent with MD file.
|
||
* i386.c ({function,ix86_expand}_prologue): Use __alloca to allocate
|
||
stack if desired and beyond CHECK_STACK_LIMIT in size.
|
||
* i386.h ({MASK,TARGET}_STACK_PROBE): New macros.
|
||
(TARGET_SWITCHES): Add -mstack-arg-probe.
|
||
* i386.md (allocate_stack{,_worker}): New patterns.
|
||
|
||
Fri Sep 13 18:23:18 1996 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* sparc/lb1spc.asm (.div, .rem): Fixed typo so sign is returned
|
||
correctly. TOPBITS was 2 and should have been 4.
|
||
|
||
Thu Sep 12 21:51:56 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (call_value_multiple_internal0): Change from define_insn to
|
||
define_expand.
|
||
|
||
Thu Sep 12 19:22:14 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* sparc.md (move_pic_label_si): Operand one is label_ref now.
|
||
* sparc.c (emit_move_sequence): Pass label_ref to
|
||
gen_move_pic_label_si to not lose flags.
|
||
|
||
Wed Sep 11 12:10:08 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* Makefile.in (GCC_PASSES): Add $(exeext) to names.
|
||
(FLAGS_TO_PASS): Add CLIB.
|
||
(c-pragma.o): Add dependencies on except.h, function.h, defaults.h.
|
||
|
||
Tue Sep 10 22:25:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* configure (i[3456]86-*-cygwin32): Use xm-cygwin32.h and xm-i386.h.
|
||
Set fixincludes to Makefile.in and objc_thread_file to win32.
|
||
* i386/xm-cywin32.h: Don't include xm-i386.h.
|
||
* i386/x-cygwin32, rs6000/x-cygwin32 (STMP_FIXPROTO, exeext): New defs.
|
||
|
||
* gcc.c (HAVE_EXECUTABLE_SUFFIX): New macro.
|
||
(convert_filename): New function.
|
||
(process_command, case 'o'): Call it.
|
||
(process_command, default case): Likewise; delete old code.
|
||
|
||
Tue Sep 10 21:08:43 1996 Torbjorn Granlund <tege@albert.gnu.ai.mit.edu>
|
||
|
||
* i386.md (decrement_and_branch_until_zero matcher): Fix typo.
|
||
|
||
Tue Sep 10 19:04:19 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (mips_move_2words): Rewrite 32 bit shifts as 16 bit shifts.
|
||
|
||
Tue Sep 10 10:39:07 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa/pa-gas.h (DBX_DEBUGGING_INFO): Remove all #define
|
||
and #undef statements related to debugging information.
|
||
* pa/pa-hpux.h, pa-hpux7.h: Likewise
|
||
* pa.c (override_options): Disable "-g" and issue a warning
|
||
if it's used when !TARGET_GAS.
|
||
|
||
Mon Sep 9 17:57:49 1996 Doug Evans <dje@wabamun.cygnus.com>
|
||
|
||
* sparc.h ({MASK,TARGET}_FPU_SET): Define.
|
||
(TARGET_SWITCHES): Record if -m{,no-}fpu passed.
|
||
* sparc.c (sparc_override_options): Don't clobber explicit
|
||
-m{,no-}fpu setting with cpu default.
|
||
|
||
Mon Sep 9 15:57:57 1996 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* configure (mips64orion-*-rtems*): New target.
|
||
* mips/rtems64.h: New file.
|
||
|
||
Sat Sep 7 22:07:53 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (store_field): If storing a record on big endian targets,
|
||
set up so we store the high-order bits.
|
||
(expand_expr, case COMPONENT_REF): Likewise for loads.
|
||
|
||
Thu Sep 5 14:59:47 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (LEGITIMIZE_ADDRESS): Define nonempty.
|
||
|
||
Thu Sep 5 10:43:36 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (mov{si,di,sf}): Handle 'R' constraints as needed.
|
||
|
||
Wed Sep 4 17:13:28 1996 Bob Manson <manson@charmed.cygnus.com>
|
||
|
||
* except.c: (add_partial_entry): New routine.
|
||
(expand_start_try_stmts): Moved from cp/except.c.
|
||
(expand_start_all_catch): Move functionality of expand_end_try_stmts
|
||
here.
|
||
|
||
Wed Sep 4 12:30:02 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* except.c (emit_unwinder): Ensure CLOBBER and USE insns come last,
|
||
if present.
|
||
|
||
Tue Sep 3 12:01:43 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* configure (sh-*-elf*): New target.
|
||
* sh/elf.h: New file.
|
||
|
||
Fri Aug 30 17:52:26 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_formal_types_die): Delete extra argument from
|
||
gen_type_die call.
|
||
|
||
Fri Aug 30 15:40:40 1996 James G. Smith <jsmith@cygnus.co.uk>
|
||
|
||
* mips/elf64.h: Allow MULTILIB_DEFAULTS to be defined
|
||
before this file is included.
|
||
|
||
Fri Aug 30 15:00:06 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md: (movsicc,movhicc): Allow reload from memory.
|
||
|
||
* i386.c (override_options): Don't thread the prologue if profiling.
|
||
|
||
Fri Aug 30 15:00:06 1996 James Hawtin <cgjwh@sunrise.co.uk>
|
||
|
||
* i386/t-sol2 (gcrt1.o): Added for profiling Solaris 2
|
||
* i386/sol2.h (STARTFILE_SPEC): New.
|
||
* i386/gmon-sol2.c, i386/sol2-gc1.asm: New files.
|
||
|
||
Thu Aug 29 22:08:03 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* except.c (add_eh_table_entry): Multiply realloc size by sizeof int.
|
||
|
||
Thu Aug 29 15:15:31 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (fcmp patterns): Don't try to eliminate useless add,tr
|
||
insns here.
|
||
* pa.c (pa_reorg): Do elimination of useless add,tr insns here instead.
|
||
(print_operand, case 'y'): Remove this code.
|
||
|
||
Wed Aug 28 16:19:34 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* toplev.c (print_single_switch): Ultrix fprintf returns 0 for success.
|
||
|
||
* toplev.c (main): Rewrite -g parsing.
|
||
|
||
Mon Aug 26 16:15:49 1996 Fred Fish <fnf@cygnus.com>
|
||
|
||
* Makefile.in (objc-parse.y): Fix typo in name of temp file.
|
||
|
||
Mon Aug 26 14:08:37 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* function.c (mark_all_temps_used): Fix error in last change.
|
||
|
||
Sun Aug 25 22:27:19 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* function.c (mark_all_temps_used): New function.
|
||
|
||
Fri Aug 23 11:34:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Fixes to make -fPIC
|
||
really the same as -mrelocatable.
|
||
(ASM_SPEC): Pass -K PIC to the assembler if -fpic/-fPIC.
|
||
|
||
* rs6000/sol2.h (ASM_CPU_SPEC): Remove passing -K PIC to the
|
||
assembler if -fpic/-fPIC.
|
||
|
||
* bi-{arity,opcode,opname}.c (fancy_abort): Define, so that
|
||
-Dabort=fancy_abort works again.
|
||
|
||
Thu Aug 22 11:39:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/t-ppcgas ({stmp,install}-crt): Only build and install the
|
||
eabi ecrt[in].o object files in eabi multilib directories, only
|
||
build and install the solaris scrt[in0].o object files in solaris
|
||
directories.
|
||
(MULTILIB_MATCHES): Remove matches for solaris, linux to other
|
||
switches.
|
||
|
||
Tue Aug 20 18:49:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): If -mrelocatable or
|
||
-mrelocatable-lib, don't make read-only sections.
|
||
|
||
Mon Aug 19 18:42:13 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.h ({MASK,TARGET}_LITTLE_ENDIAN): Define.
|
||
(LIBGCC2_WORDS_BIG_ENDIAN): Add little endian support.
|
||
* sparc/sp64-elf.h ({CPP,ASM,LINK}_SPEC): Add little endian support.
|
||
(SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
|
||
({BYTES,WORDS}_BIG_ENDIAN): Likewise.
|
||
* sparc/splet.h (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
|
||
({CPP,ASM,LINK}_SPEC): Add little endian support.
|
||
({BYTES,WORDS}_BIG_ENDIAN): Likewise.
|
||
* sparc/t-splet (MULTILIB_{OPTIONS,DIRNAMES}): Likewise.
|
||
|
||
* sparc/lynx-ng.h (CPP_SPEC): Use %(cpp_cpu).
|
||
|
||
Sat Aug 17 15:23:39 1996 Geoffrey Noer <noer@cygnus.com>
|
||
|
||
* i386/cygwin32.h (CPP_PREDEFINES): Define _WIN32, not WIN32.
|
||
Define only __CYGWIN32__, not CYGWIN32 or __CYGWIN32.
|
||
* rs6000/cygwin32.h (CPP_PREDEFINES): Likewise.
|
||
* cccp.c (absolute_filename): Drive specifiers make the pathname
|
||
absolute in cygwin32.
|
||
* choose-temp.c: Delete !defined(_WIN32) condition when including
|
||
sys/file.h (NO_SYS_FILE_H is still used).
|
||
* gcc.c: Change ifndef _WIN32 to ifndef NO_SYS_FILE_H when deciding
|
||
whether to include sys/file.h.
|
||
(execute): -pipe is supported for cygwin32.
|
||
* getopt.c: Change win32 test from WIN32 to _WIN32.
|
||
* pexecute.c: Update test for win32 (&& ! cygwin32).
|
||
* protoize.c: Likewise.
|
||
(kill): Delete decl.
|
||
* toplev.c: Update test for win32 (&& ! cygwin32).
|
||
* ginclude/stdarg.h: Change __WIN32__ to _WIN32.
|
||
* ginclude/varargs.h: Likewise.
|
||
* ginclude/va-ppc.h: Likewise.
|
||
|
||
Fri Aug 16 16:02:09 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (rs6000_got_register): Make sure pic_offset_table_rtx
|
||
allocated, even if current_function_uses_pic_offset_table set.
|
||
|
||
Fri Aug 16 15:56:04 1996 J. Kean Johnston <hug@netcom.com>
|
||
|
||
* i386/sco5.h (CLASS_LIKELY_SPILLED_P): Deleted.
|
||
(STARTFILE_SPEC): Insert crtbegin.o in correct place, and correct
|
||
versions of values-X?.o.
|
||
(SWITCH_TAKES_ARG): Extend DEFAULT_SWITCH_TAKES_ARG, not replace.
|
||
(CPP_SPEC): Add -Di386, and correctly include extra directories.
|
||
Define HAVE_ATEXIT in ELF mode for global destructors.
|
||
|
||
Thu Aug 15 16:42:44 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.c (label_ref_operand): New function.
|
||
(emit_move_sequence): Pass label_ref to gen_move_label_di to not
|
||
lose flags.
|
||
* sparc.md (move_label_di): Operand one is label_ref now.
|
||
* genattrtab.c (write_test_expr): Allow label_ref in match_dup.
|
||
|
||
* sys-protos.h (gethostid): Make return type `int' ifdef __alpha__.
|
||
* gen-protos.c: Delete support for SYS_PROTO_OVERRIDES.
|
||
* alpha.h (SYS_PROTO_OVERRIDES): Delete.
|
||
|
||
Thu Aug 15 17:36:09 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* libgcc2.c (__throw): New routine.
|
||
(__eh_pc): New data object for exception handling.
|
||
|
||
* except.c (eh_saved_pc): New object so we can call
|
||
assemble_external.
|
||
(expand_internal_throw_indirect): Call assemble_external for __eh_pc.
|
||
(end_eh_unwinder): Likewise.
|
||
(init_eh): Initialize eh_saved_pc.
|
||
|
||
Thu Aug 15 13:02:42 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* arm.h (RETURN_ADDR_RTX): Define.
|
||
|
||
* expr.c (expand_builtin_return_addr): Fix order of parameters.
|
||
|
||
Wed Aug 14 19:48:00 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
|
||
|
||
* stmt.c (expand_return): In code for doing scc with jumps,
|
||
stick to default handling if we have corresponding scc pattern.
|
||
|
||
Wed Aug 14 10:31:28 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (override_options): Treat TARGET_FAST_INDIRECT_CALLS
|
||
just like TARGET_NO_SPACE_REGS.
|
||
(output_millicode_call): Likewise.
|
||
* pa.h (TARGET_FAST_INDIRECT_CALLS): Define.
|
||
(TARGET_SWITCHES): Add "fast-indirect-calls".
|
||
* pa.md (TARGET_FAST_INDIRECT_CALLS): Treat just like
|
||
TARGET_NO_SPACE_REGS in various call/millicode call patterns.
|
||
|
||
* pa.c (print_operand): Use the right comparison operator
|
||
for reversed EQ and NE comparisons.
|
||
|
||
* pa.h (OUTPUT_MI_THUNK): Define.
|
||
|
||
Wed Aug 14 11:40:49 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* ginclude/va-ppc.h: Add Windows NT support.
|
||
* ginclude/{varargs,stdarg}.h: For PowerPC Windows NT, include
|
||
va-ppc.h, instead of using the default handling.
|
||
|
||
Tue Aug 13 18:30:10 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fixincludes: Remove duplicate volatile from sig_atomic_t in AIX
|
||
sys/signal.h
|
||
|
||
Tue Aug 13 16:51:37 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i960-coff.h (LIB_SPEC): Undef.
|
||
|
||
* sh.h (PROFILE_BEFORE_PROLOGUE): Define.
|
||
|
||
Tue Aug 13 11:36:02 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* gcc.c (set_spec,process_command): Dump and load the compiler
|
||
version number in the specs file.
|
||
|
||
* rs6000.c (output_toc): Fix last change, so that it doesn't use
|
||
an uninitialized variable if -mminimal-toc.
|
||
(output_prolog): Increment probe_labelno after last use.
|
||
|
||
* rs6000/t-ppcgas (MULTILIB_*): Build far fewer multilib
|
||
libraries. Build all libraries with -mrelocatable-lib and
|
||
-mno-eabi. Build special GNU/Linux and Solaris libraries.
|
||
* rs6000/eabi{,aix,le}.h (MULTILIB_DEFAULTS): Adapt to changes in
|
||
t-ppcgas.
|
||
* rs6000/(linux,sol2,sysv4,sysv4le).h (MULTILIB_DEFAULTS): Likewise.
|
||
|
||
Tue Aug 13 11:36:02 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.c (handle_mac_pragma): Initialize "psize".
|
||
|
||
Mon Aug 12 18:14:35 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* gcc.c (used_arg): Initialize cnt to zero.
|
||
|
||
Mon Aug 12 14:03:16 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
From Mike Stump:
|
||
* sh.c (regno_reg_class): Change entry 23 from NO_REGS to GENERAL_REGS.
|
||
(initial_elimination_offset): New variable live_regs_mask. Add
|
||
code to handle RETURN_ADDRESS_POINTER_REGNUM.
|
||
* sh.h (RAP_REG, RETURN_ADDRESS_POINTER_REGNUM): Define.
|
||
(ELIMINABLE_REGS): Add RETURN_ADDRESS_POINTER_REGNUM support.
|
||
(RETURN_ADDR_RTX): Define.
|
||
(REGISTER_NAMES): Add rap.
|
||
|
||
* iris5.h (DOLLARS_IN_IDENTIFIERS): Undefine.
|
||
|
||
* m68kemb.h (LIB_SPEC): Always emit -lc.
|
||
|
||
Mon Aug 12 12:30:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (rs6000_got_register): Test variable
|
||
current_function_uses_pic_offset_table to see whether or not a GOT
|
||
register has been created already.
|
||
|
||
* Makefile.in (multilib.h): Move to stamp-mlib.
|
||
(stamp-mlib): Use move-if-change to conditionally update
|
||
multilib.h. Pass MULTILIB_EXTRA_OPTS to genmultilib.
|
||
(STAGESTUFF): Add stamp-mlib.
|
||
(mostlyclean): Delete tmp-mlib.h.
|
||
|
||
* genmultilib: Take fifth argument for options to all multilib builds.
|
||
Restructure output so we pass synonym switches and extra arguments
|
||
separately, and not exponentially slow down genmultilib.
|
||
|
||
* gcc.c (toplevel): Rearrange multilib support so we support passing
|
||
synonyms separately from normal switches. Add support for passing
|
||
additional switches for all multilib builds. Dump and restore value
|
||
of MULTILIB_DEFAULTS.
|
||
(setspec, process_command, main): Likewise.
|
||
(used_arg,default_arg,print_multilib_info): Likewise.
|
||
|
||
Mon Aug 12 07:46:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_SETJMP): Add test
|
||
and call for nonlocal_goto_receiver pattern.
|
||
* stmt.c (expand_end_bindings): Likewise.
|
||
|
||
* stmt.c (expand_asm_operands): Fix off-by-one error when
|
||
scanning constraints.
|
||
|
||
Sun Aug 11 22:48:02 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (store_expr): Handle COND_EXPR cleanups like expand_expr.
|
||
|
||
Sun Aug 11 22:42:36 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* optabs.c (expand_abs): When OP0 and TARGET are the same
|
||
pseudo register, it is safe to use TARGET.
|
||
|
||
* local-alloc.c (reg_equiv_replace): New variable.
|
||
(update_equiv_regs): Set reg_equiv_replacement for all REG_EQUIV
|
||
notes encountered or generated.
|
||
|
||
Sun Aug 11 22:27:14 1996 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/hash.c (hash_is_key_in_hash): Function somehow got lost.
|
||
|
||
Sun Aug 11 21:43:15 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* ginclude/stddef.h (__need_wint_t): Move #undef to right place.
|
||
|
||
Sun Aug 11 17:46:22 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* c-decl.c (finish_struct): If pedantic, also warn if struct/union
|
||
has no named members.
|
||
|
||
Sun Aug 11 17:32:52 1996 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* i386/rtems.h: Renamed from i386/i386-rtems.h
|
||
* i960/rtems.h: Renamed from i960/i960-rtems.h
|
||
* m68k/rtems.h: Renamed from m68k/m68k-rtems.h
|
||
* rs6000/rtems.h: Renamed from rs6000/powerpc-rtems.h
|
||
* sparc/rtems.h: Renamed from sparc/sparc-rtems.h
|
||
* config/t-rtems: New file.
|
||
* configure (i386-*-rtems*): Added t-rtems to tmake_file.
|
||
Renamed i386/i386-rtems.h to i386/rtems.h.
|
||
(i960-*-rtems*): Added t-rtems to tmake_file.
|
||
Renamed i960/i960-rtems.h to i960/rtems.h.
|
||
Added original tm.h file and dbxcoff.h.
|
||
(m68k-*-rtems*): Added t-rtems to tmake_file.
|
||
Renamed m68k/m68k-rtems.h to m68k/rtems.h.
|
||
(powerpc-*-rtems*): Added t-rtems to tmake_file.
|
||
Renamed rs6000/powerpc-rtems.h to rs6000/rtems.h.
|
||
(sparc-*-rtems*): Added t-rtems to tmake_file.
|
||
Renamed sparc/sparc-rtems.h to sparc/rtems.h.
|
||
|
||
Fri Aug 9 16:05:13 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md: (untyped_call) Avoid SIGFPE.
|
||
|
||
* i386.c (output_float_compare): Don't try to initialize
|
||
aggregate local variable; use assignment statements instead.
|
||
|
||
* i386.h (RTX_COSTS): rtx_cost should pass two parameters.
|
||
|
||
* i386/go32.h (ASM_OUTPUT_SECTION_NAME): New.
|
||
|
||
Fri Aug 9 16:00:11 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* winnt.c (gen_stdcall_suffix): Round parameter size to PARM_BOUNDARY.
|
||
|
||
Thu Aug 8 17:42:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (output_toc): If we are emitting a reference to a
|
||
vtable, don't put in the section name, just use the symbol.
|
||
|
||
Wed Aug 7 19:03:36 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.md (casesi_jump): New pattern.
|
||
(casesi): Generate RTL to match it.
|
||
|
||
Wed Aug 7 14:10:07 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* ginclude/stddef.h (NULL): Use __null for G++.
|
||
|
||
Tue Aug 6 17:37:53 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (STACK_BOUNDARY): Always define as 64.
|
||
(ABI_STACK_BOUNDARY): Define as 64/128 based on the -mno-eabi
|
||
switch.
|
||
|
||
* rs6000.c (rs6000_stack_info): Use ABI_STACK_BOUNDARY, not
|
||
STACK_BOUNDARY. Define ABI_STACK_BOUNDARY as STACK_BOUNDARY #ifndef.
|
||
|
||
Tue Aug 6 14:29:43 1996 Doug Evans <dje@fallis.cygnus.com>
|
||
|
||
* gen-protos.c (overrides): New static local.
|
||
(add_hash,parse_fn_proto): New static functions.
|
||
(main): Add prototypes from SYS_PROTO_OVERRIDES to hash table before
|
||
parsing sys-protos.h. Reserve entry 0 in std_protos.
|
||
* alpha.h (SYS_PROTO_OVERRIDES): Define.
|
||
|
||
Mon Aug 5 16:53:36 1996 Doug Evans <dje@fallis.cygnus.com>
|
||
|
||
* sparc/t-splet (MULTILIB_OPTIONS): Add mbroken-saverestore.
|
||
(MULTILIB_DIRNAMES): Add brknsave.
|
||
|
||
* stor-layout.c (layout_record): Correct overflow test for 0 sized
|
||
fields.
|
||
|
||
Mon Aug 5 16:12:19 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* alpha.c (alpha_output_filename): When emitting stabs, don't
|
||
disable them if using GNU as.
|
||
(alpha_output_lineno): Likewise, when not using GNU as.
|
||
|
||
* sh.c (arith_reg_operand): Reject SUBREG of an invalid hard reg.
|
||
|
||
* sparc/lite.h (aoutos.h): Don't include it.
|
||
* configure (sparclite-*-aout*): Add aoutos.h to tm_file.
|
||
|
||
Sat Aug 3 23:13:55 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c (rtx_equal_for_field_assignment_p): Check for
|
||
get_last_value returning (CLOBBER (CONST_INT 0)).
|
||
|
||
Sat Aug 3 20:19:14 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i960.md (subsi3+1): Handle case where first operand is constant
|
||
but second operand is not.
|
||
|
||
* m68k/vxm68k.h (WCHAR_TYPE_SIZE): Undef, then define to 16.
|
||
|
||
Fri Aug 2 15:46:19 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa/pa-hpux.h (LINK_SPEC): Don't link in PA1.1 specific
|
||
libraries when creating shared libraries.
|
||
* pa/pa-hpux9.h, pa/pa-hpux10.h: Likewise.
|
||
|
||
Fri Aug 2 13:36:42 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (output_float_compare): fcomi should be followed by the
|
||
correct conditional jump instead of fcom/pfstsw/and/jne
|
||
(override_options): Added -mbranch-cost to set BRANCH_COST.
|
||
|
||
* i386.md (sgt+1,slt+1,sge+1,sle+1,bgt+1,blt+1,bge+1,ble+1,bleu+4)
|
||
Added TARGET_CMOVE check for fcomi.
|
||
(movsicc_1+1,movhicc_1+1): Added to handle the general case.
|
||
|
||
* i386.h (i386_branch_cost, i386_branch_cost_string): Added.
|
||
|
||
Fri Aug 2 11:53:55 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* sparc/vxsparc.h (CPP_PREDEFINES): Add `-DCPU=SPARC'.
|
||
|
||
Thu Aug 1 23:56:01 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (ASM_OUTPUT_INT): Remove all hacks for exception table.
|
||
|
||
Thu Aug 1 10:08:14 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
|
||
|
||
* m68k.h (RTX_COSTS, case PLUS): Get operand order right.
|
||
|
||
Wed Jul 31 15:06:46 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.md (negtf2,abstf2): Fix v9 case.
|
||
|
||
Wed Jul 31 09:49:25 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (ASM_OUTPUT_INT): Use an 'E%' prefix for items in
|
||
the exception table if TARGET_GAS && ! TARGET_PORTABLE_RUNTIME.
|
||
|
||
Tue Jul 30 15:37:31 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386/cygwin32.h (dbxcoff.h): Include.
|
||
(DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
|
||
Move definitions before include of dbxcoff.h.
|
||
(ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_MAIN_SOURCE_FILE_END): Delete.
|
||
(DBX_BLOCKS_FUNCTION_RELATIVE, DBX_FUNCTION_FIRST): Delete.
|
||
|
||
Tue Jul 30 15:03:53 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
|
||
|
||
* i960.md (eq reg (const_int 0)): New pattern.
|
||
|
||
Tue Jul 30 11:15:44 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (RETURN_ADDR_RTX): Offset is -20 from the frame, not +20!
|
||
|
||
Mon Jul 29 12:16:17 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix thinko in last change.
|
||
|
||
Fri Jul 26 18:19:47 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* dwarfout.c (output_bound_representation): Fix typo.
|
||
|
||
Thu Jul 25 16:00:10 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* expr.c (do_jump, case TRUTH_ORIF_EXPR): Ensure end of an
|
||
exception region comes after its start.
|
||
(do_jump, case TRUTH_ANDIF_EXPR): Likewise.
|
||
|
||
Thu Jul 25 13:36:42 1996 Stan Cox <coxs@equinox>
|
||
|
||
* i386.c (output_float_compare): Added support for Pentium Pro
|
||
fcomi instruction which sets EFLAGS instead of FPU Status Word.
|
||
|
||
Wed Jul 24 21:48:08 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* cse.c (canon_hash, cse_insn): MEM is not unchanging if it is
|
||
in the frame (since the temp slot might be reused).
|
||
|
||
Wed Jul 24 17:34:06 1996 J"orn Rennecke (amylaar@cygnus.com)
|
||
|
||
* sh.md (branch_true, branch_false, inverse_branch_true): Express
|
||
tests of the T bit as comparisons against zero, rather than one.
|
||
(inverse_branch_false, beq, bne, bgt, blt, ble, bge, bgtu): Likewise.
|
||
(bltu, bgeu, bleu, casesi): Likewise.
|
||
|
||
Wed Jul 24 15:58:06 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md: (mov{sf,df,xf}cc{,_1}): New patterns for P6 FP cmove.
|
||
* i386.c (put_condition_code, print_operand, output_fp_cc0_set):
|
||
Support fcmov suffixes.
|
||
|
||
Wed Jul 24 10:53:38 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (move_operand): Relax "mode" test. Allow scaled
|
||
indexed addressing modes.
|
||
(output_fp_move_double): Tweak output strings to work with updated
|
||
'F' and 'M' output modifiers.
|
||
(print_operand): Collapse 'F' and 'M' into a single hunk of code.
|
||
For auto-increment modes output "s,ma" and "s,mb".
|
||
For scaled indexing modes output "x,s"
|
||
For other addresses, output nothing for 'M' and "s" for 'F'.
|
||
* pa.h (EXTRA_CONSTRAINT): Don't accept scaled indexed addresses
|
||
for 'Q' and 'T'. Do accept scaled indexed addresses for 'R'.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Accept scaled indexed addresses
|
||
for SFmode and DFmode.
|
||
* pa.md: Remove all scaled indexed load patterns.
|
||
(movsi patterns): Accept scaled indexed addresses in some
|
||
cases. Update output strings for updated 'M' and 'F' output modifiers.
|
||
(movhi, movqi, movsf, movdf, movdi patterns): Likewise.
|
||
|
||
Tue Jul 23 23:10:41 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.h (struct tree_int_cst): Add field for TREE_CST_RTL.
|
||
* varasm.c (decode_addr_const, output_constant_def): AllowINTEGER_CST.
|
||
|
||
Tue Jul 23 16:42:09 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.c (reg_unused_after): Handle JUMP_INSN inside a sequence.
|
||
|
||
Tue Jul 23 16:33:25 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* Make exception handling work better when optimizations are on.
|
||
* except.c, except.h: New files.
|
||
* Makefile.in (OBJS): Add except.o.
|
||
(except.o): Add.
|
||
(stmt.o, final.o): Add except.h.
|
||
* rtl.c (note_insn_name): Add NOTE_INSN_EH_REGION_{BEG,END}.
|
||
* rtl.h: Likewise.
|
||
* arm.h (MASK_RETURN_ADDR): Define.
|
||
* pa.h (MASK_RETURN_ADDR, RETURN_ADDR_RTX): New macros.
|
||
* sparc.h (DOESNT_NEED_UNWINDER): Define if not doing a flat function.
|
||
* mips.h (RETURN_ADDR_RTX): Improve.
|
||
* vax.h (RETURN_ADDR_RTX): Improve.
|
||
* toplev.c (rest_of_compilation): Use find_handler_labels.
|
||
(main, interim_eh{,_hook}): Remove interim_eh_hook support.
|
||
(flag_exceptions): New flag; also add to table.
|
||
(compile_file): Emit the exception table in the backend now.
|
||
* final.c (final_scan_insn): Support ASM_OUTPUT_EH_REGION_{BEG,END}.
|
||
(final_scan_insn): Redo handler labels, implement
|
||
NOTE_INSN_EH_REGION_BEG and NOTE_INSN_EH_REGION_END and use them
|
||
instead of CODE_LABELs.
|
||
(final): Add call to check_handler_labels.
|
||
* libgcc2.c (L_eh): Add support for EH_TABLE_LOOKUP.
|
||
* sparc.md (return): Add a reference to the return address register.
|
||
* flow.c (find_basic_blocks): Add support for handler_labels.
|
||
* loop.c (find_and_verify_loops): Likewise.
|
||
* jump.c (jump_optimize): Likewise.
|
||
Add call to check_handler_labels. Add call to exception_optimize.
|
||
* sched.c (sched_analyze): Smuggle exception region notes around.
|
||
(unlink_notes, reemit_notes, schedule_block): Likewise.
|
||
(sched_analyze): Add extra element since we remove two at a time.
|
||
* integrate.c (save_for_inline_copying): Add support for exception
|
||
regions.
|
||
(expand_inline_function): Likewise.
|
||
(function_cannot_inline_p): Don't inline functions that have EH
|
||
regions before NOTE_INSN_FUNCTION_BEG.
|
||
(finish_inline): Use FIRST_FUNCTION_INSN, not NEXT_INSN.
|
||
* function.c (expand_start_all_catch): New function.
|
||
* function.h: Add exception handling support information.
|
||
* expr.c (expand_expr, {defer,expand}_cleanups_to, do_jump): Transform
|
||
interim_eh_hook into calls to expand_ehregion_{start,end}.
|
||
* stmt.c (expand_{decl_cleanup,cleanups}): Likewise.
|
||
(init_stmt_for_function): Call init_eh.
|
||
(save_stmt_status): Call save_eh_status.
|
||
(restore_stmt_status): Call restore_eh_status.
|
||
* expr.h (throw_libfunc): Add.
|
||
* optabs.c (throw_libfunc): Initialize.
|
||
* print-rtl.c (print_rtx): Add support for exception regions.
|
||
* rs6000.c (EXCEPTION_SECTION): Define.
|
||
* output.h (exception_section): Declare.
|
||
* varasm.c (exception_section): Define.
|
||
* i386.c, i960.c, rs6000.c: Include except.h for function.h.
|
||
* c-pragma.c, emit-rtl.c, expr.c, final.c, flow.c: Include except.h.
|
||
* function.c, integrate.c, jump.c, loop.c, objc-act.c: Likewise.
|
||
* stmt.c, stor-layout.c, toplev.c, tree.c, varasm.c: Likewise.
|
||
|
||
Tue Jul 23 12:32:54 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (rs6000_replace_regno): Set pic_offset_table_rtx so
|
||
that other phases will use the PIC register instead of the
|
||
placeholder.
|
||
|
||
* rs6000.md (movsi_got*): Eliminate -fPIC code, keep -fpic code.
|
||
(movsi): Only call movsi_got if -fpic, not -fPIC.
|
||
|
||
* sysv4.h (OVERRIDE_OPTIONS): Improve error messages. Always set
|
||
-msdata=data by default, even if -fpic/-fPIC/-mrelocatable. Treat
|
||
-fPIC the same as -mrelocatable-lib and vica versa.
|
||
|
||
* t-ppcgas: (MULTILIB_*): Use -mreloctable-lib, instead of
|
||
-mrelocatable. Map Solaris into mcall-sysv-noeabi case. Build
|
||
-mrelocatable-lib libraries under non-eabi case. When linking, if
|
||
-fpic, -fPIC, or -shared, link in the -mrelocatable-lib libraries.
|
||
|
||
Mon Jul 22 19:34:20 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* iris6.h (ASM_SPEC): Change {% to %{.
|
||
|
||
* dwarf2out.c (output_call_frame_info): Change FDE CIE offset to
|
||
be section name rather than 0.
|
||
(gen_subprogram_die): Only emit DW_AT_external if origin is NULL.
|
||
Only call equate_decl_number_to_die if origin is NULL.
|
||
(dwarfout_begin_function): In code that computes offset of frame
|
||
pointer, change 4 to UNITS_PER_WORD.
|
||
|
||
* combine.c (undo_all): Clear previous_undos field.
|
||
|
||
Mon Jul 22 19:10:45 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* configure: Don't change target_alias to target in Makefile.
|
||
|
||
Sat Jul 20 09:28:38 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* dwarfout.c (output_bound_representation): Treat default case
|
||
as variable bounds, then look inside for SAVE_EXPR.
|
||
|
||
* mips.h (INITIALIZE_TRAMPOLINE): Use `_flush_cache'; flush data
|
||
cache too.
|
||
|
||
Sat Jul 20 09:24:13 1996 Marco Walther (Marco.Walther@mch.sni.de).
|
||
|
||
* configure (mips-sni-sysv4): New target.
|
||
* mips/sni-gas.h, mips/sni-svr4.h, mips/x-sni-svr4: New files.
|
||
|
||
Fri Jul 19 17:44:13 1996 Stan Coxs <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md: (leave): Clobbers esp and ebp.
|
||
|
||
* i386.h: (TARGET_USE_Q_REG): Support inline strlen on PentiumPro
|
||
|
||
Fri Jul 19 15:56:18 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* m68k/t-m68kbare (MULTILIB_OPTIONS): Add m5200.
|
||
(MULTILIB_EXCEPTIONS): Define.
|
||
* m68k/lb1sf68.asm: Add MCF5200 support.
|
||
* m68k.md (adddi_sexthishl32): Set condition to !TARGET_5200.
|
||
(subdi_sexthishl32, ashrdi3, ashrhi3): Likewise.
|
||
(negdi2): Change into define_expand.
|
||
(negdi2_internal): Rename from old negdi2; condition now !TARGET_5200.
|
||
(negdi2_5200): New insn.
|
||
* m68k.c (output_function_prologue): Don't use add.w if TARGET_5200.
|
||
(output_function_epilogue): Likewise.
|
||
|
||
* m68k.md (movqi): Remove complex cases which move between address reg
|
||
and memory; rely on secondary reloads instead.
|
||
|
||
Fri Jul 19 12:22:50 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* fixproto (std_files): Add utime.h.
|
||
|
||
Fri Jul 19 10:59:46 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k/m68kemb.h: Remove '\' at EOF.
|
||
|
||
Fri Jul 19 09:59:00 1996 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* m68k/coff.h (STARTFILE_SPEC): Add #undef before definition.
|
||
|
||
Fri Jul 19 09:44:45 1996 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* m68k.h (LEGITIMATE_INDEX_P): Coldfire does not have scale
|
||
by 8 addressing modes.
|
||
|
||
* m68k-none.h: Use MASK_* macros instead of explicit constants.
|
||
|
||
Fri Jul 19 09:08:53 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k.md (negdi2): Undo last change: don't apply neg to address regs.
|
||
|
||
Fri Jul 19 09:03:01 1996 Robert Wilhelm (rwilhelm@Physik.TU-Muenchen.DE)
|
||
|
||
* toplev.c (main): Correct typo in error message.
|
||
|
||
Thu Jul 18 20:29:33 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (OBJS): Add dwarf2out.o.
|
||
(dwarf2out.o): New rule.
|
||
* dwarf2.h, dwarf2out.c: New files.
|
||
* dwarfout.c: Check DWARF_VERSION macro.
|
||
|
||
* mips/iris6.h (DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
|
||
Move after header files are included.
|
||
(iris5.h): Include instead of iris5gas.h.
|
||
(MACHINE_TYPE): Change 5.x to 6.x.
|
||
(DEBUG_SECTION, LINE_SECTION): Add debug_ to name, fix attributes.
|
||
(SFNAMES_SECTION, SRCINFO_SECTION, MACINFO_SECTION, PUBNAMES_SECTION,
|
||
ARANGES_SECTION): Fix attributes.
|
||
(DWARF_VERSION, MIPS_DEBUGGING_INFO, ASM_DECLARE_FUNCTION_NAME,
|
||
ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED,
|
||
FRAME_SECTION, ABBREV_SECTION): Define.
|
||
(DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, MIPS_DEBUGGING_INFO,
|
||
DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_INFO): Delete undefs at
|
||
end of file.
|
||
* mips.c (function_{pro,epi}logue): Use FUNCTION_NAME_ALREADY_DECLARED.
|
||
|
||
Thu Jul 18 19:24:19 1996 David Mosberger-Tang <davidm@azstarnet.com>
|
||
|
||
* alpha/elf.h (INT_ASM_OP): Change from ".long" to ".quad".
|
||
|
||
Thu Jul 18 19:20:58 1996 Ulrich Drepper <drepper@myware.rz.uni-karlsruhe.de>
|
||
|
||
* stddef.h: Undefine __need_wint_t.
|
||
|
||
Thu Jul 18 19:06:35 1996 J.T. Conklin <jtc@hippo.cygnus.com>
|
||
|
||
* longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
|
||
for the '020, '030, '040, and '332. Define count_leading_zeros
|
||
for the '020, '030, '040, and '060.
|
||
|
||
* m68k.md: Add TARGET_5200 to conditions which determine whether
|
||
the extbl instruction is emitted.
|
||
(mulsi3): Enable pattern with TARGET_5200.
|
||
|
||
* m68k.md (add patterns): Don't use two addqw instructions when
|
||
adding small (8 < N <= 16) integers to address registers on 68040.
|
||
|
||
Thu Jul 18 18:06:15 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* configure: Write target_alias in Makefile.
|
||
(i[3456]86-*-sco3.2v4*): Set truncate_target.
|
||
* Makefile.in (target_alias): New and used for all current uses
|
||
of `target'.
|
||
|
||
Thu Jul 18 17:46:02 1996 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* gcc.c (default_compilers): Extra Fortran extensions.
|
||
|
||
Wed Jul 17 10:28:10 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
|
||
|
||
* expmed.c (expand_mult_highpart): Revert last change.
|
||
|
||
Tue Jul 16 12:51:59 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/sparc-rtems.h: #include "sparc/sparc-aout.h" -> sparc/aout.h.
|
||
|
||
Mon Jul 15 14:42:06 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/iris6.h (LINK_SPEC): Add -woff 84.
|
||
|
||
Fri Jul 12 17:34:01 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/eabi.asm (__eabi): Convert pointers in the Global Offset
|
||
Table if -mrelocatable. Move loops into separate subroutines for
|
||
ease of debugging. Reorganize code somewhat.
|
||
|
||
* rs6000/rs6000.c (small_data_operand): Allow small data under
|
||
Solaris.
|
||
|
||
* rs6000/sol-c0.c (_start): Initialize r13 to point to the small
|
||
data operand.
|
||
|
||
* rs6000/sol-c{i,n}.asm (_init, _fini): Enable shared library
|
||
support.
|
||
|
||
* rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
|
||
-msdata=data, even if -fpic or -mrelocatable. Allow -mrelocatable
|
||
and -mno-eabi.
|
||
(CPP_SYSV_SPEC): If -fpic, define __PIC__ and __pic__ to 1. If
|
||
-fPIC, define them to 2.
|
||
(CPP_ENDIAN_SPEC): Push definition of macros for specific endian
|
||
targets to new specs.
|
||
(CPP_ENDIAN_DEFAULT_SPEC): Define to use CPP_ENDIAN_BIG_SPEC.
|
||
(CPP_ENDIAN_{LITTLE,BIG,SOLARIS}_SPEC): New specs for little
|
||
endian mode, big endian mode, and Solaris, which can't define
|
||
_LITTLE_ENDIAN. Define __LITTLE_ENDIAN__ in all cases for little
|
||
endian systems. Define __BIG_ENDIAN__ in all cases for big endian
|
||
systems.
|
||
(SUBTARGET_EXTRA_SPECS): Add new specs.
|
||
|
||
* rs6000/{eabile,sysv4le}.h (CPP_ENDIAN_DEFAULT_SPEC): Define to
|
||
use CPP_ENDIAN_LITTLE_SPEC.
|
||
|
||
* rs6000/sol2.h (CPP_ENDIAN_LITTLE_SPEC): Define as
|
||
CPP_ENDIAN_SOLARIS_SPEC so that _LITTLE_ENDIAN is not define.
|
||
|
||
Fri Jul 12 17:34:01 1996 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.c (function_arg): Add IBM AIX XL compiler broken FP arg
|
||
passing compatibility mode.
|
||
* rs6000.h (TARGET_XL_CALL): Define default.
|
||
* aix3newas.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
|
||
* aix41.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
|
||
|
||
Fri Jul 12 15:04:43 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* arm.h (ASM_OUTPUT_MI_THUNK): Handle fns returning structures.
|
||
|
||
* ptx4.h ({ASM,LINK}_SPEC): %{V} %{v:%{!V:-V}} -> %{v:-V}.
|
||
* svr4.h ({ASM,LINK}_SPEC): Likewise.
|
||
* dsp16xx/dsp16xx.h ({ASM,LINK}_SPEC): Likewise.
|
||
* i386/dgux.h (LINK_SPEC): Likewise.
|
||
* i386/sol2.h (LINK_SPEC): Likewise.
|
||
* m88k/dgux.h ({LINK,ASM_CPU}_SPEC): Likewise.
|
||
* sparc/sol2.h ({ASM,LINK}_SPEC): Likewise.
|
||
* sparc/sp64-elf.h ({ASM,LINK}_SPEC): Likewise.
|
||
* sparc/sysv4.h (ASM_SPEC): Likewise.
|
||
|
||
Thu Jul 11 17:29:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.h (GOT_TOC_REGNUM): New macro for r2, which is used as a
|
||
marker for the GOT/TOC register to be allocated later.
|
||
(MACHINE_DEPENDENT_REORG): Call rs6000_reorg.
|
||
(rs6000_reorg): Add declaration.
|
||
|
||
* rs6000.c (rs6000_got_register): Return REG 2, not a pseudo
|
||
register in order to work with inlined functions.
|
||
(rs6000_replace_regno): New function to replace a register with a
|
||
new pseudo register.
|
||
(rs6000_finalize_pic): Loop through all insns, replacing any
|
||
GOT_TOC_REGNUM registers with new pseudo register, and adding
|
||
initialization of GOT register if it was created.
|
||
(rs6000_reorg): New function to check whether the GOT_TOC register
|
||
marker was removed.
|
||
|
||
Thu Jul 11 10:12:50 1996 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.h (OK_FOR_U): If generating H8/S code, accept
|
||
SYMBOL_REF and SYMBOL_REF + CONST_INT.
|
||
|
||
* h8300.c ({shift,rotate}_one): Emit tabs between opcode and
|
||
operands to be consistent with the rest of the compiler.
|
||
(shift_two, rotate_two): Define.
|
||
(get_shift_alg): Accept new argument "assembler2_p" for
|
||
rotate/shift by two insns. All callers changed. Rework
|
||
to generate more efficient code on the H8/300, H8/300H, and H8/S.
|
||
Try to simplify somewhat.
|
||
(emit_a_shift): Use shift-by-two insns when they're available.
|
||
Emit tabs between opcode and operands to be consistent with
|
||
the rest of the compiler.
|
||
|
||
Wed Jul 10 19:32:17 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/iris6.h (ASM_SPEC): Correct typos in Jun 18 change.
|
||
|
||
Wed Jul 10 18:56:38 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* sh.c (machine_dependent_reorg): When looking for instruction that
|
||
sets register in LOG_LINKS, skip link if REG_NOTE_KIND is not zero.
|
||
|
||
Wed Jul 10 15:02:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (rs6000_got_register): New function to return a pseudo
|
||
register to hold the pic register. Abort if reload is in progress
|
||
or done.
|
||
(num_insns_constant): Allow SFmode and DFmode.
|
||
|
||
* rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Redo 'G' so that it
|
||
means a constant that takes exactly two insns.
|
||
(rs6000_got_register): Add declaration.
|
||
|
||
* rs6000.md (movsi_got): Move setup of pic register to
|
||
rs6000_got_register.
|
||
(movsf): If -msoft-float, don't force constants to memory.
|
||
(mov{sf,df} insns): If soft floating point, allow any constant to
|
||
be loaded. Add define_splits that allow the 604 to use both
|
||
integer units for loading constants. Make sure insn length is
|
||
correct.
|
||
|
||
Tue Jul 9 17:05:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (easy_fp_constant): All FP constants are considered
|
||
hard for -fpic and hardware floating point, so that the GOT
|
||
register is created.
|
||
|
||
Tue Jul 9 15:21:27 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* x-iris6 (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
|
||
|
||
Mon Jul 8 18:00:33 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.h (enum reg_class): Add new class GENERAL_FP_REGS.
|
||
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
|
||
|
||
* cse.c (note_mem_written): Varying structure memory access with
|
||
AND address can alias scalars.
|
||
* sched.c ({true,anti,output}_dependence): Likewise.
|
||
|
||
* sh.c (calc_live_regs): For pragma_interrupt case, exclude call
|
||
clobbered regs that are fixed, explicitly add MACH_REG and MACL_REG.
|
||
|
||
* calls.c (expand_call): For assign_stack_temp call in PARALLEL case,
|
||
get mode from type instead of using BLKmode.
|
||
* function.c (aggregate_value_p): If hard_function_value returns
|
||
a non-REG, then return 0.
|
||
|
||
* mips.c (function_arg): Add explicit checks for FIELD_DECLs.
|
||
(mips_function_value): Add explicit checks for FIELD_DECLs, and save
|
||
them in the array FIELDS. When returning structure with 1 float field,
|
||
enclose it in a PARALLEL and set the PARALLEL mode correctly.
|
||
* mips.md (call_value): Call gen_call_value_multiple_internal0
|
||
only if there are multiple return values. Strip the PARALLEL off
|
||
if there is only one return value.
|
||
|
||
Mon Jul 8 16:27:33 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* First cut at support for the H8/S.
|
||
* h8300.c (h8300_init_once): Handle the H8/S (treat it
|
||
like the H8/300H).
|
||
(dosize, adds_subs_operand, one_insn_adds_subs_operand): Likewise.
|
||
(output_adds_subs, const_costs, print_operand): Likewise.
|
||
(output_simode_bld, h8300_adjust_insn_length): Likewise.
|
||
(push_order, pop_order): Reverse.
|
||
(function_prologue): Try to use ldm.l and stm.l insns
|
||
on the H8/S. Minor cleanups.
|
||
(function_epilogue): Likewise.
|
||
(asm_file_start): Emit ".h8300s" when compiling for the H8/S.
|
||
* h8300/h8300.h (CPP_SPEC): Handle the H8/S.
|
||
(TARGET_H8300S): New target.
|
||
(TARGET_SWITCHES): Add "-ms" and "-mno-s".
|
||
(BITS_PER_WORD): Handle the H8/S (treat it like the H8/300H).
|
||
(UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY): Likewise.
|
||
(BIGGEST_ALIGNMENT, BIGGEST_FIELD_ALIGNMENT): Likewise.
|
||
(INITIALIZE_TRAMPOLINE, MOVE_MAX, Pmode): Likewise.
|
||
* h8300.md: Handle H8/S just like H8/300H
|
||
throughout the entire file.
|
||
* t-h8300 (MULTILIB_OPTIONS): Build "-ms" libraries too.
|
||
(MULTILIB_DIRNAMES): Put H8/S libraries in "h8300s" directory.
|
||
* h8300/lib1funcs.asm: Emit ".h8300s" pseudo-op when generating
|
||
h8300s object files. Otherwise treat the H8/S just like the H8/300H.
|
||
* ginclude/stdarg.h: Handle the H8/S.
|
||
* ginclude/varargs.h: Likewise.
|
||
|
||
Mon Jul 8 14:50:58 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc/sol2.h (LINK_SPEC): Don't pass `-z text' if
|
||
-shared -mimpure-text.
|
||
|
||
Sun Jul 7 18:03:46 1996 Torbjorn Granlund <tege@noisy.tmg.se>
|
||
|
||
* m68k/lb1sf68.asm (__udivsi3): Use faster tstw instead of btst.
|
||
|
||
Thu Jul 4 11:44:39 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (get_inner_reference): Delete using alternate mode for
|
||
bitfield; we don't make bitfields anymore if not needed.
|
||
|
||
Wed Jul 3 18:23:17 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* c-common.c (record_function_format): Define as static.
|
||
|
||
* collect2.c (at SUNOS4_SHARED_LIBRARIES): Fix reference to unistd.h.
|
||
|
||
Wed Jul 3 17:35:20 1996 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* c-typeck.c (default_conversion): Add bitfield promotions.
|
||
|
||
Wed Jul 3 17:09:22 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* gcc.c (default_compilers): Add null entries for languages we
|
||
heard of.
|
||
(main): If found one of those entries, say compiler not installed.
|
||
|
||
Wed Jul 3 12:52:53 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa.c (fmpy_operands): Define.
|
||
(combinable_{fmpy,add,fsub}): New function.
|
||
* pa.md (parallel_addb, parallel_movb): New patterns.
|
||
(fmpyadd, fmpysub): New patterns.
|
||
|
||
* pa.c (fmpy{add,sub}operands): Tighten checks. Allow SFmode.
|
||
|
||
Tue Jul 2 18:57:15 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa.c (ireg_or_int5_operand): New function.
|
||
(output_parallel_movb, output_parallel_addb): Likewise.
|
||
(combinable_copy, combinable_add, following_call): Likewise.
|
||
(pa_adjust_insn_length): Handle parallel unconditional branches.
|
||
(output_movb): Handle case were destination is %sar.
|
||
* pa.h: Declare new functions.
|
||
* pa.md (parallel_branch): New "type" attribute.
|
||
(delay slot descriptions): Don't allow "parallel_branches" in
|
||
delay slots. Fill "parallel_branches" like "branch" insns.
|
||
(movb patterns): Handle %sar as destination register.
|
||
|
||
* expr.c (compare): If function pointers need canonicalization
|
||
before comparisons, canonicalize them.
|
||
(do_store_flag): Do not use an sCC insn for a function pointer
|
||
comparison if function pointers need canonicalization before
|
||
comparing.
|
||
|
||
Tue Jul 2 17:56:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h ({START,END}FILE_LINUX_SPEC): If -mnewlib is not
|
||
used, use the crtbegin/crtend that 2.7.2 used.
|
||
|
||
Sat Jun 29 07:10:02 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.h (INIT_EXPANDERS): Define, call rs6000_init_expanders.
|
||
(RS6000_VARARGS_OFFSET): fpmem area no longer next to outgoing
|
||
argument area.
|
||
(STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Likewise.
|
||
(frame_pointer_needed): Add external declaration.
|
||
(rs6000_{save,restore}_machine_status): Ditto.
|
||
(rs6000_init_expanders): Likewise.
|
||
|
||
* rs6000.c (rs6000_{save,restore}_machine_status): New functions
|
||
to save and restore the globals needed on a per function basis.
|
||
(rs6000_init_expanders): Initialize globals needed on a per
|
||
function basis, and set up so the above save/restore functions are
|
||
called when processing nested functions.
|
||
(output_epilog): Don't initialize per function globals here.
|
||
(rs6000_stack_info): Change where fpmem save area is to below local
|
||
variables, and not just below the outgoing argument area.
|
||
|
||
* rs6000.md (floatsidf2*, fix_truncdfsi2*): Rewrite conversion
|
||
routines to track new location of the fpmem save area. Allocate a
|
||
new base register temp for the routines in case the stack frame is
|
||
more than 32k in size.
|
||
|
||
Sat Jun 29 05:44:37 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* explow.c (convert_memory_address, case PLUS): Fix error in
|
||
last change.
|
||
|
||
Fri Jun 28 23:30:48 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* reload1.c (choose_reload_regs): Properly mark spill registers
|
||
as in use for inherited reloads.
|
||
|
||
Fri Jun 28 18:37:20 1996 Stephen L Moshier <moshier@world.std.com>
|
||
|
||
* objc/sarray.c (ifdef __alpha__): Don't declare `free'.
|
||
* objc/thr-decosf1.c (objc_thread_id): Use pthread_getunique_np
|
||
to obtain a thread ID value.
|
||
(objc_mutex_allocate): Cast mutex->owner to _objc_thread_t.
|
||
(objc_mutex_{deallocate,unlock}): Likewise.
|
||
(objc_mutex_{try,un,}lock): Declare thread_id as _objc_thread_t.
|
||
|
||
* real.c (asctoeg): `0.0eX' is zero, regardless of the exponent X.
|
||
|
||
Fri Jun 28 18:33:13 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* vax.md (rotl): Remove extraneous `$'.
|
||
|
||
* combine.c (previous_num_undos): Deleted variable.
|
||
(MAX_UNDO): Deleted macro.
|
||
(struct undo): New field, next.
|
||
(struct undobuf): Deleted num_undos and undo.
|
||
New fields undos, frees, and previous_undos.
|
||
(SUBST, SUBST_INT): Rework to allocate memory and chain undo entries.
|
||
(combine_instructions): Initialize undobuf.{undos,previous_undos},
|
||
not undobuf.num_undo and previous_num_undos.
|
||
(try_combine): Likewise.
|
||
(undo_all, gen_rtx_combine): Rework to use new data structures.
|
||
|
||
Fri Jun 28 16:48:25 1996 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/sendmsg.c (__objc_block_forward): New function.
|
||
(get_imp, objc_msg_lookup): Use different forwarding function
|
||
when the returning a floating point value.
|
||
|
||
Fri Jun 28 16:25:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* configure: Allow multiple makefile frags.
|
||
(i[3456]86-*-linux*oldld*): Add i386/t-crtstuff as target frag.
|
||
(i[3456]86-*-linux*aout*, i[3456]86-*-linux*): Likewise.
|
||
(m68k-*-linux*aout*): Add t-linux-aout as target frag.
|
||
(m68k-*-linux*): Add t-linux as target frag.
|
||
* Makefile.in (Makefile): xmake_file and tmake_file now already
|
||
contain the $(srcdir)/config prefix.
|
||
|
||
* config/t-linux (BOOT_CFLAGS): Removed, no longer necessary.
|
||
(CRTSTUFF_T_CFLAGS): Don't define.
|
||
(CRTSTUFF_T_CFLAGS_S): Define this instead.
|
||
* config/t-linux-aout (BOOT_CFLAGS): Removed.
|
||
* m68k/t-linux: Remove variables now in t-linux.
|
||
|
||
Fri Jun 28 15:06:05 1996 John F. Carr <jfc@mit.edu>
|
||
|
||
* alpha.c (alpha_emit_conditional_move): Emit correct code when
|
||
incoming comparison code is NE.
|
||
|
||
Fri Jun 28 14:35:45 1996 J.T. Conklin <jtc@hippo.cygnus.com>
|
||
|
||
* c-decl.c (init_decl_processing): Register __builtin_memset
|
||
and memset as builtin functions.
|
||
* expr.c (expand_builtin, case BUILTIN_MEMSET): Open code memset
|
||
where val == 0.
|
||
|
||
Fri Jun 28 14:10:03 1996 Richard Henderson <rth@tamu.edu>
|
||
|
||
* alpha/linux.h (FUNCTION_PROFILER): _mcount has non-standard linkage.
|
||
* alpha/elf.h (LINK_SPEC): Bring emulation name into sync
|
||
with Cygnus snapshot.
|
||
|
||
* alpha.h ({MASK,TARGET}_BUILD_CONSTANTS): New macros.
|
||
(TARGET_SWITCHES): New target option build-constants.
|
||
* alpha.c (alpha_emit_set_long_const): New function.
|
||
* alpha.md (movdi): Call it.
|
||
* expmed.c (expand_mult_highpart): Use op1 not wide_op1 in
|
||
expansion of mul_highpart.
|
||
|
||
* alpha.c (output_{pro,epi}log): Flag_inhibit_size_directive
|
||
should supress .ent, .end, and accompanying directives.
|
||
(alpha_output_lineno): Fix polarity on GAS test.
|
||
* alpha.h (NO_DBX_FUNCTION_END): New macro.
|
||
* dbxout.c (dbxout_function): Respect NO_DBX_FUNCTION_END.
|
||
* alpha/elf.h: New file.
|
||
* alpha/linux.h (INITIALIZE_TRAMPOLINE): New definition.
|
||
* alpha/xm-linux.h (HAVE_STRERROR): Define.
|
||
* configure (alpha*-linux*ecoff*): New target, was alpha-*-linux*.
|
||
(alpha-*-linux*): Use elf.h.
|
||
* crtstuff.c (init_dummy): Only i386-linux (at most)
|
||
needs ___brk_addr hack.
|
||
|
||
Thu Jun 27 20:23:30 1996 Jon Buller (jonb@metronet.com)
|
||
|
||
* ns32k.c (split_di): New; from i386.c.
|
||
* ns32k.md (adddi3, subdi3, negdi3): New patterns.
|
||
|
||
Thu Jun 27 19:42:50 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* combine.c (force_to_mode, case NE): Fix typo and logical error.
|
||
(simplify_comparison): Don't swap args if op1 is CONST_INT.
|
||
|
||
Thu Jun 27 18:49:35 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expmed.c (extract_bit_field): Check TRULY_NOOP_TRUNCATION before
|
||
making a SUBREG of a REG.
|
||
|
||
Thu Jun 27 11:03:59 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* mips.h (CC1_SPEC): Put spaces between the -mips* cases.
|
||
* mips/osfrose.h (CC1_SPEC): Likewise.
|
||
|
||
* sh.c (output_branch): Don't call ADJUST_INSN_LENGTH if insn is
|
||
inside sequence.
|
||
|
||
Wed Jun 26 19:09:43 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa.h (CMP_PSI): Delete.
|
||
(FUNCTION_POINTER_COMPARISON_MODE): Likewise.
|
||
* pa.md (cmppsi): Delete expander.
|
||
(canonicalize_funcptr_for_compare): Renamed from plabel_dereference,
|
||
turned into an expander + anonymous pattern.
|
||
|
||
Tue Jun 25 22:36:11 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* gcc.c (PEXECUTE_VERBOSE): Define.
|
||
(execute): Pass PEXECUTE_VERBOSE to pexecute if -v.
|
||
|
||
Tue Jun 25 12:23:54 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.h (FINALIZE_PIC): Define to call rs6000_finalize_pic.
|
||
(rs6000_finalize_pic): Add declaration.
|
||
(svr4_traceback): Delete unused declaration.
|
||
|
||
* rs6000.md (movsi_got): Don't emit gen_init_v4_pic insn.
|
||
(V.4 call insns): Do not use @plt for PIC calls.
|
||
|
||
* rs6000.c (print_operand_address): Handle LABEL_REF just like
|
||
SYMBOL_REF.
|
||
(rs6000_finalize_pic): Define, emit the gen_init_v4_pic insn
|
||
before all other insns if needed for V.4 PIC calls.
|
||
|
||
* eabi-ci.asm (_GLOBAL_OFFSET_TABLE_): Do not provide a default
|
||
definition, since it interferes with the linker generated version.
|
||
|
||
Tue Jun 25 01:17:50 1996 Jeffrey A. Law <law@cygnsu.com>
|
||
|
||
* h8300.c (function_prologue): Update "monitor" prologues.
|
||
(function_epilogue): Similarly.
|
||
|
||
* pa.h (PARSE_LDD_OUTPUT): Handle dynamic libraries that are
|
||
loaded "statically".
|
||
|
||
Mon Jun 24 19:48:36 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
|
||
|
||
* configure ({i386,i960,m68k,powerpc,sparc}-rtems): New targets.
|
||
* i386/go32-rtems.h, i386/i386-rtems.h: New files.
|
||
* i960/i960-rtems.h: New file.
|
||
* m68k/m68k-rtems.h: New file.
|
||
* rs6000/powerpc-rtems.h: New file.
|
||
* sparc/sparc-rtems.h: New file.
|
||
|
||
Mon Jun 24 23:09:22 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cccp.c: (create_definition): Diagnose `#define #' only once.
|
||
|
||
Mon Jun 24 11:42:58 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386/cygwin32.h, rs6000/cygwin32.h (CPP_PREDEFINES): For consistency,
|
||
change to define WIN32, WINNT, and CYGWIN32.
|
||
|
||
Mon Jun 24 10:46:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (floatsidf2*): Move the xor of the argument into the
|
||
define_insn, since it confuses inline function expands.
|
||
|
||
Fri Jun 21 20:40:17 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (call_internal1, call_value_internal1): Delete obsolete code.
|
||
(call_internal2, call_value_internal2, call_value_multiple_internal2):
|
||
Delete obsolete code. Explicitly load SYMBOL_REF into register.
|
||
(call_value): Change Pmode to SImode in gen_call_value_internal0 call.
|
||
|
||
Thu Jun 20 12:20:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* configure (*-aix*): If building a cross compiler, use t-xnewas
|
||
instead of t-newas.
|
||
|
||
* rs6000.c (num_insns_constant_wide): Fix typo if HOST_WIDE_INT
|
||
has more than 32 bits.
|
||
|
||
Wed Jun 19 17:50:33 1996 Richard Henderson <richard@atheist.tamu.edu>
|
||
|
||
* combine.c (move_deaths): New parameter maybe_kill_insn.
|
||
Don't move note if reg killed by maybe_kill_insn.
|
||
(try_combine): Pass new arg to move_deaths.
|
||
|
||
Wed Jun 19 10:44:47 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* toplev.c (flag_keep_static_consts): Define.
|
||
(f_options): Add "keep-static-consts" entry.
|
||
(compile_file): Check it in addition to !optimize for emitting
|
||
static const variables.
|
||
|
||
Tue Jun 18 23:37:20 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* i386/cygwin32.h (ASM_OUTPUT_SOURCE_LINE): Local symbols begin with L.
|
||
|
||
Tue Jun 18 12:00:11 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (asm_output_aligned_bss): Don't emit a skip of size 0.
|
||
|
||
Tue Jun 18 06:24:28 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* integrate.c (expand_inline_function): Add missing call to
|
||
force_operand when getting structure_value_addr into reg.
|
||
|
||
* alpha.c (override_options): Allow EV4/5 or 21064/21164 for cpu.
|
||
Clean up handling of floating-point options.
|
||
* alpha.h (TARGET_SWITCHES): Have all -mieee options turn
|
||
on MASK_IEEE_CONFORMANT.
|
||
(TARGET_DEFAULT): Use symbolic value.
|
||
* alpha.md: When not involving named pattern, update condition
|
||
to include alpha_tp != ALPHA_TP_INSN.
|
||
Don't do float_extend as part of other pattern when ALPHA_TP_INSN.
|
||
(extendsfsd2): Split into two patterns, depending on
|
||
value of alpha_tp.
|
||
|
||
* mips/iris6.h (ASM_SPEC): Treat -o32 as -32 and -n64 same as -64.
|
||
* mips.c (override_options): Likewise.
|
||
|
||
* genattrtab.c (fatal): Declare A1 and A2 as char *.
|
||
|
||
* function.c (find_temp_slot_from_address): Check for overlap
|
||
from BASE_OFFSET if X is PLUS of virtual_stack_vars_rtx and const.
|
||
|
||
* flow.c (flow_analysis): Fix typo in last change.
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_{SET,LONG}JMP): Properly
|
||
handle case when ptr_mode != Pmode.
|
||
|
||
* combine.c (try_combine): Don't use split if dest of new I2
|
||
is used between I2 and I3.
|
||
|
||
* c-typeck.c (pointer_int_sum): Convert integer to both signedness
|
||
and precision of sizetype.
|
||
* explow.c (convert_memory_address, case PLUS, MULT): Don't commute
|
||
operation with extension if not adding small integer.
|
||
|
||
* Makefile.in (BOOT_LANGUAGES): New variable.
|
||
(bootstrap): Use it to select languages for stage1.
|
||
* configure (extra_host_objs): New variable.
|
||
Separate files needed for target and host and concatenate list.
|
||
(extra_gcc_objs): Use setting for host, not target.
|
||
(objc_thread_file): Start with it as null, then don't include "thr-".
|
||
Print name of file after others and in same format.
|
||
(alpha-*-winnt*, i[3456]86-*-winnt): oldnames.o is in extra_host_objs.
|
||
(all_boot_languages): New variable.
|
||
Set from boot_language variable in config-lang.in.
|
||
Defines value of BOOT_LANGUAGES in Makefile.
|
||
(Makefile): Set target to the canonical form of target.
|
||
|
||
Mon Jun 17 22:37:07 1996 Mike Meissner <meissner@rtl.cygnus.com>
|
||
|
||
* rs6000/win-nt.h (ASM_DECLARE_FUNCTION_NAME): Put function
|
||
descriptor in .reldata, not .text.
|
||
|
||
Mon Jun 17 16:05:34 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* ginclude/stddef.h (wint_t): Don't wrap with #ifndef __cplusplus.
|
||
|
||
Mon Jun 17 15:03:20 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (mips_split_addresses): New variable.
|
||
(simple_memory_operand): Add comment about mode check. Add check
|
||
for LO_SUM.
|
||
(call_insn_operand): OP is now an addresses instead of a MEM.
|
||
(move_operand, mips_check_split): New functions.
|
||
(mips_count_memory_refs): Add check for LO_SUM.
|
||
(mips_move_1word): Add HIGH support.
|
||
(mips_address_cost): Delete check for HIGH.
|
||
(output_block_move): Handle LO_SUM addresses.
|
||
(override_options): Set mips_split_addresses.
|
||
(print_operand_address): Add LO_SUM support.
|
||
* mips.h (mips_split_addresses, mips_check_split, move_operand):
|
||
New declarations
|
||
(GO_IF_LEGITIMATE_ADDRESS): Reject constant addresses when
|
||
mips_split_addresses is TRUE. Add LO_SUM support.
|
||
(LEGITIMIZE_ADDRESS): Add LO_SUM support.
|
||
(PREDICATE_CODES): Modify call_insn_operand support. Add
|
||
move_operand.
|
||
* mips.md (memory): Change r4100/r4300 support.
|
||
(imuldiv): Add r4300 support.
|
||
(high, low): New patterns.
|
||
(movsi, movdi): Add LO_SUM support.
|
||
(movsi_internal1, movsi_internal2): Use move_operand instead of
|
||
general_operand.
|
||
(movstrsi_internal, movstrsi_internal2): Delete R constraint.
|
||
(call, call_value): Pass address instead of MEM to call_insn_operand.
|
||
Call gen_call_{value_}internal0 instead of internal1.
|
||
(call_internal0, call_value_internal0, call_multiple_internal0):
|
||
New patterns.
|
||
(call_internal1, call_internal2, call_value_internal1,
|
||
call_value_internal2, call_value_multiple_internal2): Add explicit
|
||
MEM before target address.
|
||
|
||
Sun Jun 16 23:05:16 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* configure (hppa*-hp-hpux10*): Use new pa-hpux10 configuration file.
|
||
(hppa*-hp-hpux*): Use hpux9 configuration files by default.
|
||
* pa/pa-hpux10.h: New file.
|
||
* pa/pa-ghpux9.h: Deleted. No longer used.
|
||
|
||
Sat Jun 15 04:35:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||
|
||
* i386/gnu.h (LINK_SPEC): Remove -rpath /lib/ option.
|
||
Ignore -ibcs option.
|
||
|
||
Thu Jun 13 14:49:41 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* gen-protos.c (main): Change argv[i] to argv[0][i].
|
||
|
||
Thu Jun 13 10:46:24 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* gcc.c (pfatal_pexecute): Delete code to check errno < sys_nerr.
|
||
|
||
Wed Jun 12 21:47:10 1996 Eliot Dresselhaus <dresselh@rft30.nas.nasa.gov>
|
||
|
||
* alpha.c (alpha_cpu, alpha_cpu_string): New variables.
|
||
(override_options): Process -mcpu= value.
|
||
(alpha_adjust_cost): Handle adjustments for EV5.
|
||
* alpha.h (enum processor_type): New enum.
|
||
(alpha_cpu, alpha_cpu_string): New declarations.
|
||
(target_options): Add "cpu=".
|
||
(RTX_COSTS): Adjust values for EV5.
|
||
* alpha.md: Add scheduling rules for EV5.
|
||
|
||
Tue Jun 11 17:51:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* c-common.c (check_format_info): Change text of message about use
|
||
of `0' with precision.
|
||
|
||
Tue Jun 11 15:14:10 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.h (TARGET_SCHEDULE_PROLOGUE): New. Allows prologue to
|
||
be emitted as asm or rtl.
|
||
|
||
* i386.c (function_prologue): Emit prologue as asm.
|
||
(override_options): Don't emit rtl for prologue if -fpic.
|
||
|
||
Tue Jun 11 14:41:01 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/eabi.asm (__eabi): Fix normal code so that it properly
|
||
loads up r2/r13 if needed again.
|
||
|
||
* rs6000/sysv4.h (CPP_ENDIAN_SPEC): Call cpp_endian_default, not
|
||
cpp_endian_default_spec.
|
||
|
||
Mon Jun 10 15:10:56 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* local-alloc.c (update_equiv_regs): Ignore insns that read or
|
||
write registers that are likely to be spilled.
|
||
|
||
* pa.h (cmp_type): Add CMP_PSI.
|
||
(FUNCTION_POINTER_COMPARISON_MODE): Define.
|
||
* pa.md (cmppsi): New expander.
|
||
(plabel_dereference): New pattern
|
||
|
||
Mon Jun 10 14:56:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sol2.h (SKIP_ASM_OP): Delete, Solaris accepts .space,
|
||
like rest of PowerPC V4 ports.
|
||
|
||
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Emit .lcomm if not
|
||
using the .sbss area. If using the .sbss area, put out
|
||
appropriate .size directive.
|
||
|
||
Mon Jun 10 14:53:38 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* Move fork/exec/wait handling into file of its own.
|
||
* pexecute.c: New file.
|
||
* Makefile.in (pexecute.o): Add rule.
|
||
(xgcc): Link in pexecute.o.
|
||
(protoize,unprotoize): Likewise.
|
||
* gcc.c (_WIN32): Don't include process.h or declare spawnv{,p}.
|
||
(pexecute,pwait): Add prototypes.
|
||
(PEXECUTE_{FIRST,LAST,SEARCH}): Define.
|
||
(execv,execvp): Delete decls.
|
||
(perror_exec): Delete.
|
||
(pfatal_pexecute): New function.
|
||
(pexecute support): Delete.
|
||
(execute): -pipe not supported if _WIN32 or OS2.
|
||
Update call to pexecute. Fatal error if pexecute fails. Call pwait.
|
||
* protoize.c: Include gansidecl.h.
|
||
(my_execvp): Delete.
|
||
(choose_temp_base,pexecute,pwait): Declare.
|
||
(PEXECUTE_{FIRST,LAST,SEARCH}): Define.
|
||
(execvp): Delete decl.
|
||
(usage): Fix typo.
|
||
(gen_aux_info_file): Rewrite to use pexecute/pwait.
|
||
|
||
* gcc.c (do_spec_1): Allow leading text in version string.
|
||
Delete support for default minor number = 0.
|
||
|
||
Mon Jun 10 11:49:53 1996 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/Makefile (libobjc.a): Don't delete the library.
|
||
|
||
* objc/thr.h (objc_set_thread_callback): New function.
|
||
(objc_thread_callback): Typedef for the hook function.
|
||
* objc/thr.c (__objc_thread_detach_function): Clear thread storage.
|
||
Call the thread hook function when first becoming multi-threaded.
|
||
(objc_set_thread_callback): New function.
|
||
|
||
* objc/selector.c (__sel_register_typed_name): Additional parameter
|
||
that indicates whether name and type parameters are constant or not.
|
||
* objc/runtime.h (__sel_register_typed_name): Likewise.
|
||
* objc/init.c (__sel_register_typed_name): Likewise.
|
||
|
||
* objc/init.c (__objc_init_protocols): Need to unlock mutex.
|
||
|
||
Mon Jun 10 11:44:44 1996 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* sparc/t-sol2 (gmon.o): Depend on stmp-int-hdrs.
|
||
(crt1.o, crti.o, crtn.o, gcrt1.o): Depend on $(GCC_PASSES).
|
||
|
||
Mon Jun 10 11:29:46 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* flow.c (flow_analysis, find_basic_blocks): Ignore
|
||
nonlocal_label_list for CALL_INSN that has a REG_RETVAL.
|
||
|
||
* c-common.c (decl_attributes, case A_T_UNION): Don't look at fields
|
||
of union if there aren't any.
|
||
|
||
Sat Jun 8 22:13:33 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (ix86_expand_prologue): Keep pic register load ahead
|
||
of reference which may use a pic register.
|
||
|
||
Sat Jun 8 22:13:33 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.md (strlensi_unroll4, strlensi_unroll5): Use + not =& for
|
||
constraint for input/output operand 2.
|
||
|
||
Sat Jun 8 22:13:33 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
|
||
|
||
* i386.h (CONST_COSTS): Even integer constants have a cost.
|
||
(RTX_COSTS): Take costs of subexpressions into account.
|
||
If a multiply is actually a shift, use the cost of the shift.
|
||
* i386/unix.h (SHIFT_DOUBLE_OMITS_COUNT): New macro.
|
||
* i386/{gas, next, seq-gas}.h (SHIFT_DOUBLE_OMITS_COUNT): Redefine
|
||
as zero.
|
||
* i386.c (print_operand): new letter 's'.
|
||
|
||
Sat Jun 8 15:13:33 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (override_options): Add vr4100 and vr4300 support.
|
||
* mips.h (enum processor_type): Likewise.
|
||
(MASK_4300_MUL_FIX, TARGET_4300_MUL_FIX): New macros.
|
||
(TARGET_SWITCHES): Add -mfix4300 option.
|
||
* mips.md (cpu, memory, imuldiv, adder, mult, divide): Add
|
||
vr4100 and vr4300 support.
|
||
(muldf3, mulsf3): Add vr4300 support.
|
||
(muldf3_internal, muldf_r4300, mulsf3_internal, mulsf_r4300): New
|
||
patterns.
|
||
|
||
Sat Jun 8 14:35:23 1996 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* toplev.c (main): Re-enable -gxcoff+.
|
||
|
||
Sat Jun 8 14:20:14 1996 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* m68k/lb1sf68.asm (__{eq,ne,gt,lt,ge,le}{df,sf}2): Removed
|
||
extraneous comments, constants, labels, etc.
|
||
|
||
* m68k/altos3068.h (TARGET_DEFAULT): Use MASK_* macros
|
||
instead of explicit constants in definitions or conditionals.
|
||
* m68k/{apollo68, aux, ccur-GAS, dpx2, hp320, hp3bsd}.h: Likewise.
|
||
* m68k/{hp3bsd44, isi-nfp, isi, linux-aout, linux}.h): Likewise.
|
||
* m68k/{lynx-ng, lynx, m68k-none, m68k-psos, m68kv4}.h): Likewise.
|
||
* m68k/{mot3300, netbsd, news, next, pbb, plexus, sun2o4}.h): Likewise.
|
||
* m68k/{sun3, sun3n, tower}.h): Likewise.
|
||
|
||
Sat Jun 8 13:55:23 1996 Matthias Pfaller (leo@marco.de)
|
||
|
||
* ns32k.md (define_insns for ffs[qhs]i2): Deleted.
|
||
(define_expand for ffssi2): New pattern.
|
||
|
||
Sat Jun 8 13:44:14 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* reload.c (find_equiv_reg): Set need_stable_sp if GOAL is the
|
||
stack pointer.
|
||
|
||
Sat Jun 8 13:36:05 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* function.c (fixup_var_refs_1, case SIGN_EXTEND): Handle
|
||
paradoxical SUBREGs as first operand.
|
||
(fixup_var_regs_1, case SET): Handle paradoxical SUBREGs as
|
||
first operand of a ZERO_EXTRACT in SET_DEST.
|
||
|
||
* c-common.c (enum attrs): Add A_FORMAT_ARG.
|
||
(init_attribute): Initialize it.
|
||
(decl_attributes, case A_FORMAT): Clean up error messages.
|
||
(decl_attributes, case A_FORMAT_ARG): New case.
|
||
(struct international_format_info): New structure and typedef.
|
||
(international_format_list): New variable.
|
||
(record_international_format): New function.
|
||
(init_format_info): Call it for gettext, dcgettext, and dcgettext.
|
||
(check_format_info): See if format arg is call to
|
||
internationalization function.
|
||
|
||
Fri Jun 7 20:04:40 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* gcc.c (MULTILIB_SELECT): Delete definition.
|
||
(multilib_select): Delete static initializer.
|
||
(multilib_obstack, multilib_raw): New global variables.
|
||
(multilib.h): Include inside multilib_raw definition.
|
||
(main): Set multilib_select from multilib_raw.
|
||
* genmultilib: Change output to be a sequence of short strings
|
||
separated by commas rather than a single long macro definition.
|
||
|
||
* cse.c (simplify_binary_operation, case MULT): Check for case
|
||
where width is larger than HOST_BITS_PER_WIDE_INT, and upper most
|
||
bit is set. We can not generate a simple shift in this case.
|
||
|
||
* gsyms.h (enum sdb_type): Add T_LNGDBL if EXTENDED_SDB_BASIC_TYPES.
|
||
(enum sdb_masks): Add EXTENDED_SDB_BASIC_TYPES masks.
|
||
* sdbout.c (gsyms.h): Include if CROSS_COMPILE is defined.
|
||
(plain_type_1): Use TYPE_PRECISION instead of TYPE_SIZE.
|
||
Add check for LONG_DOUBLE_TYPE_SIZE if EXTENDED_SDB_BASIC_TYPES.
|
||
* i960.h (EXTENDED_SDB_BASIC_TYPES): Define.
|
||
(PUT_SDB_TYPE): Delete now unnecessary shifting and masking.
|
||
|
||
* i960.h (i960_output_move_{double,quad}): Declare.
|
||
|
||
Fri Jun 7 19:22:09 1996 Scott Christley <scottc@net-community.com>
|
||
|
||
* Makefile.in (OBJC_THREAD_FILE): New variable.
|
||
* configure (objc_thread_file): Set new variable to appropriate
|
||
values based upon target operating system; default is `thr-single'.
|
||
* objc/Makefile (OBJC_THREAD_FILE): Add target and dependency.
|
||
(thr.o): Remove OS specific thread files as dependencies.
|
||
* objc/thr-decosf1.c: Now compiles as a separate source file, so
|
||
include appropriate Objective-C headers.
|
||
* objc/thr-{mach,os2,posix,irix,single,solaris,win32}.c: Likewise.
|
||
* objc/thr.c: Remove inclusion of source files.
|
||
* objc/thr.h (__objc_thread_exit_status): Declare global variable.
|
||
* objc/thr-pthreads.c: New file.
|
||
|
||
Fri Jun 7 19:04:04 1996 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* m68k.h (TARGET_SWITCHES): Treat -m68302 like -m68000 and -m68332
|
||
like -m68020; remove -mno-68302 and -mno-68332.
|
||
|
||
Fri Jun 7 12:06:12 1996 Per Bothner <bothner@deneb.cygnus.com>
|
||
|
||
* expr.c (safe_from_p): Allow Chill-style variable-sized arrays.
|
||
|
||
Thu Jun 6 23:11:11 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (h8300_monitor_function_p): New function.
|
||
(h8300_os_task_function_p): Likewise.
|
||
(os_task, monitor): Variables to note if the current
|
||
function is an os_task or monitor.
|
||
(function_prologue): Set monitor and/or os_task as needed. Handle
|
||
os_task and monitor functions.
|
||
(function_epilogue): Clear monitor and os_task. Handle os_task and
|
||
monitor functions.
|
||
(h8300_valid_machine_decl_attribute): Accept "OS_Task" and
|
||
"monitor".
|
||
|
||
Thu Jun 6 20:01:54 1996 Per Bothner <bothner@cygnus.com>
|
||
|
||
* gen-protos.c (progname): New variable (needed by cppalloc.c).
|
||
(main): Set progname.
|
||
|
||
* cpplib.h (struct parse_file): Removed.
|
||
(CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, CPP_OUT_BUFFER): New macros.
|
||
* cpphash.c (cpp_lookup): Change struct parse_file -> cpp_reader.
|
||
|
||
* cpplib.c (init_parse_option): Renamed to cpp_options_init.
|
||
(push_parse_file): Renamed to ...
|
||
(cpp_start_read): Change to return 1 on success, 0 on failure.
|
||
(init_parse_file): Renamed to cpp_reader_init.
|
||
* cppmain.c (main): Use CPP_SET_WRITTEN and cpp_fatal.
|
||
Use renamed function names, and return protocols.
|
||
* fix-header.c (read_scan_file): Likewise.
|
||
|
||
* cpperror.c (cpp_message): Generalize for "fatal" errors.
|
||
(cpp_fatal): New function (just calls cpp_message).
|
||
* cpplib.c (cpp_start_read, cpp_handle_options, cpp_finish,
|
||
parse_goto_mark, parse_move_mark): Use cpp_fatal rather than fatal.
|
||
|
||
* fix-header.c (check_macro_names): Fix struct parse_file->cpp_reader.
|
||
* cpplib.c (newline_fix): Remove unused function.
|
||
|
||
Thu Jun 6 19:47:26 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
Changes to support parameters and return values in multiple
|
||
non-contiguous locations.
|
||
* calls.c (expand_call): Handle NIL in PARALLEL. Handle PARALLEL
|
||
parameter in REG. Handle PARALLEL return value in VALREG.
|
||
(emit_library_call, emit_library_call_value): Abort for PARALLEL.
|
||
(store_one_arg): Delete code for handling EXPR_LIST.
|
||
* expr.c (emit_group_load, emit_group_store): New functions.
|
||
(use_group_regs): New function.
|
||
(emit_push_insn): Handle PARALLEL parameter in REG.
|
||
(expand_assignment): Handle PARALLEL to_rtx.
|
||
(store_expr): Handle PARALLEL target.
|
||
* expr.h (emit_group_load, emit_group_store, use_group_regs): New
|
||
declarations.
|
||
* function.c (assign_parms): Handle PARALLEL parameter in ENTRY_PARM.
|
||
* stmt.c (expand_value_return): Handle PARALLEL return_reg.
|
||
|
||
* mips/abi64.h (TYPE_DEPENDENT_REG): Delete.
|
||
* mips.c (function_arg): Return PARALLEL for structure with
|
||
aligned double fields.
|
||
(type_dependent_reg): Delete.
|
||
(mips_function_value): Return PARALLEL for structure
|
||
with two floating point fields.
|
||
* mips/mips.md (call_value): Handle PARALLEL in operands[0].
|
||
(call_value_multiple_internal2): New pattern.
|
||
* pa.h (FUNCTION_ARG): General PARALLEL instead of EXPR_LIST.
|
||
* rs6000.c (init_cumulative_args): Change EXPR_LIST to PARALLEL
|
||
in comments.
|
||
(function_arg): Generate PARALLEL instead of EXPR_LIST.
|
||
|
||
Thu Jun 6 18:21:27 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* function.c (assign_parms): Tighten up code that makes REG_EQUIV
|
||
notes for parms.
|
||
|
||
* fold-const.c (fold): Don't do anything with evaluated SAVE_EXPR.
|
||
|
||
Thu Jun 6 17:54:07 1996 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* m68k.h (TARGET_SWITCHES): Group all floating point options.
|
||
When an fp option is selected, unset bits used for other mutually
|
||
exclusive fp options.
|
||
(OVERRIDE_OPTIONS): Remove special case for SUPPORT_SUN_FPA;
|
||
bits used for 68881 and SKY are now cleared by TARGET_SWITCHES.
|
||
|
||
* m68k.md (movsi_const0, movhi): Favor clr with TARGET_5200.
|
||
(add[qhs]3): Don't use two addqw/subqw insns to add small integers to
|
||
an address register with TARGET_68060.
|
||
(stack push peephole): Use moveq.l with TARGET_5200 (when appropriate).
|
||
|
||
* m68k.h (MASK_5200, TARGET_5200): New macros.
|
||
(TARGET_SWITCHES): Add "m5200".
|
||
(LEGITIMATE_INDEX_P): Add TARGET_5200 to conditional expression.
|
||
* m68k.c (const_method): Do not synthesize long constants
|
||
with byte or word operations with TARGET_5200.
|
||
* m68k.md: Disable byte and word arithmetic, rotate, integer
|
||
divide, dbcc, etc. insns for TARGET_5200.
|
||
* m68k-none.h: (CPU_FPU_SPEC, CPP_SPEC, ASM_SPEC): Support m5200.
|
||
|
||
Thu Jun 6 17:32:32 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* fixproto (subdirs): Work around Solaris 2.5
|
||
/usr/xpgr/bin/sed problem with \+\+.
|
||
|
||
Thu Jun 6 15:06:27 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-decl.c (grokdeclarator): Call pop_obstacks after creating
|
||
TYPE_DECL.
|
||
|
||
* loop.c (strength_reduce): If HAVE_cc0 defined, disable auto_inc_opt
|
||
if it would put an insn between a cc0 setter/user pair.
|
||
|
||
Thu Jun 6 13:06:54 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): If __sun__ is
|
||
defined, treat that as little endian.
|
||
|
||
Wed Jun 5 20:04:53 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i960.h (ROUND_TYPE_ALIGN): Add check for TYPE_PACKED.
|
||
|
||
* sh.h (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
|
||
* sh.md (branch_true): Add comment about T-bit compares.
|
||
|
||
Tue Jun 4 23:08:34 1996 Per Bothner <bothner@deneb.cygnus.com>
|
||
|
||
* cpplib.h, cpplib.c: Remove support for !STATIC_BUFFERS.
|
||
* cpplib.h: Use unsigned char rather than U_CHAR.
|
||
* cpplib.h (cpp_reader): Add destructor #ifdef __cplusplus.
|
||
(cpp_cleanup): New prototype.
|
||
* cpplib.c (special_symbol, do_once, do_include, cpp_get_token):
|
||
Compare cpp_buffer against CPP_NULL_BUFFER, not NULL.
|
||
|
||
* cpplib.c (dump_special_to_buffer): New function.
|
||
(initialize_builtins): Use it.
|
||
|
||
Wed Jun 5 19:10:22 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa/pa.h (TEXT_SPACE_P): Fix thinko in last change.
|
||
|
||
Wed Jun 5 16:25:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.h (ASM_DEFAULT_SPEC): Default to "", not -mpwr.
|
||
|
||
* sysv4.h (SUBTARGET_SWITCHES): Add -mshlib.
|
||
(LINK_PATH_SPEC): Add -compat-bsd support from Solaris.
|
||
(LINK_SPEC): Eliminate %{b} and %{G}, since they conflict with GCC
|
||
switches. Defer shared library support to LINK_SHLIB_SPEC. Defer
|
||
target selection to LINK_TARGET_SPEC.
|
||
(LINK_SHLIB_SPEC): Provide two different versions, depending on
|
||
whether shared libraries are default or not. Make shared
|
||
libraries not default until linker is fixed.
|
||
(LINK_OS_*_SPEC): New specs for OS specific linker switches.
|
||
(SUBTARGET_EXTRA_SPECS): Add new specs.
|
||
|
||
* {sol2,sysv4}.h (LINK_SPEC): Move Solaris link into general link spec.
|
||
|
||
* {sysv4,sysv4le,eabile}.h (LINK_TARGET_SPEC): Only pass -oformat
|
||
to the linker if the user is changing the default endian format.
|
||
|
||
* {sol2,linux,eabisim,eabilesim}.h (LINK_OS_DEFAULT_SPEC): Define
|
||
to use the appropriate OS link spec.
|
||
|
||
Wed Jun 5 16:35:10 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* ginclude/stddef.h: Fix typo: TYPE_ptrdiff_t to _TYPE_ptrdiff_t.
|
||
|
||
Wed Jun 5 15:52:57 1996 Per Bothner <bothner@kalessin.cygnus.com>
|
||
|
||
* varasm.c (output_constructor): Handle RANGE_EXPR in array index.
|
||
|
||
Wed Jun 5 13:45:54 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* sparc.md (*call_{address,symbolic}_struct_value_sp32): Allow
|
||
operand 2 to be const0_rtx.
|
||
|
||
Tue Jun 4 16:43:44 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (make_decl_rtl): Don't update DECL_ASSEMBLER_NAME for
|
||
local statics.
|
||
|
||
* c-decl.c (start_decl): Always set DECL_COMMON on statics.
|
||
* varasm.c (assemble_variable): Only treat vars with DECL_COMMON
|
||
as common.
|
||
|
||
Tue Jun 4 14:55:49 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa.c (reloc_needed): New function.
|
||
* pa.h (TEXT_SPACE_P): Variables/constants with initializers
|
||
requiring relocs never live in the text space.
|
||
|
||
Tue Jun 4 14:10:46 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* sh.c (fp_zero_operand): Do not accept minus zero.
|
||
|
||
* sh.h (ASM_OUTPUT_LOOP_ALIGN): Define.
|
||
(ASM_OUTPUT_ALIGN_CODE): Define.
|
||
(ADJUST_INSN_LENGTH): Add in bytes that may be added by
|
||
alignment.
|
||
* sh.c (output_branch): Run ADJUST_INSN_LENGTH in reverse to get
|
||
correct length. Just call abort rather than returning "bad".
|
||
(find_barrier): Adjust limits for possible alignment.
|
||
|
||
Tue Jun 4 09:35:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/t-solaris: New target config file for PowerPC Solaris
|
||
without gas.
|
||
|
||
* rs6000/t-ppc: Eliminate all multilib varients except for
|
||
software floating point.
|
||
|
||
* configure (powerpcle-*-solaris*): If not --with-gnu-as, use
|
||
t-solaris, not t-ppc.
|
||
|
||
* rs6000/sol2.h (MULTILIB_DEFAULTS): Add correct defaults for
|
||
Solaris.
|
||
|
||
* rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): Clone from svr4.h, omit
|
||
@progbits, since Solaris assembler doesn't like it.
|
||
(LIB_SOLARIS_SPEC): If -msolaris-cclib, add libabi.a.
|
||
({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use explicit
|
||
pathnames for the Solaris compiler start/end files.
|
||
(ASM_SPEC): Pass -mno-regnames to the assembler.
|
||
|
||
Mon Jun 3 19:40:10 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/abi64.h (CPP_SPEC): Make -mabi=n32 the default.
|
||
* mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT, MULTILIB_DEFAULTS,
|
||
ASM_SPEC, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
|
||
* mips.md (tablejump_internal4+1): Fix typo in condition.
|
||
* mips/x-iris6 (CC, OLDCC): Define to be `cc -32'.
|
||
|
||
Mon Jun 3 07:57:35 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.def ([LR]SHIFT_EXPR): Remove `a' from printed names.
|
||
|
||
* sparc.md (call): Mask unimp operand to 12 bits, just like Sun.
|
||
|
||
* expr.c (store_field): Fix typo in last change; update TARGET addr.
|
||
|
||
* c-decl.c (start_struct): Set TYPE_PACKED from flag_pack_struct.
|
||
(start_enum): Likewise but from flag_short_enums.
|
||
(finish_enum): Test TYPE_PACKED, not flag_short_enums.
|
||
* stor-layout.c (layout_decl): Test DECL_PACKED and TYPE_PACKED
|
||
instead of flag_pack_struct.
|
||
(layout_record): Likewise.
|
||
|
||
Sun Jun 2 19:41:14 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (tablejump_internal3, tablejump_internal4): New patterns.
|
||
(tablejump): Use them for PIC code.
|
||
|
||
Fri May 31 17:26:53 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.c (ix86_expand_epilogue): Don't generate references to an
|
||
exposed vacated stack.
|
||
* i386.md (epilogue_set_stack_ptr): New.
|
||
|
||
Fri May 31 15:07:49 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/abi64.h: Add -mabi=n32 support.
|
||
(ABI_64BIT): Delete.
|
||
(TARGET_LONG64, CPP_SPEC, STACK_BOUNDARY, MIPS_STACK_ALIGN,
|
||
GP_ARG_LAST, FP_ARG_LAST, SUBTARGET_CONDITIONAL_REGISTER_USAGE,
|
||
MAX_ARGS_IN_REGISTER, FUNCTION_ARG_PADDING, RETURN_IN_MEMORY,
|
||
SETUP_INCOMING_VARARGS): Modify.
|
||
(REG_PARM_STACK_SPACE): Ifdef out.
|
||
(TARGET_DEFAULT, SUBTARGET_TARGET_OPTIONS): Define.
|
||
* mips/iris6.h: Add -mabi=n32 support.
|
||
(TARGET_DEFAULT, ASM_OUTPUT_INTERNAL_LABEL,
|
||
ASM_GENERATE_INTERNAL_LABEL): Delete.
|
||
(MULTILIB_DEFAULTS, ASM_SPEC, EXTRA_SECTION_FUNCTIONS,
|
||
ASM_OUTPUT_ALIGNED_LOCAL, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
|
||
Modify.
|
||
(MIPS_ABI_DEFAULT, LOCAL_LABEL_PREFIX): Define.
|
||
* mips.c: Add -mabi=n32 support.
|
||
(mips_const_double_ok, mips_move_1word, mips_move_2words,
|
||
function_arg, override_options, mips_asm_file_start,
|
||
compute_frame_size, save_restore_insns, function_prologue,
|
||
mips_expand_prologue, function_epilogue, mips_function_value): Modify.
|
||
(mips_abi, mips_abi_string): Define
|
||
* mips.h: Add -mabi=n32 support.
|
||
(ABI_64BIT): Delete.
|
||
(TARGET_OPTIONS, INITIAL_ELIMINATION_OFFSET, GO_IF_LEGITIMATE_ADDRESS,
|
||
CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT_P, LEGITIMIZE_ADDRESS,
|
||
ASM_OUTPUT_ADDR_DIFF_ELT): Modify.
|
||
(enum mips_abi_type, SUBTARGET_TARGET_OPTIONS): Define.
|
||
(mips_abi, mips_abi_string): Declare.
|
||
* mips.md (jump, tablejump_internal1, tablejump_internal2): Add
|
||
-mabi=n32 support.
|
||
* mips/t-iris6 (MULTILIB_OPTIONS): Add -mabi=n32 support.
|
||
* mips/xm-irix6.h (HOST_BITS_PER_LONG): Use _MIPS_SZLONG not 64.
|
||
* ginclude/va-mips.h (va_start): Add -mabi=n32 support.
|
||
|
||
Fri May 31 14:45:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -msolaris-cclib to use
|
||
the Sun compiler's crt files instead of ours.
|
||
({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use the Sun
|
||
compiler's crt files instead of ours.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Don't set -msdata=data for Solaris.
|
||
(SBSS_SECTION_ASM_OP): For Solaris, don't use @nobits.
|
||
(CPP_OS_SOLARIS_SPEC): Remove -Asystem(unix) and -Asystem(svr4).
|
||
|
||
* rs6000/t-ppc{,gas} (MULTILIB*): Add Solaris specific multilibs.
|
||
|
||
* rs6000/eabi{,le}sim.h (*_DEFAULT_SPEC): Rather than using
|
||
duplicate definitions, just use %(...) so that there is only one
|
||
place in the specs file where the switches are defined.
|
||
* rs6000/{linux,sol2}.h (*_DEFAULT_SPEC): Ditto.
|
||
|
||
* rs6000/sol2.h (CPP_PREDEFINES): Use the standard one in sysv4.h.
|
||
(RS6000_ABI_NAME): Default is solaris.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Don't redefine.
|
||
|
||
* rs6000/sol-c{i.asm,n.asm,c0.c}: Provide more things that Solaris
|
||
needs for program startup.
|
||
|
||
Thu May 30 21:57:34 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* tree.def (OFFSET_REF): Remove.
|
||
* expr.c (expand_expr, case OFFSET_REF): Likewise.
|
||
* tree.c (substitute_in_expr): Remove OFFSET_REF code.
|
||
|
||
Wed May 29 14:54:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/eabi.asm (__eabi): If not -mrelocatable, don't assemble
|
||
relocatable functions, so that it can be assembled with the
|
||
Solaris assembler.
|
||
|
||
* rs6000/sysv4.h (CPP_SYSV_SPEC): Define _RELOCATABLE if
|
||
-mrelocatable-lib as well as -mrelocatable.
|
||
|
||
* rs6000.c (rs6000_file_start): New function to print some more
|
||
information to the asm file.
|
||
* rs6000/{sysv4,win-nt,rs6000}.h (ASM_FILE_START): Call it.
|
||
|
||
Tue May 28 15:21:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.h (FIRST_PSEUDO_REGISTER): Bump to 77.
|
||
({FIXED,CALL_USED}_REGISTERS): Add support for fpmem pseudo register.
|
||
(REG_ALLOC_ORDER, HARD_REGNO_{NREGS,MODE_OK}): Likewise.
|
||
(REGISTER_MOVE_COST, reg_class, REG_CLASS_{NAMES,CONTENTS}): Likewise.
|
||
(REGNO_REG_CLASS, PREFERRED_RELOAD_CLASS): Likewise.
|
||
(CLASS_{MAX_NREGS,CANNOT_CHANGE_SIZE,MAX_NREGS}): Likewise.
|
||
(rs6000_stack, {,DEBUG_}REGISTER_NAMES): Ditto.
|
||
(FPMEM_{REGNO_P,REGNUM}): New macros for fpmem register.
|
||
(rs6000_fpmem_{offset,size}): New global variables.
|
||
(RS6000_VARARGS_OFFSET): Fpmem temporary storage is located
|
||
between outgoing arg area and varargs save area.
|
||
(STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Likewise.
|
||
(PREDICATE_CODES): Add fpmem_operand.
|
||
({count_register,fpmem}_operand): Add declarations.
|
||
|
||
* rs6000.c ({rs6000,alt}_reg_names): Add support for fpmem 'register'.
|
||
(rs6000_fpmem_{offset,size}): New global variables.
|
||
(fpmem_operand): Return true for fpmem registers.
|
||
(gpc_reg_operand): The fpmem register is not general purpose.
|
||
(includes_rshift_p): Add casts to silence warnings from Solaris
|
||
PowerPC host compiler.
|
||
(print_operand): Add 'v' operand type for the upper 16 bits of
|
||
signed constants, to placate the Solaris assembler.
|
||
({rs6000,debug}_stack_info): Add support for fpmem 'register'.
|
||
(output_epilog): Likewise.
|
||
|
||
* rs6000.md (addsi3,movsi,movsf,movdi): Use %v for constants with
|
||
the upper 16 bits, to get the sign correct for PowerPC Solaris.
|
||
(float{,uns}sidf2,fix_truncdfsi2): Rewrite to use 'register' 76
|
||
for the memory location used to convert between float and integer.
|
||
|
||
* sysv4.h (ASM_OUTPUT_{CON,DE}STRUCTOR): Use code laid down in
|
||
.init and .fini for making constructors and destructors under
|
||
Solaris.
|
||
(ASM_SPEC): Do not pass -u to the assembler.
|
||
(CC1_SPEC): -mrelocatable implies -meabi.
|
||
|
||
* sol2.h (RS6000_ABI_NAME): Default ABI is Solaris, not System V.4.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Don't define Solaris specific method.
|
||
|
||
Mon May 27 06:39:13 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_{LONG,SET}JMP):
|
||
Convert block address from ptr_mode to Pmode.
|
||
|
||
Sun May 26 20:05:43 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* gcc.c (MSDOS pexecute): Call xmalloc, not malloc.
|
||
|
||
Sun May 26 08:31:54 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* configure (vax-*-{sysv}): tm_file and xm_file now list.
|
||
(vax-*-ultrix): tm_file is now list.
|
||
(we32k-att-sysv*): xm_file now list.
|
||
* vax/xm-netbsd.h: Deleted.
|
||
* vax/netbsd.h: No longer include vax.h and config/netbsd.h.
|
||
* vax/ultrix.h, vax/vaxv.h: No longer include vax.h.
|
||
* vax/xm-vaxv.h: No longer include xm-vax.h.
|
||
* xm-we32k.h: No longer include xm-svr3.h.
|
||
|
||
* configure: Separately set target_cpu_default for two
|
||
case statements and then combine if both set.
|
||
(alpha-*-winnt3): tm_file and xm_file are now list.
|
||
Set target_cpu_default to 64.
|
||
* winnt/config-nt.bat: Make .h files properly for Alpha.
|
||
* alpha.h (WINDOWS_NT): No longer defined and used.
|
||
(MASK_WINDOWS_NT, TARGET_WINDOWS_NT): New macros.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_WINDOWS_NT.
|
||
* alpha.c (output_prolog): Test TARGET_WINDOWS_NT, not WINDOWS_NT.
|
||
* alpha.md: Likewise.
|
||
* alpha/config-nt.sed: Properly set tm_file and {build,host}_xm_file.
|
||
* alpha/win-nt.h: Don't include alpha.h
|
||
(WINDOWS_NT): No longer define.
|
||
* alpha/xm-winnt.h: Don't include xm-alpha.h and winnt/xm-winnt.h.
|
||
|
||
Fri May 24 12:34:22 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* configure (cpu_type): Add case for arm.
|
||
(sparclet-*-aout*): Delete extra_headers.
|
||
|
||
* varasm.c (asm_output_bss): New argument DECL.
|
||
Use ASM_DECLARE_OBJECT_NAME if defined.
|
||
(asm_output_aligned_bss): Likewise.
|
||
(assemble_variable): Pass DECL to ASM_OUTPUT{,_ALIGNED}_BSS.
|
||
* arm/aout.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* h8300.h (ASM_OUTPUT_BSS): Update.
|
||
* i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* i386/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* m68k/coff.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* m68k/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* m68k/m68k-aout.h (ASM_OUTPUT_BSS): Update.
|
||
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* rs6000/win-nt.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
* sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
|
||
|
||
Thu May 23 19:55:52 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* combine.c (set_nonzero_bits_and_sign_copies): Set reg_sign_bit_copies
|
||
to one not zero to indicate value is unknown.
|
||
|
||
Thu May 23 18:39:24 1996 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* config/netbsd.h (SWITCH_TAKES_ARG): Add -R.
|
||
(LINK_SPEC): Add %{R*}.
|
||
|
||
* m68k/lb1sf68.asm: Construct exception masks at compile time
|
||
instead of or'ing in bits at run time.
|
||
|
||
Thu May 23 15:53:06 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* sh.md: Add new instruction types fp and fpdiv. Set new
|
||
instruction types where appropriate. Add function unit fp.
|
||
Claim that store instructions use function unit memory.
|
||
|
||
Thu May 23 00:36:19 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.h (CONSTANT_ADDRESS_P): Don't accept CONST or HIGH on H8/300H.
|
||
* h8300.md: Use "m" rather than "o" constraint everywhere appropriate.
|
||
Cleanup use of "i" and "n" constraints.
|
||
|
||
Wed May 22 17:43:37 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fixincludes (pthread.h): Add extern to __page_size* declarations
|
||
for AIX 4.1.x.
|
||
|
||
* combine.c (nonzero_bits): Don't assume arg pointer has same
|
||
alignment as stack pointer.
|
||
|
||
Wed May 22 16:09:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (LINK_START_DEFAULT_SPEC): Spell macro correctly.
|
||
(LIB_DEFAULT_SPEC): Provide default version.
|
||
|
||
Wed May 22 11:23:57 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
|
||
|
||
* i386.md (return_pop_internal): new pattern.
|
||
(pop): disable emitting of bogus move instruction.
|
||
* i386.c (ix86_expand_epilogue): use gen_return_pop_internal to
|
||
simultanously return and pop args; removed stray semicolon.
|
||
* config/linux-aout.h, config/linux.h (SET_ASM_OP): Added for
|
||
__attribute__ ((alias ())) support.
|
||
|
||
Wed May 22 08:06:42 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu.edu>
|
||
|
||
* combine.c (init_reg_last_arrays, setup_incoming_promotions):
|
||
Correct prototypes.
|
||
|
||
Tue May 21 13:42:17 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.md (div and mode patterns): Rewrite.
|
||
|
||
* pa.c (basereg_operand): Never accept a CONST_INT.
|
||
|
||
Tue May 21 12:26:40 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* pa/pa-hpux9.h, pa-osf.h (LINK_SPEC): Provide version for Snake.
|
||
|
||
Tue May 21 07:20:48 1996 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vax.h (TARGET_NAME): Define unless already defined.
|
||
(TARGET_VERSION): Print TARGET_NAME.
|
||
* vax/vms.h (TARGET_NAME): Always redefine.
|
||
(TARGET_VERSION): Delete; retain vax.h definition.
|
||
|
||
Mon May 20 14:00:44 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.c (output_file_start): Delete misplaced semicolon.
|
||
|
||
Mon May 20 11:58:15 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* reorg.c (relax_delay_slots): Call update_block before
|
||
redirecting a branch past a redundant insn.
|
||
|
||
Sun May 19 16:40:53 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* Makefile.in (libobjc.a, sublibobjc.a): 'specs' added to
|
||
dependencies.
|
||
|
||
Sun May 19 12:25:48 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* configure: Add new switch to provide default for cpu_type;
|
||
delete numerous settings of it in main switch.
|
||
(hppa): Reflect rerrangements below; use new configure features.
|
||
* pa/pa-gas.h, pa/pa-pro-end.h: New files.
|
||
* pa/pa1.h, pa/pa1-osf.h, pa/pa1-ghpux.h, pa/pa1-oldas.h: Deleted.
|
||
* pa/pa1-ghpux9.h, pa/pa1-hpux9.h, pa/pa1-hpux.h: Deleted.
|
||
* pa/pa1-ghiux.h, pa/pa1-hiux.h, pa/pa-ghpux.h: Deleted.
|
||
* pa/pa-gux7.h, pa/pa-ghiux.h: Deleted.
|
||
* pa/pa-hiux.h: No longer include pa-hpux.h.
|
||
* pa/pa-hpux.h: No longer include pa.h.
|
||
(TARGET_DEFAULT): Unset before setting.
|
||
(LINK_SPEC): Provide option for pa1.
|
||
* pa/pa-hpux7.h: No longer include pa.h.
|
||
(HP_FP_ARG_DESCRIPTOR_REVERSED): Don't define here.
|
||
* pa/pa-hpux9.h, pa/pa-oldas.h: No longer include pa-hpux.h.
|
||
(TARGET_DEFAULT): Don't need to set here.
|
||
* pa/pa-osf.h: No longer include pa.h.
|
||
(TARGET_DEFAULT): Don't define; identical to default.
|
||
* pa/pa-pro.h: No longer include pa.h.
|
||
Move definitions after include to new file pa-pro-end.h.
|
||
* pa.h (TARGET_SWITCHES): Include TARGET_CPU_DEFAULT.
|
||
(TARGET_CPU_DEFAULT): Provide default value.
|
||
(CPP_SPEC): Test TARGET_CPU_DEFAULT too.
|
||
|
||
* Makefile.in (function.o): Includes bc-emit.h.
|
||
(reg-stack.o): Includes insn-flags.h.
|
||
* expr.h (function_value): Deleted; no such function.
|
||
(bc_build_calldesc, bc_runtime_type_code): New declarations.
|
||
* c-decl.c: Add prototypes for all static functions.
|
||
* c-iterate.c: Likewise.
|
||
* dbxout.c: Likewise.
|
||
(adspath): Delete; never used and has numerous parse errors.
|
||
* dwarfout.c: If not GNUC, make `inline' null; otherwise, leave alone.
|
||
Add `static' to inline functions.
|
||
Add prototypes for static function.
|
||
* expr.c (bc_runtime_type_code): Delete redundant declaration.
|
||
* function.c: Include bc-emit.h.
|
||
({save,restore}_machine_status): Add prototype for args.
|
||
(bc_runtime_type_code, bc_build_calldesc): Delete redundant decls.
|
||
(bc_emit_trampoline, bc_end_function): Likewise.
|
||
* reg-stack.c: Include insn-flags.h.
|
||
Add prototypes for static functions.
|
||
(gen_jump, gen_movdf, gen_movxf): Delete redundant declarations.
|
||
(find_regno_note, emit_jump_insn_before, emit_label_after): Likewise.
|
||
(swap_rtx_condition): Now static.
|
||
* sdbout.c: Add prototypes for static functions.
|
||
(sdbout_parms, sdbout_reg_parms): Delete extra parm to plain_type.
|
||
|
||
Sun May 19 11:50:10 1996 John Carr <jfc@mit.edu>
|
||
|
||
* alpha.c (alpha_emit_conditional_move): Compare to 0 in correct mode.
|
||
|
||
Sat May 18 20:17:27 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.c (prepare_move_operands): If source is r0, and dest is reg+reg
|
||
MEM, then copy source to a pseudo-reg.
|
||
* sh.md (untyped_call): New pattern.
|
||
|
||
* unroll.c (copy_loop_body): When update split DEST_ADDR giv,
|
||
check to make sure it was split.
|
||
(find_splittable_givs): Fix reversed test of verify_addresses result.
|
||
|
||
Sat May 18 10:26:04 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* tree.c (unsave_expr_now): Avoid use of NULL_RTX since no rtl.h.
|
||
|
||
* configure: Set cpu_default, tm_file, and xm_file early.
|
||
Remove redundant settings of those, tmake_file, and xmake_file.
|
||
Use ${tm_file} and ${xm_file} to refer to the main files.
|
||
Sort some entries for consistency and reformat some others.
|
||
(rs6000, powerpc): Remove bogus test on host == target.
|
||
(alpha-*-linux): xm-linux.h no longer includes xm-alpha.
|
||
(alpha-*-osf*): Remove redundant setting of target_cpu_default.
|
||
(*-convex-*): Use target_cpu_default instead of separate .h files.
|
||
(clipper-intergraph-clix*): clix.h no longer includes any files.
|
||
(i860, i960, pdp11): Reflect removal of includes listed below.
|
||
* alpha/xm-linux.h: No longer include xm-alpha.h.
|
||
* clipper/clix.h: No longer include clipper.h and svr3.h.
|
||
* convex.h: Provide a default for TARGET_DEFAULT.
|
||
Take "or" of TARGET_DEFAULT and TARGET_CPU_DEFAULT everywhere.
|
||
* convex/convex{1,2,32,34,38}.h: Deleted.
|
||
* i860/bsd-gas.h: No longer include bsd.h.
|
||
* i860/bsd.h: No longer include i860.h.
|
||
* i860/fx2800.h: No longer include i860/sysv4.h.
|
||
(OUTPUT_TDESC): No longer define.
|
||
(ASM_FILE_END): Move redefinition to here.
|
||
* i860/mach.h: No longer include i860.h.
|
||
* i860/paragon.h, i860/sysv3.h: No longer include i860.h and svr3.h.
|
||
* i860/sysv4.h: No longer include i860.h and svr4.h.
|
||
(ASM_FILE_END): Delete redefinition from here.
|
||
* i860/xm-fx2800.h: No longer include xm-i860.h.
|
||
* i860/xm-paragon.h, i860/xm-sysv{3,4}.h: Deleted.
|
||
* i960/i960-coff.h: No longer include i960.h and dbxcoff.h.
|
||
* i960/vx960-coff.h: No longer include i960-coff.h.
|
||
* i960/vx960.h: No longer include i960.h.
|
||
* pdp11/2bsd.h: No longer include pdp11.h.
|
||
|
||
* i370/i370.h: Renamed from mvs.h.
|
||
* i370/i370.c: Renamed from mvs370.c.
|
||
* i370/t-i370: Renamed from t-mvs.
|
||
* i370/xm-i370.h: Renamed from xm-mvs.h.
|
||
* configure (i370-*-mvs*): Use default names for all files.
|
||
|
||
* c-parse.in: Update number of shift/reduce conflicts for objc.
|
||
|
||
Sat May 18 08:20:17 1996 Dennis Glatting (dennisg@plaintalk.bellevue.wa.us)
|
||
|
||
* m68k/next.h (FINALIZE_TRAMPOLINE): Add missing backslashes.
|
||
|
||
Fri May 17 19:57:20 1996 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vax/xm-vms.h (dbxout_resume_previous_source_file): New macro.
|
||
|
||
Fri May 17 14:20:13 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* expr.c (expand_expr, cond TARGET_EXPR): Make TARGET_EXPRs
|
||
redoable for UNSAVE_EXPR.
|
||
* stmt.c (expand_decl_cleanup): Wrap the cleanup in an UNSAVE_EXPR
|
||
to that we can redo it.
|
||
* tree.c (unsave_expr_now): Handle TARGET_EXPRs fully now.
|
||
* tree.def (TARGET_EXPR): Add a fourth field so that TARGET_EXPRs
|
||
are redoable.
|
||
|
||
* expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++
|
||
frontend to the backend where it belongs.
|
||
* tree.c (unsave_expr{,_now}): Likewise.
|
||
* tree.def (UNSAVE_EXPR): Likewise.
|
||
* tree.h (unsave_expr{,_now}): Likewise.
|
||
|
||
Fri May 17 15:04:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (lshrsi3 insns): Add special case code for shifting by
|
||
0 to avoid bad code generated with no optimization.
|
||
|
||
Fri May 17 13:50:55 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/unix.h (ASM_OUTPUT_MI_THUNK): Define.
|
||
* i386/{att.h,bsd.h,sun386.h} (ASM_OUTPUT_MI_THUNK): Delete.
|
||
|
||
Fri May 17 13:34:28 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fp-bit.c (_fpdiv_parts): Correct sign handling when
|
||
dividing zero or infinity by something.
|
||
|
||
Fri May 17 12:36:36 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
Standardize option output in assembler files.
|
||
* Makefile.in (toplev.o): Pass -DTARGET_NAME.
|
||
* arm/aout.h (ASM_OUTPUT_OPTIONS): Delete.
|
||
(ASM_FILE_START): Delete option output support.
|
||
* arm.c (output_option, output_options, m_options): Delete.
|
||
* m88k.c (output_file_start): Delete option output support.
|
||
* m88k.h (ASM_COMMENT_START): Define.
|
||
* mips.c (target_switches, print_options): Delete.
|
||
(mips_asm_file_start): Put output of -G,Cpu,ISA here.
|
||
* mips.h (ASM_COMMENT_START): Change from "\t\t#" to " #".
|
||
* rs6000.c (output_option, m_options, output_options): Delete.
|
||
* rs6000.h (ASM_OUTPUT_OPTIONS): Delete.
|
||
(ASM_COMMENT_START): Define.
|
||
(ASM_FILE_START): Delete option output support.
|
||
* rs6000/sysv4.h (ASM_FILE_START): Likewise.
|
||
* rs6000/win-nt.h (ASM_FILE_START): Likewise. Delete duplicate.
|
||
* sh.c (output_option, m_options, output_options): Delete.
|
||
(output_file_start): Delete option output support.
|
||
* sh.h (ASM_FILE_START): Likewise.
|
||
(ASM_COMMENT_START): Define.
|
||
* dwarfout.c (*): flag_verbose_asm renamed to flag_debug_asm.
|
||
* flags.h (flag_debug_asm): Declare.
|
||
* toplev.c (print_version): New function.
|
||
(print_single_switch): New arguments pos, max, indent, sep, term.
|
||
(print_switch_values): New arguments pos, max, indent, sep, term.
|
||
Update call to print_single_switch. Output options passed and
|
||
options enabled.
|
||
(MAX_LINE): New macro.
|
||
(flag_debug_asm): Define.
|
||
(compile_file): Output options to assembler file.
|
||
(main): Recognize -dA. Call print_version. Update call to
|
||
print_switch_values.
|
||
(line_position): Deleted.
|
||
|
||
Fri May 17 10:50:44 1996 Stan Cox (coxs@dg-rtp.dg.com)
|
||
|
||
* i386.c (function_prologue, ix86_expand_prologue,
|
||
function_epilogue, ix86_expand_epilogue): Generate prologue and
|
||
epilogue as RTL (prior to scheduling) instead of emitting asm.
|
||
(override_options): If only -march is given, make it the default -mcpu.
|
||
* i386.h (FUNCTION_BEGIN_EPILOGUE): Renamed from FUNCTION_EPILOGUE.
|
||
* i386.md (return, return_internal, prologue, prologue_set_got,
|
||
prologue_get_pc, epilogue, leave, pop): New patterns for emitting
|
||
asm from prologue and epilogue RTL.
|
||
* m88k/t-dgux (T_CFLAGS): Delete.
|
||
* m88k/x-dgux (X_CFLAGS): New.
|
||
|
||
Fri May 17 09:54:23 1996 Jim Meyering (meyering@asic.sc.ti.com)
|
||
|
||
* Makefile.in (stamp-crt{,S}): Use -o to avoid conflicts if
|
||
both of these are built in parallel.
|
||
|
||
Fri May 17 08:55:19 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expmed.c (store_split_bit_field): Don't assume the alignment
|
||
of VALUE is the same as the record.
|
||
|
||
* configure: Write #define TARGET_CPU_DEFAULT into tm.h
|
||
instead of defining MAYBE_TARGET_DEFAULT in Makefile.
|
||
(alpha-*-linux): Set target_cpu_default to 4 and xmake_file to none.
|
||
(alpha-*-osf*): Set target_cpu_default to 4 if --gas.
|
||
* Makefile.in (gcc.o, toplev.o, $(out_object_file)):
|
||
Remove MAYBE_TARGET_DEFAULT.
|
||
|
||
* combine.c (insn_cuid): New function.
|
||
(INSN_CUID): Sometimes call it.
|
||
|
||
Fri May 17 08:12:37 1996 Scott Christley <scottc@net-community.com>
|
||
|
||
* objc/sendmsg.c (objc_get_uninstalled_dtable): New function.
|
||
* objc/objc-api.h (objc_get_uninstalled_dtable): New declaration.
|
||
|
||
* objc/thr-os2.c, objc/thr-posix.c, objc/thr-mach.c: New files.
|
||
* objc/THREADS.MACH: New file.
|
||
|
||
* objc/sendmsg.c (nil_method): Deleted from here.
|
||
* objc/nil_method.c: New file.
|
||
* Makefile (OBJC_O): Add dependency for nil_method.c.
|
||
|
||
* objc/hash.c (hash_is_key_in_hash): New function.
|
||
* objc/hash.h: Include objc/objc.h here instead of in objc/hash.c
|
||
to get BOOL typedef.
|
||
|
||
Fri May 17 08:01:48 1996 Doug Rupp (rupp@gnat.com)
|
||
|
||
* msdos/configur.bat: If Ada subdirectory present, adjust Makefile.
|
||
|
||
Fri May 17 07:40:04 1996 Ulrich Drepper (drepper@cygnus.com)
|
||
|
||
* stddef.h: If need_wint_t defined, nothing in this file is needed.
|
||
(_WINT_T, __WINT__TYPE__, wint_t): Define under certain circumstances.
|
||
|
||
Thu May 16 18:53:25 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* fold-const.c (fold, case EQ_EXPR): When folding VAR++ = CONST,
|
||
mask the new const if VAR is a bitfield reference; also for VAR--.
|
||
|
||
Thu May 16 18:29:03 1996 Doug Evans <dje@seba.cygnus.com>
|
||
|
||
* varasm.c (function_section): Delete flag_function_sections support.
|
||
(assemble_start_function): Put it here. Use UNIQUE_SECTION if defined.
|
||
|
||
Wed May 15 13:35:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.{h,c,md} (rs6000_pic_register): Delete all uses, use
|
||
pic_offset_table_rtx instead.
|
||
|
||
* rs6000.md (move_to_float): Rewrite so that it uses the register
|
||
allocator to allocate the stack temp, instead of calling
|
||
rs6000_stack_temp.
|
||
(fix_truncdfsi2): Likewise.
|
||
|
||
* rs6000.c (rs6000_stack_temp): Delete, no longer used.
|
||
|
||
Wed May 15 10:39:27 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
|
||
|
||
Sat May 11 07:42:59 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (store_field): Support BLKmode bitfield if aligned on
|
||
byte boundary using emit_block_move.
|
||
(expand_expr, case COMPONENT_REF): Likewise.
|
||
|
||
Fri May 10 18:33:39 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* configure (alpha-*-linux): Reverse order in tm_file list.
|
||
Delete xmake_file.
|
||
* alpha/x-linux: Deleted.
|
||
* alpha/linux.h (ASM_FINAL_SPEC): Add #undef.
|
||
* alpha/xm-linux.h: Remove bogus trailing #endif.
|
||
|
||
* loop.c (maybe_eliminate_biv_1): Disable all but two cases
|
||
of biv elimination with givs and restrict those two cases to
|
||
an ADD_VAL that is an address.
|
||
|
||
* flow.c (mark_set_1, mark_used_regs): Clean up usages
|
||
of ALL_NEEDED; change to SOME_NOT_NEEDED and set properly.
|
||
|
||
Fri May 10 11:37:38 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (compile_file): Don't warn about artificial functions
|
||
declared static and not defined.
|
||
|
||
Thu May 9 22:03:28 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* varasm.c (assemble_start_function): ASM_DECLARE_FUNCTION_NAME
|
||
needn't consider bytecodes.
|
||
(assemble_variable): ASM_DECLARE_OBJECT_NAME needn't
|
||
consider bytecodes.
|
||
* toplev.c (rest_of_decl_compilation): Likewise with
|
||
ASM_FINISH_DECLARE_OBJECT.
|
||
* arm/aof.h (ASM_DECLARE_{FUNCTION,OBJECT}_NAME): Delete bytecode
|
||
support.
|
||
* vax/vms.h (ASM_DECLARE_OBJECT_NAME): Likewise.
|
||
|
||
Thu May 9 19:36:13 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.h (SET_ASM_OP): Define.
|
||
|
||
Thu May 9 13:31:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sysv4.h (SUBTARGET_{SWITCHES,OPTIONS}): Add support for
|
||
finer grain control on -msdata, so that eabi people can specify to
|
||
compile sdata code to only use r13 instead of r2/r13. Make
|
||
-mrelocatable-lib turn off -msdata, just like -m relocatable does.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Ditto.
|
||
(ENCODE_SECTION_INFO): Move to rs6000.c.
|
||
(ASM_SPEC): -msdata=eabi sets -memb also.
|
||
(CC1_SPEC): -mno-sdata gets converted to -msdata=none.
|
||
|
||
* rs6000.c (rs6000_sdata{,_name}): Add support for finer grain
|
||
control on -msdata.
|
||
(output_options, small_data_operand, print_operand): Likewise.
|
||
(rs6000_select_section): Likewise.
|
||
(rs6000_encode_section_info): Move here from sysv4.h, section
|
||
names are stored as STRING nodes, not IDENTIFIER.
|
||
|
||
Wed May 8 21:04:49 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
|
||
* pa.h (RETURN_IN_MEMORY): No longer test for TREE_ADDRESSABLE.
|
||
|
||
Tue May 7 13:42:57 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c: Include obstack.h.
|
||
(bit_memory_operand): New function.
|
||
(print_operand): Append ":16" to a memory reference to
|
||
the tiny data area.
|
||
(h8300_tiny_data_p): New function.
|
||
(h8300_valid_machine_decl_attribute): Accept "tiny_data". Fix typo.
|
||
(h8300_encode_label): New function.
|
||
(h8300_adjust_insn_length): References to the tiny data section
|
||
are two bytes shorter than normal accesses on the H8/300H.
|
||
* h8300.h (OK_FOR_U): Fix thinko.
|
||
(ENCODE_SECTION_INFO): Encode info for tiny data variables.
|
||
(STRIP_NAME_ENCODING): Define.
|
||
* h8300.md (movqi insn): Fix length for a constant load.
|
||
(movstrictqi, movhi, movstricthi): Likewise.
|
||
(memory btst patterns): Add register to the constraints to keep
|
||
reload happy.
|
||
|
||
* h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int)))
|
||
is valid U operand if SYMBOL_REF_FLAG is set on SYMBOL_REF.
|
||
* h8300.md (memory btst patterns): New patterns.
|
||
|
||
* h8300.c (h8300_eightbit_data_p): Renamed from h8300_tiny_data_p.
|
||
(h8300_eightbit_data_p): Check for the "eightbit_data"
|
||
attribute instead of "tiny_data".
|
||
(h8300_valid_machine_decl_attribute): Likewise.
|
||
* h8300.h (ENCODE_SECTION_INFO): Call h8300_eightbit_data_p
|
||
instead of h8300_tiny_data_p.
|
||
|
||
* h8300.h (READONLY_DATA_SECTION): Define.
|
||
(EXTRA_SECTIONS): Add in_readonly_data.
|
||
(READONLY_DATA_SECTION_ASM_OP): Define.
|
||
(EXTRA_SECTION_FUNCTINOS): Add readonly_data.
|
||
|
||
Tue May 7 09:26:24 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (make_decl_rtl): Update DECL_ASSEMBLER_NAME for local
|
||
statics. Remove reference to flag_no_common.
|
||
|
||
Mon May 6 21:38:36 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cpplib.c (skip_comment, handle_directive): Don't use uninit vars.
|
||
|
||
Mon May 6 18:47:36 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_function): When deciding to call dbxout_function_end
|
||
change test from flag_function_sections to DECL_SECTION_NAME != NULL.
|
||
|
||
* varasm.c (named_section): Accept any decl.
|
||
|
||
Mon May 6 16:41:08 1996 Stan Cox (coxs@dg-rtp.dg.com)
|
||
|
||
* final.c (final_scan_insn): Modify conditional moves whose cc is
|
||
nonstandard.
|
||
|
||
* c-common.c (decl_attributes): Chain multiple attributes correctly.
|
||
|
||
Mon May 6 15:41:43 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* stmt.c (expand_decl): Don't deduce alignment of SIZE from
|
||
DECL_ALIGN; use TYPE_ALIGN instead.
|
||
|
||
* function.c (assign_parms): Set RTX_UNCHANGING_P in stack_parm
|
||
if parm is read-only.
|
||
|
||
* c-common.c (truthvalue_conversion, case ADDR_EXPR): Don't
|
||
treat address of external decl as always nonzero.
|
||
|
||
Mon May 6 11:33:57 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-decl.c (start_decl): Check -fno-common here.
|
||
* varasm.c (assemble_variable): Instead of here.
|
||
* final.c (end_final): Likewise.
|
||
* c-common.c (init_attributes, decl_attributes): Add A_COMMON.
|
||
|
||
Mon May 6 11:12:39 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* expr.c (expand_increment): Add third parameter to know when to
|
||
ignore the result value.
|
||
(store_constructor): Likewise
|
||
(expand_expr, case {PRE,POST}{INC,DEC}REMENT_EXPR): Likewise.
|
||
* tree.c (stabilize_reference): Always ignore the first operand of
|
||
COMPOUND_EXPRs.
|
||
|
||
Mon May 6 13:14:45 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.c (gen_shifty_op): Truncate VALUE to avoid out of bounds array
|
||
access.
|
||
|
||
* expr.c (expand_expr, case INDIRECT_REF): Delete obsolete code
|
||
to special case a SAVE_EXPR operand.
|
||
|
||
Mon May 6 10:00:12 1996 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* vax.h (ASM_OUTPUT_MI_THUNK): Define.
|
||
|
||
Mon May 6 09:49:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k/linux.h: Use the new trampoline definition.
|
||
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Deleted.
|
||
(INITIALIZE_TRAMPOLINE): Changed.
|
||
(FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New.
|
||
|
||
Mon May 6 09:43:55 1996 Patrick J. LoPresti (patl@lcs.mit.edu)
|
||
|
||
* rtlanal.c (rtx_addr_varies_p): Scan operands of type `E'.
|
||
|
||
Mon May 6 09:04:40 1996 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* x-linux{,-aout} (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): Deleted.
|
||
* config/t-linux (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): New,
|
||
moved from x-linux.
|
||
* t-linux-aout: New file.
|
||
* configure (i[3456]86-*-linux*oldld*, i[3456]86-*-linux*aout*):
|
||
Set tmake_file to t-linux-aout.
|
||
|
||
Sun May 5 22:13:22 1996 H.J. Lu (hjl@gnu.ai.mit.edu)
|
||
|
||
* Makefile.in (gxx_include_dir): Change to $(prefix)/include/g++.
|
||
(old_gxx_include_dir): New - defined as $(libdir)/g++-include.
|
||
(cccp.o, cpplib.o): Also pass OLD_GPLUSPLUS_INCLUDE_DIR (set
|
||
from $(old_gxx_include_dir)).
|
||
* cccp.c (include_defaults_array): For C++, also search
|
||
OLD_GPLUSPLUS_INCLUDE_DIR.
|
||
* cpplib.c (default_include): Likewise.
|
||
* configure: Remove no-longer-needed support for --gxx-include-dir.
|
||
|
||
Sun May 5 21:59:53 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-lex.c (check_newline): Fix #pragma parsing; issue error message
|
||
for directive that starts with `p' but isn't `pragma'.
|
||
|
||
Sun May 5 13:13:40 1996 Jeremy Bettis <jeremy@hksys.com>
|
||
|
||
* objc/hash.c (hash_value_for_key): Prevent endless loop when 0 was
|
||
stored in a hashtable.
|
||
|
||
Sun May 5 13:09:54 1996 Satoshi Adachi (adachi@wisdom.aa.ap.titech.ac.jp)
|
||
|
||
* m68k/newsgas.h (SET_ASM_OP, ASM_WEAKEN_LABEL): Define.
|
||
|
||
Sun May 5 12:48:08 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* tree.c (build_real_from_int_cst): Remove spurious test for
|
||
REAL_IS_NOT_DOUBLE.
|
||
|
||
Sat May 4 12:17:58 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* arm.h (ASM_OUTPUT_MI_THUNK): Moved here from aout.h. Rewrite to be
|
||
independent of the selected assembler, and to use optimal number of
|
||
instructions.
|
||
* arm/aout.h (ASM_OUTPUT_MI_THUNK): Delete.
|
||
|
||
* arm/aout.h (ASM_OUTPUT_OPTIONS): Define.
|
||
(ASM_FILE_START): Call ASM_OUTPUT_OPTIONS.
|
||
(BSS_SECTION_OP): Define.
|
||
(ASM_OUTPUT_ALIGN): Don't output anything if byte alignment is wanted.
|
||
(ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
* arm.h (target_cpu_name): Delete.
|
||
(TARGET_SWITCHES): Delete "be" and "le".
|
||
(TARGET_OPTIONS): Delete "cpu-", add "tune=".
|
||
(struct arm_cpu_select): New struct.
|
||
(PROCESSOR_DEFAULT, TARGET_CPU_DEFAULT): Define.
|
||
(EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Cmode.
|
||
(CANONICALIZE_COMPARISON): Define.
|
||
* arm.c (arm_select): Declare and initialize.
|
||
(all_procs): Add arm7100.
|
||
(arm_override_options): Parse arm_select structure to determine
|
||
selected architecture and tuning parameters.
|
||
(output_option, output_options): New functions.
|
||
(arm_canonicalize_comparison): New function.
|
||
(arm_gen_movstrqi): Don't add a writeback of the index registers for
|
||
the last instructions.
|
||
(arm_select_cc_mode): Detect case where mode is carry out of unsigned
|
||
arithmetic.
|
||
(output_lcomm_directive): Use bss_section (), and use alignment
|
||
rather than rounding.
|
||
(get_arm_condition_code): Handle CC_Cmode.
|
||
(final_prescan_insn): Avoid boundary case where we would occasionally
|
||
inline MAX_INSNS_SKIPPED+1 insns. Allow call_insns to be inlined in
|
||
APCS_32 mode if they are the last insn in the block.
|
||
* arm.md (*addsi3_compareneg): Delete potentially unsafe insn.
|
||
(*addsi3_compare_op[12]): New insns.
|
||
(*compare_addsi2_op[01]): New insns.
|
||
(*addsi3_carryin, *addsi3_carryin_alt[12]): New insns.
|
||
(*cmp_ite1): Use arm_add_operand instead of arm_rhs_operand.
|
||
* semi.h (PROCESSOR_DEFAULT): Default to PROCESSOR_ARM6.
|
||
|
||
Fri May 3 10:52:11 1996 1996 Stan Cox (coxs@dg-rtp.dg.com)
|
||
|
||
* i386.md (movesicc, movehicc) Pentium Pro conditional move insns.
|
||
|
||
* i386.h (TARGET_PENTIUMPRO, TARGET_CMOVE, BRANCH_COST,
|
||
ASM_OUTPUT_FUNCTION_PREFIX): New macros for conditional move.
|
||
|
||
* i386.c (asm_output_function_prefix, function_prologue): Setup
|
||
pic on Pentium Pro so a return will match the call.
|
||
(print_operand, put_condition_code): Output conditional move suffixes.
|
||
|
||
Fri May 3 10:52:11 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/{att.h,gas.h,bsd.h,sub386.h} (ASM_OUTPUT_MI_THUNK): Define.
|
||
|
||
Wed May 1 17:54:51 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.h (ASM_OUTPUT_MI_THUNK): Fix for sparc64, optimize.
|
||
|
||
Wed May 1 13:28:32 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
* i386/sysv4.h: Likewise.
|
||
* sparc/sysv4.h: Likewise.
|
||
|
||
Wed May 1 01:44:47 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (h8300_adjust_insn_length): Adjust the cost of
|
||
shifts by small constant values.
|
||
* h8300.md: Remove names from many patterns which don't need them.
|
||
(compare insns): Don't underestimate lengths.
|
||
(andqi3 expander): Remove constrains.
|
||
(andhi3): Don't underestimate length.
|
||
(andsi3): Don't underestimate length. Improve code when upper
|
||
or lower half of destination is being cleared.
|
||
(indirect_jump_h8300, indirect_jump_h8300h): Simplify.
|
||
(shift insns): Remove useless "I" constraint.
|
||
|
||
* h8300.md (bcs type): Remove "bcs" type attribute and all references.
|
||
(bcs insns): Delete. No longer needed.
|
||
(setcc from bitfield): Rewrite to use zero_extract. Provide
|
||
QImode, HImode and SImode variants.
|
||
|
||
Tue Apr 30 18:13:09 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* svr4.h (SELECT_SECTION): If RELOC is true, put it in data.
|
||
|
||
Tue Apr 30 17:26:30 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* fold-const.c (fold): Don't call convert to recreate tree nodes
|
||
we already have.
|
||
|
||
Tue Apr 30 16:52:41 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (one_insn_adds_subs_operand): New function.
|
||
(h8300_adjust_insn_length): New function.
|
||
* h8300.h (ADJUST_INSN_LENGTH): Define.
|
||
* h8300.md: Remove obsolete comments.
|
||
(move patterns): Tweak constraints.
|
||
(tst patterns): Use "register_operand" for predicate.
|
||
(adds pattern): Use one_insn_adds_subs_operand to get length
|
||
computation correct.
|
||
(subs pattern): Similarly.
|
||
(movstrhi): Remove unused expander.
|
||
(fancy*, pxor, and-not patterns): Remove. No longer needed.
|
||
|
||
Tue Apr 30 13:35:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/sol-c0.c (_start): Temporarily display calling
|
||
__do_global_ctors, since the Solaris linker doesn't handle the
|
||
relocations properly.
|
||
|
||
Mon Apr 29 13:03:12 1996 Doug Evans <dje@cyguns.com>
|
||
|
||
* sparc/vxsparc.h: sparc-aout.h renamed to aout.h.
|
||
|
||
Mon Apr 29 00:35:15 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (names_small): Remove "BAD" postfix from %r7 byte registers.
|
||
(rtx_equal_function_value_matters): Remove extra declaration.
|
||
(output_simode_bld): New function.
|
||
* h8300.h (NO_FUNCTION_CSE): Do define this.
|
||
(reg_class): Remove LONG_REGS, SP_REG, SP_AND_G_REGS.
|
||
(REG_CLASS_{NAMES,CONTENTS,FROM_LETTER}): Corresponding changes.
|
||
(REGNO_REG_CLASS): Corresponding changes.
|
||
(output_simode_bld): Declare.
|
||
* h8300.md: Nuke comments for stuff which has been fixed.
|
||
(all patterns): Remove references to register class "a" (SP_REGS)
|
||
which no longer exists.
|
||
(many patterns): Accept auto-inc auto-dec addresses in more cases.
|
||
(zero_extendqisi2): New pattern for the H8/300.
|
||
(zero_extendhisi2): Only use zero_extendhisi2_h8300 when not
|
||
optimizing.
|
||
(extendhisi2): Only use extendhisi2_h8300 when not optimizing.
|
||
(extendqisi2): New pattern for the H8/300.
|
||
(bitfield related patterns): Completely rewrite.
|
||
(fancy_bclr, fancy_btst): Deleted.
|
||
(addhi3 pattern for h8300): Handle case where we can't make matching
|
||
constraints (works around hard to fix reload problem).
|
||
(stack_pointer_manip): Delete.
|
||
(and not patterns): New combiner patterns.
|
||
|
||
* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Make sure the
|
||
final $CODE$ subspace is in the $TEXT$ space.
|
||
|
||
Sun Apr 28 14:52:21 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* svr4.h (ASM_OUTPUT_SECTION_NAME): If no decl is specified,
|
||
make the section read/write data.
|
||
|
||
Sat Apr 27 10:28:59 1996 Michael Meissner <meissner@wogglebug.tiac.net>
|
||
|
||
* rs6000/t-ppcgas (MULTILIB_EXCEPTIONS): Don't allow -mrelocatable
|
||
and -mcall-sysv-noeabi.
|
||
|
||
* rs6000/sysv.h (SUBTARGET_OVERRIDE_OPTIONS): The -mcall-aix
|
||
option sets -meabi. Don't allow -mrelocatable without -meabi.
|
||
|
||
Fri Apr 26 16:10:46 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.md (*smacsi,*smacdi,*umacdi): Fix constraint on
|
||
operand 0.
|
||
|
||
Fri Apr 26 14:36:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* i960/t-{960bare,vxworks960} (MULTILIB*): Add
|
||
soft-float multilib support.
|
||
|
||
Fri Apr 26 06:38:56 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* stor-layout.c (layout_decl): Turn off DECL_BIT_FIELD for BLKmode
|
||
that's properly aligned and a multiple of a byte.
|
||
|
||
Thu Apr 25 22:43:19 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* i386/gas.h (ASM_OUTPUT_ALIGN): #if 0 out again.
|
||
Undoes change of Apr. 9.
|
||
* i386/go32.h (ASM_OUTPUT_ALIGN): Define.
|
||
|
||
Thu Apr 25 14:05:33 1996 Richard Kenner (kennervlsi1.ultra.nyu.edu)
|
||
|
||
* calls.c (expand_call): In inlining case, if BEFORE_CALLS is
|
||
zero, start looking at first insn (one more place).
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_SETJMP): CLOBBER the
|
||
static chain after label at setjmp point.
|
||
|
||
Thu Apr 25 09:02:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (print_operand{,_address}): Correct compile error if
|
||
TARGET_EABI is not defined. Also, just call small_data_operand,
|
||
without testing the ABI.
|
||
(rs6000_select_section): Ditto.
|
||
|
||
* rs6000/sysv4.h (CC1_SPEC): For -mcall-solaris, don't pass
|
||
-mno-main-init.
|
||
|
||
Wed Apr 24 18:26:48 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* collect2.c (handler): Delete export_file when we get a signal.
|
||
|
||
Wed Apr 24 14:54:44 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa/pa1-ghpux.h (LINK_SPEC): Define. Link in PA1.1 libraries
|
||
by default.
|
||
* pa/{pa1-ghpux9.h, pa1-hpux.h, pa1-hpux9.h}: Likewise.
|
||
|
||
Wed Apr 24 11:12:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* configure (powerpc{,le}-*-eabi*): Use t-ppc{,gas}, instead of
|
||
t-eabi{,gas}.
|
||
(powerpc-*-linux,powerpcle-*-solaris): Add definitions.
|
||
(MULTILIB_DIRNAMES): Pick shorter names for the multilib
|
||
directories.
|
||
(MULTILIB_*): Do not build -msdata versions of the library. Build
|
||
both system V and eabi versions of the libraries.
|
||
|
||
* rs6000/t-ppc{,gas} (MULTILIB*): Don't build -msdata versions of
|
||
the libraries. Split -mcall-sysv libraries into
|
||
-mcall-sysv-{eabi,noeabi} varients.
|
||
(LIB2FUNCS_EXTRA): Add eabi.S, eabi-ctors.c.
|
||
(eabi.S): Use eabi.S, not eabi.s for eabi.asm.
|
||
(crt files): Add support for Solaris crt files.
|
||
|
||
* rs6000/sol{2.h,-c0.c,-ci.asm,-cn.asm}: New files for Solaris.
|
||
|
||
* rs6000/linux.h: New file for Linux-based GNU system support.
|
||
|
||
* rs6000/eabi-ci.asm (ppc-asm.h): Include.
|
||
(.got section): Correct attribute.
|
||
|
||
* rs6000/eabi-c{i,n}.asm (.init,.finit): Add support for System V
|
||
style .init/.fini sections, that constructors and destructors
|
||
place a bl <func> in the appropriate section.
|
||
|
||
* rs6000/eabi-ctors.c (__do_global_{c,d}tors): Call __init, and
|
||
__fini to handle constructors/destructors in the .init, .fini
|
||
sections.
|
||
|
||
* rs6000/{eabi,sysv}.h: Move most eabi configuration stuff from
|
||
eabi.h to sysv.h.
|
||
|
||
* rs6000/sysv.h (TARGET_*): Convert -mcall-xxx from switch into option.
|
||
Add -mcall-{solaris,linux,sysv-eabi,sysv-noeabi} options.
|
||
Add -m{,no-}eabi options to control whether we adhere to
|
||
the System V spec or the EABI spec. Add -m{,no-}regnames to
|
||
control whether registers are printed out as %r0 instead of 0.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Add support for new -mcall options.
|
||
(FP_ARG_MAX_REG): Use new macros for ABI conformance.
|
||
(RS6000_REG_SAVE): Likewise.
|
||
(STACK_BOUNDARY,BIGGEST_ALIGNMENT): If eabi, align to 8 byte
|
||
boundary, otherwise 16 byte.
|
||
(EXTRA_SECTIONS): Add .init, .fini sections.
|
||
(*_SPEC): Reorganize so that the different targets all have sub
|
||
specs that go in the specs file. Add support for linux and
|
||
Solaris targets.
|
||
|
||
* rs6000/{sysv4,eabi}*.h (*_SPECS): Only override the default
|
||
spec, all other specs moved to sysv4.h.
|
||
(RS6000_ABI_NAME): Use RS6000_ABI_NAME to set the default ABI
|
||
name, not TARGET_DEFAULTS.
|
||
|
||
* rs6000/xm-sysv4.h (alloca): Properly declare alloca if compiler
|
||
is not GCC.
|
||
(DONT_DECLARE_SYS_SIGLIST): Define.
|
||
|
||
* rs6000.c (rs6000_abi_name): New global for getting the results
|
||
of -mcall-xxx.
|
||
(rs6000_reg_names): New global for holding the normal register names.
|
||
(alt_reg_names): Alternate register names for -mregnames.
|
||
(rs6000_override_options): If -mregnames, copy alt_reg_names into
|
||
rs6000_reg_names.
|
||
(input_operand): Recognize ABI_SOLARIS.
|
||
(small_data_operand, init_cumulative_args): Likewise.
|
||
(function_arg{,_boundary,_advance,_partial_nregs}): Likewise.
|
||
(function_arg_pass_by_reference, setup_incoming_varargs): Likewise.
|
||
({rs6000,debug}_stack_info, output_{prolog,epilog}): Likewise.
|
||
(print_operand): %$ prints '.' on Solaris, '$' elsewhere.
|
||
(print_operand{,_address}): If not eabi, use @sdarel for small
|
||
data references.
|
||
(rs6000_stack_info): Only emit __eabi call if TARGET_EABI.
|
||
|
||
* rs6000.h (*_SPECS): Move the System V specs to svr4.h.
|
||
(ABI_SOLARIS): New ABI, mostly like System V.
|
||
(EXTRA_CONSTRAINT): Use ABI_SOLARIS like ABI_V4.
|
||
(RETURN_ADDRESS_OFFSET, (LEGITIMATE_SMALL_DATA_P): Likewise.
|
||
(RETURN_IN_MEMORY): On Solaris, small structures are returned in regs.
|
||
(REGISTER_NAMES): Use rs6000_reg_names array, instead of string
|
||
literals.
|
||
(DEBUG_REGISTER_NAMES): Define.
|
||
(ADDITIONAL_REGISTER_NAMES): Add sp, toc aliases.
|
||
(PRINT_OPERAND_PUNCT_VALID_P): Recognize $ as a punctuation char.
|
||
|
||
* rs6000.md (got & call patterns): Use ABI_SOLARIS to mean the
|
||
same as ABI_V4.
|
||
(branch patterns): Use %$ for the current location, not just $.
|
||
|
||
* va-ppc.h: Add Solaris support.
|
||
|
||
Tue Apr 23 20:02:13 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* sparc.c (output_function_prologue): In -mbroken-saverestore
|
||
case, %sp = %fp - size.
|
||
* sparc/t-splet (TARGET_LIBGCC2_CFLAGS): Delete.
|
||
* sparc.md (isa attribute): Add sparclet.
|
||
(*smacsi,*smacdi,*umacdi): Use match_operand, not match_dup
|
||
for third arg.
|
||
(*mulsidi3_sp32,const_mulsidi3,*umulsidi3_sp32,const_umulsidi3): Use
|
||
smuld,umuld for sparclet.
|
||
|
||
Tue Apr 23 16:28:28 1996 Michael Meissner <meissner@wombat.gnu.ai.mit.edu>
|
||
|
||
* m68k/m68kemb.h: Add {LINK,STARTFILE,LIB,SUBTARGET}_SPEC, so
|
||
gcc will use libgloss for supported target boards {idp,mvme,bcc}.
|
||
|
||
Tue Apr 23 16:00:28 1996 Per Bothner <bothner@cygnus.com>
|
||
|
||
* expr.c (store_constructor): Fix test for missing array elements.
|
||
|
||
Tue Apr 23 11:21:09 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* i386/sco5.h (BSS_SECTION_ASM_OP): Use `data' directive.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Generate an `lcomm' directive.
|
||
(TARGET_DEFAULT): Include TARGET_IEEE_FP.
|
||
(CPP_PREDEFINES): Include Di386.
|
||
|
||
Mon Apr 22 12:00:46 1996 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.h (BIGGEST_FIELD_ALIGNMENT): Delete.
|
||
(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Define.
|
||
* sysv4.h (BIGGEST_FIELD_ALIGNMENT): Delete.
|
||
(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
|
||
* win-nt.h (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
|
||
|
||
Sun Apr 21 17:52:36 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m68k/coff.h (ASM_OUTPUT_SECTION): Test DECL before
|
||
dereferencing it.
|
||
|
||
* cse.c (cse_process_notes): Handle SUBREG like ZERO_EXTEND.
|
||
|
||
Sun Apr 21 12:57:12 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* arm/aout.h (ASM_OUTPUT_MI_THUNK): Define.
|
||
|
||
Sun Apr 21 09:50:09 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
|
||
|
||
Sun Apr 21 08:42:13 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* alpha.c (check_float_value): Cast args of bcopy to avoid warnings.
|
||
|
||
Sat Apr 20 21:22:21 1996 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* stor-layout.c (layout_record): Use ADJUST_FIELD_ALIGN to modify
|
||
alignment of fields within records.
|
||
|
||
Sat Apr 20 19:55:33 1996 Niels Moller <nisse@lysator.liu.se>
|
||
|
||
* c-parse.in (typespec): Made <SomeProtocol> equivalent
|
||
to (id <SomeProtocol>).
|
||
(non_empty_protocolrefs): New nonterminal.
|
||
|
||
Sat Apr 20 08:34:02 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
|
||
|
||
* stmt.c (check_for_full_enumeration_handling): Call case_tree2list
|
||
before checking for case expressions not corresponding to enumerators.
|
||
(mark_seen_cases): If SPARSENESS == 2, exploit AVL order.
|
||
Else, convert tree to list.
|
||
Set xlo to -1 if SPARSENESS == 1 search failed.
|
||
(expand_end_case): Avoid calling case_tree2list on list.
|
||
|
||
Fri Apr 19 16:54:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000/win-nt.h (BIGGEST_FIELD_ALIGNMENT): Set to 64, not
|
||
32 that AIX uses.
|
||
|
||
Fri Apr 19 16:40:38 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* i386.md (movqi): Handle QImode values in %si and %di.
|
||
|
||
Thu Apr 18 20:56:56 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.md (lshrsi3): Change gen_ashlsi3_d to gen_lshrsi3_d.
|
||
|
||
Thu Apr 18 15:49:28 1996 Per Bothner <bothner@cygnus.com>
|
||
|
||
* sparc.h (ASM_OUTPUT_MI_THUNK): Define.
|
||
|
||
Thu Apr 18 15:19:26 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.md: Remove "type" attribute from all patterns except those
|
||
which have varying length branches. Eliminate obsolete "type"
|
||
attributes. Add "length" and "cc" attributes to insns without them;
|
||
fix some length computations. Remove patterns which are commented out.
|
||
|
||
* h8300.md (zero extension expanders and insns): Simplify, fix various
|
||
length problems, provide optimized versions for the h8300 and h8300h.
|
||
(sign extension expanders and insns): Likewise. Make them
|
||
nearly identical to zero_extension patterns and insns.
|
||
|
||
Wed Apr 17 18:50:16 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* pa.h (SELECT_SECTION): Define. Never place a something
|
||
into the read-only data section if it requires a reloc.
|
||
|
||
* pa.md (rotlsi3): Delete unnecessary and incorrect pattern.
|
||
|
||
Wed Apr 17 17:15:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.md (movdi): Never FAIL, even if operand[1] is not a
|
||
general operand, due to being in volatile memory.
|
||
|
||
Wed Apr 17 15:20:10 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||
|
||
* c-lex.c (check_newline): Rewrite to use tokens.
|
||
(handle_sysv_pragma): Take a token instead of a character.
|
||
* i960.c (process_pragma): Take the IDENTIFIER_POINTER tree
|
||
node instead of a character.
|
||
* sh.c (handle_pragma): Likewise.
|
||
* config/nextstep.c (handle_pragma): Likewise.
|
||
* h8300.c (handle_pragma): Likewise.
|
||
* i960.h (HANDLE_PRAGMA): Expect/pass 2nd arg of NODE, not CH.
|
||
* sh.h (HANDLE_PRAGMA): Likewise.
|
||
* config/nextstep.h (HANDLE_PRAGMA): Likewise.
|
||
* h8300.h (HANDLE_PRAGMA): Likewise.
|
||
|
||
Wed Apr 17 14:28:43 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* choose-temp.c: Don't include sys/file.h ifdef NO_SYS_FILE_H.
|
||
#include <stdio.h>.
|
||
(choose_temp_base): Make tmp,usrtmp, static locals.
|
||
|
||
Wed Apr 17 08:41:02 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* alpha.c (alpha_emit_conditional_move): Fix some bugs in previous
|
||
change and do some cleanup.
|
||
|
||
Tue Apr 16 18:53:05 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (push_reload): Add extra reload for inside of SUBREG if
|
||
it is CONSTANT_P.
|
||
|
||
* expr.c (do_store_flag): Rewrite last change to avoid compiler
|
||
warnings.
|
||
|
||
* reload.c (push_reload): When reuse an old reload, set the modes
|
||
to be the larger of the old and new modes.
|
||
|
||
* i960/t-960bare (xp-bit.c): Fix typo in source file name.
|
||
|
||
Tue Apr 16 18:09:16 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.md (andhi3): If 2nd operand is a CONST_INT that meets 'J'
|
||
constraint, then only two bytes are needed for this insn. Improve
|
||
code generated for the h8300h when both operands are registers.
|
||
(iorhi3, xorhi3): Likewise. Rework to be nearly identical to andhi3.
|
||
(andsi3): If 2nd operand is a CONST_INT that meets the 'J'
|
||
constraint, then only two bytes are need for this insn.
|
||
Improve code generated for the h8300h regardless of the
|
||
type of the 2nd operand. Make this pattern work on the h8300 too.
|
||
(iorsi3, xorsi3): Likewise. Rework to be nearly identical to andsi3.
|
||
(iorqi3_internal): Make this pattern look more like andqi3_internal.
|
||
(one_cmplhi2, one_cmplsi2): Fix length computation for H8300H.
|
||
|
||
Tue Apr 16 17:43:25 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
|
||
|
||
* i386.md (addsidi3_2): Handle non-MEM overlap case.
|
||
|
||
Tue Apr 16 16:59:49 1996 Richard Henderson <rth@tamu.edu>
|
||
|
||
* function.c (expand_function_end): Allow TRAMPOLINE_TEMPLATE
|
||
to be omitted on systems for which it is not cost effective.
|
||
* varasm.c (assemble_trampoline_template): No such function
|
||
if no TRAMPOLINE_TEMPLATE.
|
||
* m68k.h: Greatly simplify the run-time trampoline code:
|
||
(TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): Delete define.
|
||
(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed.
|
||
(TRAMPOLINE_ALIGN): No point aligning to cache line.
|
||
(FINISH_INIT_TRAMPOLINE): New define.
|
||
* m68k/next.h: Instead of redefining INITIALIZE_TRAMPOLINE,
|
||
make use of the new FINISH_INIT_TRAMPOLINE.
|
||
* m68k/{m68k.h,next.h,aux.h} (FINISH_INIT_TRAMPOLINE):
|
||
Rename to FINALIZE_TRAMPOLINE.
|
||
* m68k/{linux.h,m68kv4.h}: Override trampoline macros.
|
||
|
||
Tue Apr 16 16:02:50 1996 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* combine.c (make_field_assignment): Allow XOR in final case.
|
||
|
||
Tue Apr 16 11:33:53 1996 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* m68k.h (TARGET_SWITCHES): Don't remove MASK_68060 with -msoft-float.
|
||
|
||
* m68k.h (MULL_COST, MULW_COST, RTX_COSTS): Add costs for TARGET_68060.
|
||
* m68k.md (ashlsi_16, lshrsi_16): Disable pattern for TARGET_68060;
|
||
this special case is not faster for that cpu.
|
||
|
||
Tue Apr 16 10:54:55 1996 Eliot Dresselhaus <dresselh@rft30.nas.nasa.gov>
|
||
|
||
* alpha.c (alpha_emit_conditional_move): New function.
|
||
* alpha.h (alpha_emit_conditional_move): Declare it.
|
||
* alpha.md (cmov* define_expands): Use it.
|
||
|
||
Tue Apr 16 09:06:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* function.h (struct function): New field returns_pointer.
|
||
* function.c (push_function_context_{to,from}): Save and restore
|
||
current_function_returns_pointer.
|
||
|
||
* config/svr4.h (ENDFILE_SPEC): Add missing `%s'.
|
||
|
||
* configure (m68k-*-linux*aout*): Set tmake_file to m68k/t-linux-aout.
|
||
(m68k-*-linux*): Set extra_parts.
|
||
* m68k/t-linux (INSTALL_ASSERT_H): New definition.
|
||
(CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): New definitions.
|
||
* m68k/t-linux-aout: New file.
|
||
* m68k/linux.h (LIB_SPEC): Deleted.
|
||
(BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
|
||
* m68k.h (TRAMPOLINE_ALIGNMENT): Specify alignment in bits, not bytes.
|
||
|
||
Tue Apr 16 08:53:17 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* final.c (final_scan_insn): Allow removal of redundant test and
|
||
compare instructions that use clobbers.
|
||
|
||
Tue Apr 16 06:22:00 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* c-decl.c (clear_limbo_values): New function.
|
||
(pushdecl): Call it for function body blocks.
|
||
|
||
* objc/thr-decosf1.c (_objc_thread_id): Correct return type from
|
||
int to _objc_thread_id.
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_LONGJMP): Make a decl
|
||
for __dummy, so we can call make_function_rtl on it.
|
||
|
||
* expr.c (expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR
|
||
with a variable-size return.
|
||
|
||
Mon Apr 15 17:38:45 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fixincludes: Fix undefined VOIDFUNCPTR in VxWorks 5.2 <time.h>.
|
||
|
||
Mon Apr 15 15:12:16 1996 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (do_store_flag): Before calling exact_log2, remove any
|
||
sign extension bits.
|
||
|
||
* reload1.c (emit_reload_insns): Call reload_reg_reaches_end_p for
|
||
every reg of multi-reg spill register. Invalidate old info for multi
|
||
reg spill registers when only part survives to the end.
|
||
|
||
Mon Apr 15 14:49:12 1996 Mike Stump <mrs@cygnus.com>
|
||
|
||
* function.c (preserve_temp_slots): Only preserve temporaries that
|
||
happen to be at the current level.
|
||
|
||
Mon Apr 15 14:08:12 1996 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* gansidecl.h: New file.
|
||
* choose-temp.c: New file.
|
||
* Makefile.in (xgcc): Depend on and link in choose-temp.o.
|
||
(collect2): Likewise.
|
||
(choose-temp.o): Add rule for.
|
||
* collect2.c: #include "gansidecl.h".
|
||
(const,PROTO): Delete.
|
||
(P_tmpdir): Delete.
|
||
(choose_temp_base): Declare as extern, delete internal copy.
|
||
(main): Update call to choose_temp_base.
|
||
* cpphash.c: #include "gansidecl.h".
|
||
(NULL,const,volatile): Delete.
|
||
* demangle.h: #include "gansidecl.h".
|
||
(PROTO,PTR,const): Delete.
|
||
* expr.h (const): Delete.
|
||
* fix-header.c: #include "gansidecl.h".
|
||
(const): Delete.
|
||
* gcc.c: #include "gansidecl.h".
|
||
(PROTO,VPROTO,PVPROTO,VPROTO,VA_START,NULL): Delete.
|
||
(GENERIC_PTR,NULL_PTR,P_tmpdir): Delete.
|
||
(choose_temp_base): Declare as extern, delete internal copy.
|
||
(concat): Rewrite to take a variable number of arguments.
|
||
(choose_temp_base_try,concat[346]): Delete.
|
||
(translate_options,set_spec,process_command,do_spec_1,
|
||
is_directory,main): Always use concat, not concat[346]. Pass
|
||
NULL_PTR as trailing arg to concat.
|
||
* genattr.c (main): Delete printing of "#define PROTO".
|
||
* machmode.h: #include "gansidecl.h".
|
||
(PROTO): Delete.
|
||
(HAVE_MACHINE_MODES): Move definition to standard place.
|
||
* recog.h: #include "gansidecl.h".
|
||
(PROTO,const): Delete.
|
||
* rtl.h: #include "gansidecl.h".
|
||
(PROTO,VPROTO,PVPROTO,VPROTO,VA_START,STDIO_PROTO): Delete.
|
||
(NULL,GENERIC_PTR,NULL_PTR): Delete.
|
||
* tree.h: Likewise.
|
||
|
||
Mon Apr 15 08:49:20 1996 Tom May (ftom@netcom.com)
|
||
|
||
* cse.c (invalidate_skipped_set): Ignore CLOBBER after calling
|
||
note_mem_written, not before.
|
||
|
||
Mon Apr 15 08:22:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
|
||
|
||
* m68k.md (tstdi): Optimized for "d" case.
|
||
(movqi): Allow moving "i" into "a".
|
||
(zero_extendsidi2): Alternatives merged.
|
||
(extendplussidi): Fixed when operands 0 and 1 share a register.
|
||
(adddi_sexthishl32): Constraints reordered for better reload.
|
||
(adddi3,subdi_sexthishl32,subdi3,negdi2): Likewise.
|
||
(ashldi_sexthi): Accept "m" as operand 0.
|
||
(ashldi_const32): Alternatives merged.
|
||
(ashift patterns): Output "lsl" instead of "asl".
|
||
(beq0_di): If condition codes already set, output only branch insn.
|
||
(bne0_di,bge0_di,blt0_di): Likewise.
|
||
* m68k.c (notice_update_cc, case ASHIFT{,RT}, LSHIFTRT, ROTATE{,RT}):
|
||
Don't set CC_NO_OVERFLOW.
|
||
* m68k.h (TARGET_SWITCHES): Fix typo in "c68000" entry.
|
||
|
||
Mon Apr 15 08:06:17 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* real.c (eadd1): Check for overflow on X plus X.
|
||
|
||
Mon Apr 15 08:02:24 1996 J.T. Conklin <jtc@cygnus.com>
|
||
|
||
* i386/netbsd.h (HAVE_SYSV_PRAGMA): Removed definition.
|
||
* config/netbsd.h (HAVE_SYSV_PRAGMA): Define.
|
||
(SET_ASM_OP): Define.
|
||
|
||
Mon Apr 15 07:28:54 1996 Fila Kolodny <fila@ibi.com>
|
||
|
||
* configure: Add definition for host= into Makefile.
|
||
* build-make (CC): Pass -b $(host), not target.
|
||
|
||
Mon Apr 15 05:12:39 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (bc_expand_increment): Change declaration to return void.
|
||
|
||
* toplev.c (max_label_num_after_reload): New variable.
|
||
(rest_of_compilation): Set it.
|
||
* reorg.c (find_dead_or_set_registers): Only kill spill regs after
|
||
label made before jump2.
|
||
|
||
* combine.c (expand_field_assignment): Take SUBREG_WORD into
|
||
account when have STRICT_LOW_PART.
|
||
(make_extraction): Make a STRICT_LOW_PART at any low-order word.
|
||
|
||
Mon Apr 15 03:43:11 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* flags.h (flag_function_sections): Declare.
|
||
* toplev.c (flag_function_sections): Define.
|
||
(compile_file): Add warnings when -ffunction-sections is
|
||
used with -g, or profiling. Disable -ffunction-sections
|
||
when profiling is used. Add warning when -ffunction-sections
|
||
is used on a target that doesn't support it.
|
||
* varasm.c (named_section): Make a copy of the section name
|
||
in case the original is in temporary storage.
|
||
(function_section): Set DECL_SECTION_NAME for each function
|
||
if flag_function_sections is on and the target supports it.
|
||
* dbxout.c (dbxout_function_end): New function.
|
||
(dbxout_function): Call dbxout_function_end if using extensions
|
||
and flag_function_sections is on.
|
||
* sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
|
||
section's name with ".text%" when -ffunction-sections.
|
||
|
||
Sun Apr 14 19:37:43 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* toplev.c (main): Delete redundant test for -p used with -fbytecode.
|
||
|
||
Sun Apr 14 19:01:59 1996 John F. Carr <jfc@mit.edu>
|
||
|
||
* c-decl.c (finish_enum): Don't crash if no type can represent all
|
||
enumeration values.
|
||
|
||
Sun Apr 14 18:56:40 1996 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* m68k.md (ftruncdf2): Enable for m68060 systems.
|
||
|
||
Sun Apr 14 18:49:30 1996 David L. Reese (david.reese@east.sun.com)
|
||
|
||
* fold-const.c (range_test): Don't convert hi_cst or lo_cst
|
||
to unsigned when folding signed range tests.
|
||
|
||
Sun Apr 14 08:56:27 1996 Stephen L Moshier <moshier@world.std.com>
|
||
|
||
* real.h (ereal_from_{int,uint}): Add new arg, MODE.
|
||
(REAL_VALUE_FROM{,_UNSIGNED}_INT): New arg, MODE.
|
||
* real.c (ereal_from_{int,uint}): New arg, MODE.
|
||
* cse.c (simplify_unary_operation): Add new arg to REAL_VALUE_FROM_INT.
|
||
* fold-const.c (fold_convert): Likewise.
|
||
* tree.c (real_value_from_int_cst): New arg, TYPE.
|
||
Pass mode to REAL_VALUE_FROM_INT.
|
||
(build_real_from_int_cst): Properly deal with truncation.
|
||
|
||
Sun Apr 14 08:21:29 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* combine.c (try_combine): When substituting in output of I2,
|
||
ensure dest isn't clobbered in I2.
|
||
|
||
* combine.c (combine_instructions): In initial scan of insns,
|
||
handle a REG_INC note's affect on sign bit copies and nonzero bits.
|
||
(set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.
|
||
|
||
Sun Apr 14 07:52:28 1996 Manor Askenazi <manor@santafe.edu>
|
||
|
||
* objc/encoding.c (objc_skip_typespec): Don't abort for _C_UNDEF.
|
||
|
||
Sat Apr 13 20:35:36 1996 Richard Henderson (richard@atheist.tamu.edu)
|
||
|
||
* configure (m68k-apple-aux*): Rework to take advantange
|
||
of list of tm.h files and support all four gas/gld options.
|
||
* m68k/auxas.h, m68k/auxgas.h, m68k/auxgld.h, m68k/auxld.h: New files.
|
||
* m68k/auxstd.h, m68k/auxgnu.h: Deleted.
|
||
|
||
Sat Apr 13 20:18:11 1996 Stephen L Moshier <moshier@world.std.com>
|
||
|
||
* alpha.c (check_float_value): New function.
|
||
* alpha.h (CHECK_FLOAT_VALUE): Define.
|
||
(ASM_OUTPUT_FLOAT): Print the value in hex.
|
||
|
||
Sat Apr 13 15:08:45 1996 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* configure: New target arm{,el}-*-coff*.
|
||
(cpu_default): Sort alphabetically.
|
||
* arm/coff.h: New file.
|
||
* arm/t-bare: New file.
|
||
* arm/arm.c (use_return_insn): Don't use return for naked functions.
|
||
(arm_valid_machine_decl_attribute): New function.
|
||
(arm_naked_function_p): New function.
|
||
(output_func_prologue): Naked functions don't have prologues.
|
||
(arm_expand_prologue): Likewise.
|
||
(output_func_epilogue): Likewise with epilogues.
|
||
|
||
Sat Apr 13 11:31:32 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (adds_subs_operand): Fix thinko in last change.
|
||
|
||
* h8300.md (subhi3): Turn into a define_expand.
|
||
(subhi3 using adds_subs): New pattern.
|
||
(H8300 subhi): Derived from old subhi pattern. Simplified.
|
||
(H8300H subhi): Likewise.
|
||
(subsi using adds_subs): New pattern. Only used on H8300H.
|
||
(subsi_h8300): Allow "a" registers as destination.
|
||
(subsi_h8300h): Allow "a" registers as destination. Simplify.
|
||
|
||
* h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
|
||
in last change.
|
||
|
||
Sat Apr 13 08:59:48 1996 Fila Kolodny <fila@ibi.com>
|
||
|
||
* i370/mvs.h (ASM_DECLARE_FUNCTION_NAME): Don't write anything to
|
||
asm file, because everything is handled in FUNCTION_PROLOGUE.
|
||
|
||
Sat Apr 13 07:55:38 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* alpha.c (alpha_emit_set_const_1): Renamed from
|
||
alpha_emit_set_const and static.
|
||
Remove change of Nov 26; again use normal mechanism for SImode.
|
||
(alpha_emit_set_const): New function.
|
||
|
||
Fri Apr 12 18:19:39 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (adds_subs_operand, output_adds_subs): New functions.
|
||
* h8300.md (addhi3): Turn into a define_expand.
|
||
(addhi3 using adds_subs): New pattern.
|
||
(H8300 addhi): Derived from old addhi pattern. Simplified.
|
||
(H8300H addhi): Likewise.
|
||
(addsi using adds_subs): New pattern. Only used on H8300H.
|
||
(addsi_h8300): Allow "a" registers as destination.
|
||
(addsi_h8300h): Simplify. Allow "a" registers as destination.
|
||
|
||
* h8300.md (bcs): New attribute type.
|
||
(default_length): Compute correct length for bcs insns.
|
||
(bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
|
||
to account for correct length computation.
|
||
|
||
* h8300.md (movhi_internal): Demand at least one operand to be reg.
|
||
(movsi_h8300{{,h}): Optimize loading certain constants.
|
||
|
||
* h8300.h (NO_FUNCTION_CSE): Comment out.
|
||
(FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
|
||
(RETURN_IN_MEMORY): Don't return small structs in regs.
|
||
|
||
* h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
|
||
(notice_update_cc): Remove references to "value2" field.
|
||
|
||
* h8300.c (dosize): Remove unused "fped" argument. All callers
|
||
changed. Handle add/sub of 5-8 bytes efficiently on the h8300h.
|
||
|
||
* h8300.c (print_operand): Handle new 'R' case for accessing
|
||
the 8-bit area. Make code for 'Y' fall into code for 'R' when
|
||
operand is not a register. Update some comments.
|
||
(h8300_tiny_data_p): New function.
|
||
(h8300_valid_machine_decl_attribute): Handle "tiny_data" attribute.
|
||
* h8300.h (OK_FOR_U): Handle memory references into 8-bit area.
|
||
(ENCODE_SECTION_INFO): Mark SYMBOL_REFs which refer to 8-bit area.
|
||
* h8300.md (many patterns): Use 'R' rather than 'X' for
|
||
operands that may be memory accesses into the 8-bit area.
|
||
(btst pattern): New pattern to set the cc0 (zbit) based on
|
||
data in the 8-bit area.
|
||
|
||
* h8300.md (one_cmplsi2): Fix length computation for h8300h.
|
||
|
||
Fri Apr 12 14:34:39 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* arm.md (*ldmsi,*stmsi): Use (mem (match_operand ...))
|
||
to avoid using indirect_operand (reload problems).
|
||
* arm/semi.h (CPP_PREDEFINES): Define __semi__ instead of semi.
|
||
* arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
|
||
(ASM_OUTPUT_ADDR_{VEC,DIFF_ELT}): Likewise.
|
||
|
||
Fri Apr 12 09:43:30 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dbxout.c (dbxout_typedefs): Don't emit incomplete types yet.
|
||
(dbxout_symbol): Use DECL_ARTIFICIAL to recognize C++ implicit
|
||
typedefs.
|
||
|
||
Thu Apr 11 21:56:26 1996 Doug Evans <dje@cygnus.com>
|
||
|
||
* i386/t-winnt (winnt.o): Rewrite based on .c.o rule.
|
||
(oldnames.o,spawnv.o): Add rules for.
|
||
|
||
Thu Apr 11 07:25:06 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* calls.c (expand_call): In inlining case, if BEFORE_CALLS is
|
||
zero, start looking at first insn.
|
||
|
||
* expr.c (preexpand_calls, case CALL_EXPR): Rework to properly
|
||
avoid expanding functions returning variable size objects.
|
||
|
||
* integrate.c (expand_inline_function): When comparing types
|
||
of formal and actual, use TYPE_MAIN_VARIANT.
|
||
|
||
Thu Apr 11 00:48:29 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300/lib1funcs.asm (modnorm): New function(s). Like divnorm,
|
||
but gets the sign bit right for modulo operations.
|
||
(__modhi3, modsi3): Use modnorm.
|
||
|
||
* h8300.c (dosize): On h8300h, do 4 byte adjusts using adds and subs.
|
||
* h8300.h (LONG_LONG_TYPE_SIZE): Always make this 32bits.
|
||
Reverses change from Apr 2, 1996.
|
||
|
||
Wed Apr 10 18:39:52 1996 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* sparc.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
|
||
(FUNCTION_PROFILER): Use ASM_GENERATE_INTERNAL_LABEL instead.
|
||
|
||
* sparc.c (sparc_override_options): 90c701 renamed to tsc701.
|
||
(eligible_for_epilogue_delay_slot): Don't allow anything if
|
||
-mbroken-saverestore.
|
||
(output_function_prologue): Only use trivial save's if
|
||
-mbroken-saverestore.
|
||
* sparc.h (CPP_SPEC): Handle -mcpu={sparclet,tsc701}.
|
||
(ASM_SPEC): Likewise.
|
||
({MASK,TARGET}_BROKEN_SAVERESTORE): Define.
|
||
(enum processor_type): 90C701 renamed to TSC701.
|
||
* sparc.md (attr cpu): 90c701 renamed to tsc701.
|
||
* sparc/splet.h (SUBTARGET_SWITCHES): Recognize -mbroken-saverestore.
|
||
|
||
Wed Apr 10 17:56:02 1996 Stan Cox <coxs@dg-rtp.dg.com>
|
||
|
||
* m88k/dgux.h (EXTRA_SPECS): Define.
|
||
(ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
|
||
* m88k/dguxbcs.h (ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
|
||
* m88k/m88k.c (output_ascii) Output literal HT.
|
||
|
||
Wed Apr 10 17:28:37 1996 James Carlson (carlson@xylogics.com)
|
||
|
||
* configure: Work around AIX bug when defining SUBDIRS.
|
||
|
||
Wed Apr 10 17:22:42 1996 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* cexp.y (parse_number): Don't reject long long constants unless
|
||
pedantic.
|
||
|
||
Wed Apr 10 17:19:56 1996 Stephen L. Moshier (moshier@world.std.com)
|
||
|
||
* real.c (e64toe): Properly distinguish between NaN and infinity
|
||
bit patterns for real-words-big-endian targets.
|
||
|
||
Wed Apr 10 17:17:26 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* real.c (endian): Add two explicit casts.
|
||
(e64toe): Support ARM extended precision fp format.
|
||
Check negative infinities properly for NaNs.
|
||
(toe64): Support ARM extended precision fp format.
|
||
|
||
Tue Apr 9 12:53:31 1996 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* i386/gas.h (ASM_OUTPUT_ALIGN): Define and use .balign.
|
||
|
||
Tue Apr 9 12:48:45 1996 Stephen L Moshier (moshier@world.std.com)
|
||
|
||
* sparc.c (fp_zero_operand): Exclude -0.0.
|
||
|
||
Tue Apr 9 07:11:24 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* alpha.c: Fix typo in last change.
|
||
|
||
* tree.c (substitute_in_expr): Don't return new expression if
|
||
nothing changed.
|
||
(substitute_in_type): Deleted, not used.
|
||
* tree.h (substitute_in_type): Delete declaration.
|
||
|
||
Mon Apr 8 16:30:18 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* flow.c (find_auto_inc): Also make sure there aren't
|
||
any sets of the incremented register between the memory
|
||
reference and increment insn.
|
||
|
||
Mon Apr 8 15:41:14 1996 John Polstra (jdp@polstra.com)
|
||
|
||
* configure (i[3456]86-*-freebsdelf*): New target.
|
||
* i386/freebsd-elf.h: New file.
|
||
* i386/x-freebsd (USER_H): New define; to null.
|
||
|
||
Mon Apr 8 14:44:41 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* c-decl.c (finish_function): Always warn if main doesn't return int.
|
||
|
||
Mon Apr 8 13:01:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* rs6000.c (got_operand): New function, returns true if the
|
||
operand can go in V.4's GOT.
|
||
(rs6000_pic_register): New variable.
|
||
(output_epilog): Reset rs6000_pic_register.
|
||
|
||
* rs6000.h (rs6000_pic_register, got_operand, flag_pic): Add decls.
|
||
(PREDICATE_CODES): Add got_operand.
|
||
|
||
* rs6000.md (movsi): Add support for V.4's -fpic and -FPIC.
|
||
(init_v4_pic): Initialize the V4 pic register if needed.
|
||
(call patterns): If -fpic/-fPIC, call function with @plt suffix.
|
||
|
||
* t-eabigas (MULTILIB_DIRNAMES): Remove errant pic directory.
|
||
|
||
* rs6000.c (output_prolog): Correctly store & restore the
|
||
arguments to main in their correct save location, when calling the
|
||
start function.
|
||
|
||
Mon Apr 8 13:01:37 1996 David Reese <Dave.Reese@East.Sun.COM>
|
||
|
||
* rs6000.c (print_operand): Use reg_names to print registers.
|
||
|
||
Fri Apr 5 00:40:19 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (h8300_valid_machine_decl_attribute): Use underscores,
|
||
not dashes in attributes.
|
||
(h8300_funcvec_function_p): Corresponding changes.
|
||
(h8300_interrupt_function_p): Likewise.
|
||
|
||
* pa.h (INIT_CUMULATIVE_INCOMING_ARGS): Initialize "indirect"
|
||
field to zero.
|
||
|
||
Thu Apr 4 12:52:11 1996 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* loop.c (combine_givs): Use new macro GIV_SORT_CRITERION.
|
||
New variable giv_array. Loop over giv_array instead of following
|
||
next_iv links.
|
||
(giv_sort): New function.
|
||
* sh.h (GIV_SORT_CRITERION): Define.
|
||
|
||
* c-typeck.c (push_init_level): When output alignment for structure
|
||
field, add check to verify it is the next field to be output.
|
||
|
||
Thu Apr 4 12:19:26 1996 David Mosberger-Tang <davidm@AZStarNet.com>
|
||
|
||
* alpha.c: Don't include stamp.h for Linux-based GNU systems.
|
||
|
||
Thu Apr 4 12:17:08 1996 Richardg Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* objc/Makefile: Rename thread* to thr*.
|
||
* objc/thread.c: Rename thread-* to thr-*.
|
||
* objc/thr-decosf1.c: Renamed from thread-decosf1.c
|
||
* objc/thr-irix.c: Renamed from thread-irix.c.
|
||
* objc/thr-single.c: Renamed from thread-single.c.
|
||
* objc/thr-solarius.c: Renamed from thread-solaris.c.
|
||
* objc/thr-win32.c: Renamed from thread-win32.c.
|
||
* objc/objc-api.h: Include thr.h, not thread.h.
|
||
* objc/runtime.h, objc/sarray.h: Likewise.
|
||
|
||
* i386.md (ashldi3_const_int): Don't recognize if won't match
|
||
constraint of operand 2.
|
||
|
||
Thu Apr 4 11:40:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/fp-bit.c (EXTENDED_FLOAT_STUBS): If EXTENDED_FLOAT_STUBS
|
||
is defined, define all of the XF/TF functions that might be
|
||
generated that we don't have code for yet.
|
||
|
||
* i960/t-(vxworks960,960bare): (LIB2FUNCS_EXTRA): Make and
|
||
compile xp-bits.c that defines EXTENDED_FLOAT_STUBS.
|
||
|
||
From: steve chamberlain <sac@slash.cygnus.com>
|
||
* i386/x-cygwin32 (LANGUAGES): Delete.
|
||
* i386/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
|
||
* rs6000/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
|
||
|
||
Wed Apr 3 14:10:16 1996 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* expr.c (emit_push_insn): Clobber register only if it is non-zero.
|
||
|
||
Wed Apr 3 11:31:55 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.h (h8300_funcvec_function_p): Declaration moved here.
|
||
* h8300.c (h8300_funcvec_function_p): Declaration removed from here.
|
||
* h8300.md (tstqi): Tweak to work like other tstXX patterns.
|
||
(cmphi): Turn into a define_expand. Add two anonymous
|
||
matterns to match the output of the cmphi expander.
|
||
(cmpsi): Accept constants as the second input operand.
|
||
|
||
Tue Apr 2 13:52:30 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.md (movqi_internal): Remove useless alternative(s). Fix
|
||
lengths and simplify by reordering remaining alternatives.
|
||
(movstrictqi, movhi_internal, movstricthi): Likewise.
|
||
(movsi_h8300h, movsf_h8300h): Likewise.
|
||
|
||
* h8300/h8300.c (extra_pop): Remove unused variable.
|
||
(current_function_anonymous_args): Likewise.
|
||
(function_prologue): Remove incorrect varargs/stdarg
|
||
related code.
|
||
(function_epilogue): Likewise.
|
||
(function_arg): Never pass unnamed arguments in registers.
|
||
* h8300.h (LONG_LONG_TYPE_SIZE): Use 64bits when ints are 32bits.
|
||
(SETUP_INCOMING_VARARGS): Remove definition.
|
||
|
||
Mon Apr 1 16:59:48 1996 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* fixincludes: Fix signal prototype on SunOS to avoid pedantic C++
|
||
error.
|
||
|
||
Mon Apr 1 16:16:34 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||
|
||
* expr.c (get_inner_reference): When finding mode to access bitfield
|
||
that ends up properly aligned, use mode class of its type unless
|
||
type's mode was BLKmode.
|
||
|
||
Mon Apr 1 13:45:30 1996 Jeffrey A. Law <law@cygnus.com>
|
||
|
||
* h8300.c (interrupt_handler): Renamed from pragma_interrupt.
|
||
All references changed.
|
||
(function_prologue): Set interrupt_handler if the current
|
||
function has the "interrrupt-handler" attribute.
|
||
(small_call_insn_operand): New function.
|
||
(h8300_interrrupt_function_p): New function.
|
||
(h8300_funcvec_function_p): New function.
|
||
(h8300_valid_machine_decl_attribute): New function.
|
||
* h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
|
||
* h8300.md (call insns): Handle calls through the
|
||
function vector. Indirect calls and calls through
|
||
the function vector have a length of two bytes.
|
||
|
||
See ChangeLog.10 for earlier changes.
|
||
|
||
Use a consistent time stamp format in ChangeLog entries.
|
||
Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
|
||
|
||
Local Variables:
|
||
add-log-time-format: current-time-string
|
||
End:
|