Sat Oct 17 20:38:05 1998  Catherine Moore  <clm@cygnus.com>

       *  config/rs6000/sysv4.h (CPP_SPEC):  Define _SOFT_FLOAT
       if -msoft-float.

Tue Oct 13 02:02:33 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* collect2.c (extract_init_priority): Check for case of
	constructor priority being non-numeric, and default it to 65535
	Fix for PR 17777
	
Thu Oct  8 17:43:56 1998  Gavin Romig-Koch  <gavin@cygnus.com>

	* calls.c (expand_call) : Encapsulate code into 
	copy_blkmode_from_reg.
	* expr.c (copy_blkmode_from_reg): New function.
	* expr.h (copy_blkmode_from_reg): New function.
	* integrate.c (function_cannot_inline_p): We can inline
	these now.
	(expand_inline_function): Use copy_blkmode_from_reg
	if needed.  Avoid creating BLKmode REGs.
	(copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
	object.

Thu Sep 24 19:11:22 1998  Richard Henderson  <rth@cygnus.com>

	* mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC): Add -gdwarf-2
	if no -g at all.

Thu Sep 24 19:13:58 1998  Richard Henderson  <rth@cygnus.com>

	* dwarf2out.c (size_of_string): Kill special cases; reduce to strlen+1.

Tue Aug 18 18:47:05 1998  Jeffrey A Law  (law@cygnus.com)

	* expr.c (emit_block_move): Do not call memcpy as a libcall
	instead build up a CALL_EXPR and call it like any other
	function.
	(clear_storage): Similarly for memset.

Wed Aug 12 02:04:30 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
	(DEBUGGER_ARG_OFFSET): Likewise.

1998-08-10  Jason Merrill  <jason@yorick.cygnus.com>

	* tree.h: De-conditionalize init_priority code.

1998-07-31  Jason Merrill  <jason@yorick.cygnus.com>

	* mips.h (NM_FLAGS): Change from -Bp to -Bn.
	* collect2.c (NM_FLAGS): Change from -p to -n.

	* configure.in: Turn on collect2 for mipstx39-elf.
	Handle use_collect2=no properly.

	* c-common.c: De-conditionalize init_priority code.
	* collect2.c (extract_init_priority, sort_ids): New fns.
	(main): Call sort_ids.
	Move sequence_number to file scope.

1998-07-22  Dave Brolley  <brolley@cygnus.com>

	* configure.in (enable_c_mbchar): New configure option.
	(extra_cpp_objs): Always available now.

	* cexp.y (mbchar.h): #include it.
	(yylex): Handle Multibyte characters in character literals.

	* cccp.c (mbchar.h): #include it.
	(main): Set character set based on LANG environment variable.
	(rescan): Handle multibyte characters in comments.
	(skip_if_group): See above.
	(validate_else): See above.
	(skip_to_end_of_comment): See above.
	(macarg1): See above.
	(discard_comments): See above.
	(rescan): Handle multibyte characters in string and character literals.
	(collect_expansion): See above.
	(skip_quoted_string): See above.
	(macroexpand): See above.
	(macarg1): See above.
	(discard_comments): See above.
	(change_newlines): See above.

	* c-lex.c (mbchar.h): #include it.
	(GET_ENVIRONMENT): New macro.
	(init_lex): Set character set based on LANG environment variable.
	(yylex): Handle multibyte characters in character literals.
	(yylex): Handle multibyte characters in string literals.

	* Makefile.in (mbchar.o): New target.
	(cccp$(exeext)): @extra_cpp_objs@ is always available.
	(cppmain$(exeext)): @extra_cpp_objs@ is always available.

	* mbchar.[ch]: New files for multibyte character handling.
	
Fri Jun 19 23:06:33 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* varasm.c (assemble_start_function): Add weak_global_object_name.
	* tree.c (get_file_function_name): Use it.

1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>

	* dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.

	* configure.in: Don't disable collect2 when we have GNU ld.

Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)

	* configure.in (nm): Make a link to "nm" in the build tree too.

1998-06-15  Jim Wilson  <wilson@cygnus.com>

	* c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.

Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)

	* Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
	(LIBGCC2_CFLAGS): Remove -fexceptions.
	(LIB2FUNCS): Remove "_eh".
	(libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
	it with -fexceptions.

Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>

        * dwarf2out.c (scope_die_for): If could not find proper scope,
        check for and handle tagged type with incorrect TYPE_CONTEXT.

Tue Apr 28 17:48:39  Geoffrey Noer <noer@cygnus.com>

        Patch by Bob Manson <manson@cygnus.com>
        * Makefile.in: set USE_COLLECT2 to collect2, not ld.  Remove
        ld$(exeext) target that's no longer needed.
        * configure.in: set will_use_collect2 to collect2 instead of
        ld.
        * gcc.c: collect2 is now called collect2.  Look for ld.exe if
        collect2 cannot be found

Fri May 22 23:32:06 1998  Jim Wilson  <wilson@cygnus.com>

        * gcc.c (make_relative_prefix): Call obstack_1grow with '\0'.

Fri May 29 15:32:57 1998  Angela Marie Thomas (angela@cygnus.com)

        * gcc.c (process_command): putenv only takes a single argument.

Thu May 28 17:41:44 1998  Jeffrey A Law (law@cygnus.com)

        * flow.c (compute_preds_succs): Do not split more than one edge
        into any basic block.

Fri May 22 23:32:06 1998  Jim Wilson  <wilson@cygnus.com>

        * gcc.c (make_relative_prefix): Call obstack_1grow with '\0'.

 Sat May 16 04:41:57 1998  Joern Rennecke <amylaar@cygnus.co.uk>

        * gcc/config/sh/t-sh: Fix sh assembly bug.
 
Mon May  4 15:40:27 1998  Jim Wilson  <wilson@cygnus.com>

        * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
        * elfb4100.h, elfb4300.h, elfb5000.h, elfl4100.h, elfl4300.h,
        elfl5000.h (MULTILIB_DEFAULTS): Move definition after elf64.h include.

Tue May 05 01:12:41 1998  Jeffrey A Law <law@cygnus.com>

        * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
        for any insns skipped at the start of a block because they were
        redundant.

Tue Apr 28 16:02:31 1998  Gavin Romig-Koch <gavin@cygnus.com>

        * config/tc-mips.c (macro,macro2): Implement
        M_DMULO_I, M_MULO_I, M_DMULOU_I, and M_MULOU_I.

Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

        * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
        (split_branches): Call init_insn_lengths.

Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>

        * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
        (alpha_expand_block_clear): Likewise.

Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>

        * alpha.c (alpha_expand_block_clear): Add missing offset arg to
        alpha_expand_unaligned_store_words.

Thu Apr 16 13:42:00 1998  Jeffrey A Law <law@cygnus.com>

        * final.c (final): Avoid reading beyond the end of the
        insn_addresses array.

Thu Apr 16 13:42:00 1998  Jeffrey A Law <law@cygnus.com>

        * gcse.c (pre_expr_reaches_here): First argument is the starting
        basic block; add new arg check_pre_comp.  All callers changed.
        If !check_pre_comp, then do not require the expression to be set
        in the starting basic block.
        (pre_insert): Do not insert an expression if it does not reach
        any deleted occurences of the expression.

Tue Apr 14 15:45:44 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>

       * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
       (cplus_demangle_opname): Call mop_up_squangle.
       (cplus_demangle): Initialize squangle info, then call
       internal_cplus_demangle. (Most code moved there as well)
       (internal_cplus_demangle): New function, performs most of what use
       to be done in cplus_demangle, but is only called with this file.
       (squangle_mop_up): New function to clean up B and K code data.
       (mop_up): set pointers to NULL after freeing.
       (demangle_signature, demangle_template, demangle_class): Add
       switch elements to handle K and B codes.
       (demangle_prefix, gnu_special, demangle_qualified): Add
       code to handle K and B codes.
       (do_type, demangle_fund_type): Handle B and K codes.
       (remember_Ktype): New function to store K info.
       (register_Btype, remember_Btype): New functions for B codes.
       (forget_B_and_K_types): New function to destroy B and K info.


Thu Apr  2 19:23:29 1998  Joern Rennecke <amylaar@cygnus.co.uk>

	* sh.md (mulsi3): Generate REG_LIBCALL / REG_RETVAL note pair.

Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/thumb.h: Add super interworking support.
	* config/arm/thumb.c: Add super interworking support.
	* config/arm/thumb.md: Add super interworking support.
	* config/arm/tpe.h: Add super interworking support.
	* config/arm/lib1funcs.asm: Add interworking support.
	* config/arm/lib1thumb.asm: Add super interworking support.
	* config/arm/t-pe: Add super interworking support.
	* config/arm/t-semi: Add interworking support.
	* config/arm/t-thumb: Add interworking support.
	* config/arm/t-pe-thumb: Add super interworking support.
	* config/arm/README-interworking: New file.

Mon Mar 30 23:57:42 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* sh.h (RTX_COSTS): If PLUS uses same operand twice, it counts only
	once.  ASHIFT/ASHIFTRT/LSHIFTRT argument cost counts too.

Mon Mar 30 12:27:21 1998  Nick Clifton  <nickc@cygnus.com>

	* invoke.texi (ARM Options): Removed spurious @end table marker.

	* config/m32r/m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint
	to perfoirm the equivalent of a negated 'I' constraint.

	* config/m32r/m32r.md (cmp_ne_small_const_insn): Use 'S'
	constriant rather than 'I' since the value is negated.

Mon Mar 30 09:22:16 1998  Jeffrey A Law  (law@cygnus.com)

	* i386.md: Use GEN_INT consistently.

Mon Mar 30 09:32:16 1998  Gavin Koch  <gavin@cygnus.com>

	* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
	ASM_WEAKEN_LABEL): Add.

Sat Mar 28 13:03:22 1998  Nick Clifton  <nickc@cygnus.com>

	* invoke.texi: Document more ARM and Thumb options.

Fri Mar 27 16:18:33 1998  Jeffrey A Law  (law@cygnus.com)

	* expmed.c (synth_mult): The value -1, has no zeros, s'o it can
	never have the form ...011.

Fri Mar 27 16:15:29 1998  Michael Meissner  <meissner@cygnus.com>

	* gcc.c (make_relative_prefix): If argv[0] does not contain a
	directory separator, look up the name in the PATH environment
	variable.

Mon Mar  9 14:24:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* sh.h (OPTIMIZATION_OPTIONS): SIZE sets SPACE_BIT.

Wed Mar 25 13:50:16 1998  Dave Brolley  <brolley@cygnus.com>

	* cccp.c: Restore chill support.

Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>

	* Makefile.in (gcov$(exeext)): Support .exe extension to gcov.

	* collect2.c (find_a_file): Add debugging.
	(find_a_file): Test for win32 style absolute paths if
	DIR_SERPARATOR is defined.
	(prefix_from_string): Add debugging.
	(main): Test for debug command line switch at start of program
	execution. 
	(main): Use GET_ENVIRONMENT rather than getenv().
	
Sun Mar 22 16:15:45 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/tpe.h (ASM_DECLARE_FUNCTION_NAME): Include
	.thumb_func directive in function header.

Fri Mar 20 09:32:46 1998  Nick Clifton  <nickc@cygnus.com>

	* objc/Make-lang.in: Apply patch from Geoff Noer (noer@cygnus.com)
	to allow cygwin32 native toolchain builds via canadian crosses.

	* objc/Makefile.in: Apply patch from Geoff Noer (noer@cygnus.com)
	to allow cygwin32 native toolchain builds via canadian crosses.

	* Makefile.in: Apply patch from Geoff Noer (noer@cygnus.com) to
	allow cygwin32 native toolchain builds via canadian crosses.

	* config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.

Fri Mar 20 09:27:06 1998  Jeffrey A Law  (law@cygnus.com)

	* pa.h (CPP_SPEC): Finish last change.

Thu Mar 19 22:33:35 1998  Jeffrey A Law  (law@cygnus.com)

	* fixincludes: Eliminate '//' comments in hpux11 sys/time.h
	file instead of turning them into '/* ... */' comments.

	* configure.in (hppa1.1-hp-hpux11): Use pa-hpux11.h
	(hppa1.0-hp-hpux11): Likewise.
	* pa/pa-hpux11.h: New file.

	* pa.h (CPP_SPEC): If !ansi, then define __STDC_EXT__.

Thu Mar 19 13:45:28 1998  Nick Clifton  <nickc@cygnus.com>

	* config/i386/xm-cygwin32.h (GET_ENVIRONMENT): Patch resubmitted,
	since it appears to have been lost in the shuffle....

	* config/arm/thumb.c (arm_valid_machine_decl_attribute): Copied
	from arm.c for thumb-pe builds.

	* config/arm/t-pe-thumb: New file: makefile fragement for thumb-pe
	build.

	* config/arm/tpe.h: New file: PE support for thumb-pe build.

Thu Mar 19 09:14:19 1998  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Handle hpux11 just like hpux10 for now.

Wed Mar 18 11:21:16 1998  Nick Clifton  <nickc@cygnus.com>

	* config/i386/xm-cygwin32.h (GET_ENVIRONMENT): Do not call
	cygwin32_posix_path_list_p with a NULL or empty path.

Wed Mar 18 09:33:13 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/thumb.c (arm_valid_machine_decl_attribute): New
	function for thumb-pe support.

	* configure.in: Add thumb-pe target.

	* configure: Add thumb-pe target.

	* config.sub (maybe_os): Add thumb-pe target.

Mon Mar 16 16:24:45 1998  Michael Meissner  <meissner@cygnus.com>

	* gcc.c (make_relative_prefix): If directory is the same as
	expected, or there are no directory separators, don't create a
	relative pathname.

Fri Mar 13 17:55:04 1998  Michael Meissner  <meissner@cygnus.com>

	* i386/cygwin32.h    (GET_ENVIRONMENT): Delete from here.
	* i386/xm-cygwin32.h (GET_ENVIRONMENT): Move to here.  
	Initialize variable if not a posix style pathname.
	
Fri Mar 13 17:54:04 1998  Michael Meissner  <meissner@cygnus.com>

	* gcc.c (DIR_UP): If not defined, define as "..".
	(standard_bindir_prefix): New static, holds target location to
	install binaries.
	(split_directories): New function to split a filename into
	component directories.
	(free_split_directories): New function, release memory allocated
	by split_directories.
	(make_relative_prefix): New function, make a relative pathname if
	the compiler is not in the expected location.
	(process_command): Use GET_ENVIRONMENT to read GCC_EXEC_PREFIX.
	If GCC_EXEC_PREFIX was not specified, see if we can figure out an
	appropriate prefix from argv[0].

	* Makefile.in (gcc.o): Define STANDARD_BINDIR_PREFIX.

Fri Mar 13 11:49:49 1998  Stan Cox  <scox@equinox.cygnus.com>

	* config/i386/cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
	style environment paths.

Thu Mar 12 16:22:03 1998  Stan Cox  <scox@cygnus.com>

	* sparc/liteelf.h (MULDI3,DIVDI3,UDIVDI3,MODDI3,UMODDI3)_LIBCALL:
	Undefine solaris library routines.
	
Thu Mar 12 13:21:38 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.md (movsi, movhi, movhi_insn_arch4,
	movho_insn_littleend, movhi_insn_bigend): Use
	ok_integer_or_other().
	(movhi_insn_arch4): Swap order of 2nd and 3rd alternatives to
	avoid problem in reload.

	* config/arm/arm.c: (find_barrier_insn): Return barrier insn, if
	found, rather than insn after the barrier.
	(ok_integer_of_other): New function, to avoid duplication in md
	file. 

	* config/arm/arm.h: Add prototype for ok_integer_or_other().

Wed Mar 11 14:28:30 1998  Jeffrey A Law  (law@cygnus.com)

	* toplev.c (compile_file): Print out gcse time.

	* toplev.c (rest_of_compilation): Only rerun jump optimizations
	after gcse if gcse changes some jumps.

Wed Mar 11 15:21:52 1998  Michael Meissner  <meissner@cygnus.com>

	* haifa-sched.c (schedule_insns): Remove debug statement.

Wed Mar 11 15:44:54 1998  Gavin Koch  <gavin@cygnus.com>

	* mips/mips.h (MASK_DEBUG_E): Redefine to zero. 

	
Tue Mar 10 12:20:57 1998  Stan Cox  <scox@rtl.cygnus.com>

	* sparc/liteelf.h (PREFERRED_DEBUGGING_TYPE): Make dwarf2
	the default debugging type.

Mon Mar  9 16:29:34 1998  Michael Meissner  <meissner@cygnus.com>

	* expr.c (expand_builtin): Add __builtin_expect code back in.
	* rs6000.c (ccr_bit,print_operand): Ditto.

Mon Mar  9 14:24:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* t-sh (MULTILIB_OPTIONS): Add m4-single-only.
	(MULTILIB_MATCHES): Remove m3e=m4-single-only.

Sun Mar  8 23:46:29 1998  Stan Cox  <scox@equinox.cygnus.com>

	* configure, configure.in (sparclite-*-elf*): Added.
	* sparc/liteelf.h: New file.

Sat Mar  7 13:59:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* d10v.h, generic.h, tic80.h (LOOP_ALIGN): Fix comment delimiter.

Fri Mar  6 21:28:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* d10v.h, generic.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
	* arm/thumb.h, i386/i386elf.h, m68k/st2000.h, tic80.h, z8k.h: Likewise.

Fri Mar  6 11:35:50 1998  Dave Brolley  <brolley@cygnus.com>

	* gcse.c (hoist_code): Should return void.

Thu Mar  5 23:45:08 1998  Jeffrey A Law  (law@cygnus.com)

	* gcse.c: Bring back old classic gcse pass.
	(gcse_main): If optimizing for code size perform classic gcse
	instead of partial redundancy elimination.


Thu Mar  5 09:09:08 1998  Catherine Moore <clm@cygnus.com>

        * config/v850/lib1funcs.asm (___udivsi3):  Don't use r5.
        * config/v850/t-v850: Add -mno-app-regs to target build flags.
        * config/v850/v850.h:  Change STATIC_CHAIN_REGNUM from 5 to 20.
        Add option -mno-app-regs.  Add CONDITIONAL_REGISTER_USAGE macro.

Tue Mar  3 09:12:04 1998  Nick Clifton  <nickc@cygnus.com>

	* toplev.c: Do not generate a <name>.dbr file when dumping RTL
	unless DELAY_SLOTS is defined.

Mon Mar  2 20:06:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* generic.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
	replace with:
	(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
	* d10v.h: Likewise.
Wed Feb 25 10:02:19 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.md (movsfcc, movdfcc): Cope with constants that
	cannot be placed into instructions.  Patch supplied by Richard
	Earnshaw. 

Sun Feb 22 22:05:33 1998  Jeffrey A Law  (law@cygnus.com)

	* Use lazy code motion to drive placement partially redundant
	expressions and register copies.
	* First implementation of code hoisting pass.  Currently
	disabled due to code expansion.
	* gcse.c: (compute_{cprop,pre}_local_properties): Combined into a
	single function.  Accepts additional arguments as needed.  All
	references updated.
	(cprop_insn, cprop, one_cprop_pass): New arg to determine if jumps
	can/should be altered.  All references changed appropriately.
	(insert_insn_end_bb): Renamed from pre_insert_insn.
	(alloc_code_hoist_mem): New function for code hoisting.
	(free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
	(compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
	(hoist_code, one_code_hoisting_pass): Likewise.
	(gcse_main): Put check for setjmp at start of gcse_main and
	generally clean up initialization.  Do not allow cprop to
	alter jumps until the last pass.  Add appropriate calls to
	code hoisting support (currently #ifdef'd out).
	(compute_local_properties): New function for computing local
	properties for pre, cprop and code hoisting.
	(cprop_insn): Only cprop into jumps if alter_jumps is nonzero.
	(pre_av{invout}, pre_pav{in,out}, pre_pp{in,out}): Delete old pre
	variables.
	(pre_early{in,out},  pre_delay{in,out}, pre_latein): New variables
	for lazy code motion.
	(pre_iso{in,out}, pre_optimal, pre_redundant, temp_bitmap): Likewise.
	(pre_reundant_insns): Likewise.
	(alloc_pre_mem, free_pre_mem): Updated for changes in pre variables.
	(compute_pre_data): Likewise.
	(compute_pre_avinout, compute_pre_ppinout): Deleted.
	(compute_pre_earlyinout): New function for lazy code motion.
	(compute_pre_delayinout, compute_pre_latein): Likewise.
	(compute_pre_isoinout, compute_pre_optimal): Likewise.
	(compute_pre_redundant): Likewise.
	(pre_insert): Rework to only insert expressions at optimal	
	computation points as determined by lazy code motion.
	(pre_insert_copies): Rework to only copy expressions where
	necessary for lazy code motion.
	(pre_delete): Rework to delete insns which are redundant at
	not optimally placed.
	(hoist_antloc, hoist_transp, hoist_comp): Variables for code hoisting.
	(hoist_vbe{in,out}, hoist_exprs): Likewise.
	(dominators, post_dominators): Likewise.
	
Fri Feb 20 15:42:56 1998  Gavin Koch  <gavin@cygnus.com>

	* mips/t-vr4100 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): 
	Add mno-mips16 and mips16.
	* mips/elfb4100.h, mips/elfl4100.h (MULTILIB_DEFAULTS) :
 	Add "mno-mips16".

Fri Feb 13 14:55:13 1998  Nick Clifton  <nickc@cygnus.com>

	* config/m32r/m32r.md: Add peephole optimisation to cope with
	PR14189, pending a better solution.

	* config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Define in
	order to allow peephole optimisation to work.

Fri Feb 13 02:57:19 1998  J"orn Rennecke  <amylaar@cygnus.com>

	* d10v.h (DEFAULT_PCC_STRUCT_RETURN) Define as 0.

Mon Feb  9 09:53:41 1998  Nick Clifton  <nickc@cygnus.com>

	* config/v850/v850.c (v850_output_local): Call
	ASM_OUTPUT_ALIGNED_DECL_COMMON rather than ASM_OUTPUT_DECL_LOCAL
	(which is not defined).

	* final.c (end_final): Look for and call
	ASM_OUTPUT_ALIGNED_DECL_LOCAL rather than ASM_OUTPUT_DECL_LOCAL.
	
	* varasm.c (assemble_variable): Ditto.

Fri Feb  6 14:55:28 1998  Nick Clifton  <nickc@cygnus.com>

	* config/v850/v850ea.h: Remove multilibing and add -mUS-bit-set
	command line option.

	* config/v850/v850e.h: Remove multilibing.

	* config/v850/v850.c (ep_memory_offset): Support new command line
	options -msmall-sld and -mUS-bit-set to allow fine tuning of the
	SLD.[BH] offsets.
	* config/v850/v850.h: Ditto. 

	* config/v850/t-v850: Remove multilibing and replace with single,
	universal build using -mv850 and -msmall-sld command line options.


Fri Feb  6 09:19:12 1998  Gavin Koch  <gavin@cygnus.com>

	* mips/elfb4100.h (DWARF2_DEBUGGING_INFO,PREFERRED_DEBUGGING_TYPE,
	SUBTARGET_ASM_DEBUGGING_SPEC): Define.
	* mips/elfl4100.h (DWARF2_DEBUGGING_INFO,PREFERRED_DEBUGGING_TYPE,
	SUBTARGET_ASM_DEBUGGING_SPEC): Same.

Fri Feb  6 02:53:28 1998  J"orn Rennecke  <amylaar@cygnus.com>

	* d10v.h (MUST_PASS_IN_STACK): Define.

	* d10v/libgcc1.asm (__cmpdi): Fix bug in last change.

	* d10v.md (movhi): Don't call force_reg while reloading.
	(movsi): Handle case when reload asks us to use an uneven reg pair.

	Undo this change:
	  * va-d10v.h (__va_start_common): Add DELTA argument to subtract
	  from register number.
	  (va_start): Add DELTA argument to __va_start_common call, stdarg
	  passes 0, varargs needs to ignore last argument.

Tue Feb  3 15:45:55 1998  Gavin Koch  <gavin@cygnus.com>

	* mips/elfb4100.h (SUBTARGET_CPP_SPEC): Insure that __mips64
	is defined.
	* mips/elfl4100.h (SUBTARGET_CPP_SPEC): Same.

Sat Jan 31 02:18:52 1998  Jeffrey A Law  (law@cygnus.com)

	* gcse.c (gcse_main): Fix minor typo in critial edge splitting code.
	(pre_insert_insn): Correctly handle inserting code before a switch
	table.

Wed Jan 28 16:43:49 1998  Nick Clifton  <nickc@cygnus.com>

	* config/m32r/m32r.c zero_and_one, emit_cond_move): Add support
	for MVFC instruction.

	* config/m32r/m32r.h: Ditto. 

	* config/m32r/m32r.md: Ditto.

Mon Jan 26 11:20:55 1998  Gavin Koch  <gavin@cygnus.com>

	* configure.in (mips64vr4100-*-elf*,mips64vr4100el-*-elf*):
	Add abi64.h to the tm_file list.
	* configure: Rebuild.
	* mips/elfb4100.h (MIPS_ABI_DEFAULT,SUBTARGET_CPP_SIZE_SPEC,
	SUBTARGET_CPP_SPEC): Define.
	* mips/elfl4100.h (MIPS_ABI_DEFAULT,SUBTARGET_CPP_SIZE_SPEC,
	SUBTARGET_CPP_SPEC): Define.

Sun Jan 25 21:46:07 1998  Michael Meissner  <meissner@cygnus.com>

	* va-d10v.h (__va_start_common): Add DELTA argument to subtract
	from register number.
	(va_start): Add DELTA argument to __va_start_common call, stdarg
	passes 0, varargs needs to ignore last argument.

	* d10v.c (emit_move_word): Use %. to emit code to access the 0
	register, not hardcoded r0.

	* d10v.md (movqi_internal): Use %. to emit code to access the 0
	register, not hardcoded r0.

Fri Jan 23 13:50:42 1998  Jeffrey A Law  (law@cygnus.com)
	
	* recog.c (validate_replace_src): Allow replacement in JUMP_INSNs.
	* toplev.c (rest_of_compilation): Run loop optimizations after
	gcse if gcse alters any jumps.
	(flag_classic_gcse): Remove flag and all references.
	* gcse.c: Clean up some comments, remove classic GCSE code,
	variables, comments, etc.
	(gcse_jumps_altered): New varaible.
	(gcse_main): Returns an int now.  Fix return statements.  Return
	zero normally, return nonzero if gcse modifies any jumps.
	(compute_preds_succs): Make sure last insn in the block is a 
	JUMP_INSN before passing it to condjump_p.
	(cprop_insn): Handle constant/copy propagation into JUMP_INSNs.
	* jump.c (jump_optimize): Delete (set (pc) (pc)) insns created
	by gcse.

	* jump.c (mark_jump_label): Record REG_LABEL notes for insns which
	refer to the CODE_LABEL before a dispatch table.

Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>

	* toplev.c: Add -dM command line option to dump RTL after the
	machine dependent reorganisation pass, if there is one.
	Reorganise RTL dump code, so that only one file handle is
	needed. 

	* configure.in: Fix indentation of CYGNUS LOCAL markers.

	* configure: Add support for thumb-coff.

	* toplev.c (lang_options): Add -Wunknown-pragmas and
	-Wno-unknown-pragmas. 

Fri Jan 23 11:20:19 1998  Michael Meissner  <meissner@cygnus.com>

	* d10v.c (override_options): Use GPR_EVEN_P.
	(override_options): Change to new ABI where args are in r0..r3,
	r14 is zero register.  Change names of register class to be
	ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead of
	R13_REGS.
	(print_operand{,_memory_reference}): Ditto.
	(d10v_stack_info): Ditto.
	(function_{pro,epi}logue): Ditto.
	(emit_move_4words): Make refers_to_regno_p be type correct.

	* d10v.h (ARG_{FIRST,LAST}): Change to new ABI where args are in
	r0..r3, r14 is zero register.  Change names of register class to
	be ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead
	of R13_REGS.
	(GPR_ZERO_REGNUM): Ditto.
	(SAVE_{ACC,GUARD}_REGNUM): Ditto.
	({FIXED,CALL_USED}_REGISTERS): Ditto.
	(REG_ALLOC_ORDER): Ditto.
	(reg_class): Ditto.
	(REG_CLASS_{NAMES,CONTENTS}): Ditto.
	(STATIC_CHAIN_REGNUM): Ditto.
	({FUNCTION,LIBCALL}_VALUE): Ditto.
	(FUNCTION_VALUE_REGNO_P): Ditto.

	* d10v.md (32-bit shifts): Change to new ABI where args are in
	r0..r3, r14 is zero register.  Change names of register class to
	be ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead
	of R13_REGS.

	* d10v/libgcc1.asm: Change to new ABI where args are in r0..r3,
	r14 is zero register.  Change names of register class to be
	ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead of
	R13_REGS.

	* d10v/scrt0.asm (_start): Zero r14, not r0.

Fri Jan 23 11:20:19 1998  J"orn Rennecke  <amylaar@cygnus.com>

	* d10v.h (CUMULATIVE_ARGS): Now a typedefed struct.
	* d10v.c (init_cumulative_args): Access the appropriate members of cum.
	(function_arg, setup_incoming_varargs): Likewise.
	(function_arg_advance): When an argument doesn't fit in registers,
	retain the remaining argument regsiters for possible use by
	subsequent arguments.
	* va-d10v.h (__va_list_tag): New three members.
	(__va_start_common, va_arg): Update.

	* d10v.c (function_arg_boundary): Alignment for arguments starts
	with an arguemnt size of four bytes.
	(function_arg): No special case for structures > 4 bytes, if they
	fit fully in the remaining argument passing registers, they are
	passed in registers.
	When an argument would exceed the remaining argument passing
	registers, pass it fully on the stack.
	(function_arg_advance): Likewise.  In the latter case, mark remaining
	argument passing registers as used.
	(function_arg_partial_nregs): Remove.
	* d10v.h (FUNCTION_ARG_PARTIAL_NREGS): Don't define.

	* va-d10v.h (enum __type_class): Remove.
	(va_arg): Update.

Thu Jan 22 10:45:40 1998  Nick Clifton  <nickc@cygnus.com>

	* configure.in: Add thumb-*-coff target.

	* config/arm/thumb.c (number_of_first_bit_set): Only use inline
	attribute when compiling with GCC.

	* config/arm/thumb.md (mulsi): Fix PR 14644.  Patch supplied by
	Jim Wilson.

	* config/arm/arm.c (output_func_epilogue): Fix PR14671 by changing
	the logic for determining when stack unwinding code is needed.

Wed Jan 21 08:28:07 1998  Jeffrey A Law  (law@cygnus.com)

	(gcse_main): If the first call to compute_preds_succs splits edges,
	then call find_basic_blocks again and make another call to
	compute_preds_succs.

Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>

	* invoke.texi (Optimize Options): -Os documentation.
	* tm.texi (Run-time Target): New argument to OPTIMIZATION_OPTIONS.
	* flags.h: New flag (optimize_size).
	* toplev.c (main): Parse -Os option and set optimize_space
	accordingly.
	* gcc.c (default_compilers), cp/lang-specs.h, ch/lang-specs.h: Define 
	__OPTIMIZE_SIZE__ when compiling with -Os.
	* config/dsp16xx/dsp16xx.h, config/i386/i386.h,
 	config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
 	config/v850/v850.h, config/d10v/d10v.h, config/generic/generic.h 
	config/sh/sh.h (OPTIMIZATION_OPTIONS): 	New SIZE argument to macro.
	* config/i386/i386.c (optimization_options): Accept new	SIZE argument.



Tue Jan 20 12:46:37 1998  Jeffrey A Law  (law@cygnus.com)

	* gcse.c (FOLLOW_BACK_EDGES): Enable.

	* gcse.c (dump_occr_list, replace_reg): Likewise.
	(alloc_gcse_mem): Delete unused variables.
	(compute_kill_rd, can_disregard_other_sets): Likewise.
	(find_avail_set, pre_insert_copies, pre_gcse): Likewise.
	(want_to_gcse_p): Add default case for switch statement.
	(oprs_unchanged_p, hash_expr_1, compute_transp): Likewise.
	(expr_equiv_p, oprs_not_set_p, expr_killed_p): Likewise.
	(find_used_regs): Likewise.
	(insert_expr_in_table): Initialize some variables to avoid
	some gcc -Wall warnings.
	(insert_set_in_table, handle_avail_expr): Likewise.
	(handle_avail_expr): Remove some #if 0 code.

Fri Jan 16 14:30:29 1998  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.md: PR 14644: Fix multiply patterns to prevent
	contraint matching failure when all three registers are the same.

Thu Jan 15 16:41:18 1998  Nick Clifton  <nickc@cygnus.com>

	* config/m32r/m32r.h (PREDICATE_CODES): Add declaration of machine
	specific predicates.
	
Tue Jan 13 17:41:10 1998  Jim Wilson  <wilson@cygnus.com>

	* cse.c (invalidate): Remove CYGNUS LOCAL patch.

Mon Jan 12 16:35:04 1998  Nick Clifton  <nickc@cygnus.com>

	* config/v850/v850.md: Removed duplicate entries.

Wed Dec 31 12:30:03 1997  Nick Clifton  <nickc@cygnus.com>

	* config/m32r/m32r.c (call_address_operand): Remove acceptance of
	constant values and addresses held in registers.

Mon Dec 29 14:09:01 1997  Jim Wilson  <wilson@cygnus.com>

	* configure.in (enable_fortran): Delete one too many '[' ']' levels.

Mon Dec 29 14:38:50 1997  Ian Lance Taylor  <ian@cygnus.com>

        * mips/t-vr4100 (LIB2FUNCS_EXTRA): Add mips16.S.
	* mips/t-vr4300: Likewise.

Mon Dec 29 11:39:10 1997  Felix Lee (flee@cygnus.com)

	* gcse.c (pre_insert_insn): Deref maybe_cc0_setter only if non-NULL.

Mon Dec 29 11:06:16 1997  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Disable fortran by default.

Tue Dec 16 23:08:00 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* d10v.h (REG_OK_FOR_BASE_P): Fix non-strict definition.

	* d10v.c (function_arg): Don't pass DImode partially in registers.
	(function_arg_pass_by_reference): Don't pass structs / unions by
	reference.

Tue Dec 16 20:12:39 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* d10v.c (emit_comparison): Use CONSTANT_P to detect constant op1.
	Check it for being a CONST_INT before using its value.
	Use plus_constant_for_output to add to it.
	Fix bug in output template for >= 32767.

Tue Dec 16 11:17:12 1997  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.c (arm_override_options): Force apcs-32 mode if
	interworking is specified.

Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>

	* expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.

Fri Dec 12 23:09:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* d10v.c (override_options): Fix regno_reg_class for registers
	1, 7, 9, 11 and 15.

	(d10v_subword): Fix word_num calculation for SUBREG.

	(emit_subtract): Carry is ! Borrow.

	(emit_comparison): Handle CONSTs.

Fri Dec 12 07:37:49 1997  Michael Meissner  <meissner@cygnus.com>

	* gcse.c (compute_can_copy): If AVOID_CCMODE_COPIES, don't bother
	calling emit_insn/recog to set if we can copy CCmodes.

Wed Dec 10 11:33:38 1997  Jeffrey A Law  (law@cygnus.com)

	* gcse.c (compute_can_copy): Don't allow copies for CCmode values
	if AVOID_CCMODE_COPIES is defined.
	* mips.h (AVOID_CCMODE_COPIES): Define.

Mon Dec  8 17:12:47 1997  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.c (all_architectures): Removed processor field. 

Mon Dec  8 20:32:07 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* sh.md (attribute "type", movsf_ie): Correct merge errors.

Wed Dec  3 10:44:25 1997  Gavin Koch  <gavin@cygnus.com>

	* mips/mips.md (muldi3_r4000): Broaden the output template
	and attribute assignments to handle three operand dmult;
	rename to muldi3_internal2.
	(muldi3): Call the new muldi3_internal2 for R4000, and
	any GENERATE_MULT3 chip.

Tue Dec  2 09:20:50 1997  Nick Clifton  <nickc@cygnus.com>

	* config/arm/lib1funcs.asm: Add error condition if
	__USER_LABEL_PREFIX__ is not defined.

	* config.sub: Add support for Thumb target.

	* configure: Add support for Thumb target.

Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>

	* rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
	(print_operand): Use SMALL_DATA_REG for the register involved in
	small data relocations.
	(print_operand_address): Ditto.

	* 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.

	* 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.

Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>

	(patches 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): Ditto.

	* rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
	suffix to calls.

Tue Nov 25 19:10:56 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* Makefile.in (fixproto-defines): New rule.
	(fixhdr.ready): Depend on fixproto-defines.
	(mostlyclean): Remove fixproto-defines.
	(install-common): Don't create a temporary file, install the
	ready-built fixproto-defines.

Tue Nov 25 11:22:11 1997  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.c: Brought up to date with respect to devo and
	branch.
	* config/arm/aout.h:        Ditto.
	* config/arm/arm.h:         Ditto.
	* config/arm/arm.md:        Ditto.
	* config/arm/coff.h:        Ditto.
	* config/arm/lib1funcs.asm: Ditto.
	* config/arm/pe.h:          Ditto.
	* config/arm/riscix.h:      Ditto.
	* config/arm/riscix1-1.h:   Ditto.
	* config/arm/semi.h:        Ditto.
	* config/arm/semiaof.h:     Ditto.
	* config/arm/t-bare:        Ditto.
	* config/arm/t-linux:       Ditto.
	* config/arm/aout.h:        Ditto.
	* config/arm/lib1thumb.asm: Imported from branch.
	* config/arm/t-thumb:       Imported from branch.
	* config/arm/thumb.c:       Imported from branch.
	* config/arm/thumb.h:       Imported from branch.
	* config/arm/tcoff.h:       Imported from branch.
	* config/arm/thumb.md:      Imported from branch.
	* config/arm/xm-thumb.h:    Imported from branch.

Mon Nov 24 17:19:39 1997  Nick Clifton  <nickc@cygnus.com>

	* config/arm/arm.md: Updated with changes in devo.
	* config/arm/arm.c:  Updated with changes in devo.
	* config/arm/arm.h:  Updated with changes in devo.
	* config/arm/aout.h: Updated with changes in devo.
	* config/arm/semi.h: Updated with changes in devo.

Sat Nov 22 15:32:00 1997  Nick Clifton  <nickc@cygnus.com>

	* gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
	(DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
	(process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
	command line arguments to see if an executable is not being
	created, and if so - do not append the suffix.

	* tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
	driver macro.

Sat Nov 22 01:01:41 1997  Jeffrey A Law  (law@cygnus.com)

        * Makefile.in (AR_FOR_TARGET): Clean up "-e" confustion with
	program_transform_name.
	(RANLIB_FOR_TARGET): Likewise.

Tue Nov 11 22:38:02 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* combine.c (nonzero_bits): For paradoxical subregs, take
	LOAD_EXTENDED_OP into account.

Tue Nov 11 22:22:05 1997  J"orn Rennecke <amylaar@cygnus.co.uk>

	* rs6000.md (movdf+5): Use host-independent way to process
	CONST_DOUBLE.

Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>

	* config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
	is available elsewhere.

