200310172031.int | gzip.peak+2.3157% perlbmk.base+2.08878% | perlbmk.peak-0.863921% | | vpr.peak+0.101663% eon.peak+0.233313% eon.base+0.115106% twolf.peak+0.364004% |
+ 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
+ before redefinition.
+
+ 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
+
+ * common.opt: Add description of the new -fgcse-las flag.
+ * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
+ * gcse.c (hash_scan_set): Handle the case of store expression and
+ insert the memory expression to the hash table, this way we make it
+ possible to discover redundant loads after stores and remove them.
+ (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
+ to pre_insert_copies, it is not the correct place to call it after
+ adding stores to be in the available expression hash table.
+ (pre_insert_copies): Added the call to update_ld_motion_stores when
+ one or more copies were inserted.
+ * opts.c (common_handle_option): Handle the -fgcse-las flag.
+ * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
+
+ * doc/invoke.tex: Document new -fgcse-las flag.
+
+ 2003-10-18 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
+ for posterity, then remove it.
+
+ 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/arm/arm.c (use_return_insn): Not a single instruction, if
+ there's a frame pointer.
+ (arm_output_epilogue): Protect stack pointer from being corrupted
+ on interrupt.
+
+ 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
+
+ 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * combine.c (simplify_set): Do not clear out undobuf.other_insn
+ already set elsewhere.
+
+ 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * config/i386/i386.c (ix86_expand_prologue): Use
+ gen_allocate_stack_worker.
+
+ 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
+ without gas.
+ (mips-sgi-irix6*): Likewise.
+
+ * config/mips/iris6gas.h: New file.
+ * gcc/config.gcc (mips-sgi-irix6*): Use it.
+
+ * config/mips/mips.h (TARGET_IRIX): Provide default.
+ (TARGET_IRIX5): Likewise.
+ (TARGET_SGI_O32_AS): Likewise.
+ * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
+ (TARGET_IRIX5): Likewise.
+ * config/mips/iris6.h (TARGET_IRIX6): Remove.
+ (TARGET_IRIX5): Redefine as 0.
+
+ * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
+ linker workaround with TARGET_IRIX and mips_abi instead of
+ ASM_OUTPUT_UNDEF_FUNCTION.
+ (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
+ testing TARGET_IRIX and mips_abi explicitly.
+ * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
+ * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
+
+ * config/mips/mips.c (irix_output_external_libcall): Renamed from
+ mips_output_external_libcall.
+ Use new TARGET_IRIX in guard.
+ * config/mips/mips-protos.h (irix_output_external_libcall): Match
+ this.
+ * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
+
+ * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
+ Define as 0.
+
+ * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
+ depending on mips_abi.
+ * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
+ * config/mips/mips.c (mips_output_function_prologue): Test
+ FUNCTION_NAME_ALREADY_DECLARED at runtime.
+ (mips_output_function_epilogue): Likewise.
+ (build_mips16_function_stub): Likewise.
+ (build_mips16_call_stub): Likewise.
+ * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
+ default.
+
+ * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
+ IRIX 6 O32 assembler.
+ (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
+ (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
+ _MIPS_SIM for O32 ABI.
+ (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
+ (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
+ (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
+ Integrate O32 version.
+ (SUBTARGET_ASM_SPEC): Handle -mabi=32.
+ (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
+ O32 ABI.
+ (BSS_SECTION_ASM_OP_32): Define.
+ (BSS_SECTION_ASM_OP_64): Likewise.
+ (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
+ using them.
+ (TARGET_ASM_NAMED_SECTION): Reflect renaming.
+ Move up to allow override for O32 ABI without GNU as.
+ (EH_FRAME_SECTION_NAME): Define explicitly.
+ (MUST_USE_SJLJ_EXCEPTIONS): Define.
+ [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
+ DTORS_SECTION_ASM_OP): Dummy definitions.
+ (TARGET_ASM_NAMED_SECTION): Undef statically.
+ (EH_FRAME_SECTION_NAME): Likewise.
+ (ASM_OUTPUT_FILENAME): Integrate mips.h version.
+ (LINK_SPEC): Only use default options -call_shared -no_unresolved
+ without -r.
+ Don't pass -init, -fini with -mabi=32.
+ (COLLECT_PARSE_FLAG): Define.
+
+ * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
+ TARGET_IRIX.
+ Renamed to use irix_ prefix.
+ (iris6_asm_named_section): Likewise.
+ (iris_section_align_entry_eq): Likewise.
+ (iris_section_align_entry_hash): Likewise.
+ (iris6_file_start): Likewise.
+ (iris6_section_align_1): Likewise.
+ (iris6_file_end): Likewise.
+ (iris6_section_type_flags): Likewise.
+ (iris_section_align_htab): Likewise.
+ (iris_orig_asm_out_file): Likewise.
+ [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
+ (TARGET_ASM_FILE_END): Likewise.
+ (TARGET_SECTION_TYPE_FLAGS): Likewise.
+
+ * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
+ (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
+ override_options instead.
+ (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
+ (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
+ * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
+ flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
+ assemblers.
+ Likewise for constructor/destructor handling.
+ (override_options): Handle IRIX O32 assembler quirks.
+ [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
+ without gas.
+ (mips_file_start): Use new TARGET_IRIX.
+ (mips_declare_object_name): No special processing for IRIX O32
+ assembler.
+ (mips_finish_declare_object): Likewise.
+ (irix_asm_output_align): Renamed from iris6_asm_output_align.
+ Don't record alignment for O32 ABI.
+ (irix_file_start): Renamed from iris6_file_start.
+ Return early for O32 ABI.
+ (irix_file_end): Renamed from iris6_file_end.
+ Don't emit .section directives for O32 ABI.
+ * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
+ * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
+
+ * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
+ (MULTILIB_OSDIRNAMES): Likewise.
+
+ 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * collect2.c (COLLECT_PARSE_FLAG): Provide default.
+ (main): Use it.
+ * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
+
200310171139.int | | twolf.peak-0.907385% | | |
+ 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-modes.def (CC_Nmode): New condition code mode.
+ * arm.c (thumb_condition_code): Delete.
+ (arm_select_cc_mode): Handle single-bit test for Thumb.
+ (arm_print_operand, cases 'd' and 'D'): Don't special case the
+ condition code logic for Thumb.
+ (get_arm_condition_code): Handle CC_Nmode.
+ (thumb_cbrch_target_operand): New function.
+ * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
+ * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
+ * arm.md: Add Thumb split patterns for zero_extract and
+ sign_extract.
+ (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
+ (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
+ (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
+ (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
+ (cbranchne_decr1): Re-work to use CC_Nmode.
+
+ * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
+ by the return instruction. Add a use of the link register if it
+ wasn't stored.
+
+ 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * flow.c (init_propagate_block_info): Don't abort if a conditional
+ jump is not a comparison of a register. Instead, just don't record
+ conditional life information.
+
+ 2003-10-16 Jan Hubicka <jh@suse.cz>
+
+ PR optimization/12630
+ * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
+ for operands 7 and 8.
+
200310120733.int | crafty.peak+2.43447% perlbmk.peak+5.53098% gap.peak+3.98433% bzip2.peak+1.81638% | | gzip.peak-0.702441% vpr.peak-0.681024% gcc.peak-0.812132% mcf.peak-0.506473% mcf.base-0.127191% crafty.peak-0.40909% parser.peak-0.426556% parser.base-0.103948% eon.peak-0.373632% perlbmk.peak-1.62% gap.peak-4.03291% vortex.peak-0.308544% bzip2.peak-2.84687% twolf.peak-2.48472% twolf.base-0.178735% | gzip.base+0.114404% |
200310120733 - webizer (Jan Hubicka)
200310091729.int | | eon.peak-5.92278% | gzip.peak-0.349991% vpr.peak-0.264448% gcc.peak-0.225466% parser.peak-0.773952% eon.peak-0.120899% bzip2.peak-0.815079% bzip2.base-0.128432% twolf.peak-0.509279% | |
+ 2003-10-09 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Remove redundant thread_file setting clauses for
+ various *-*-linux* targets.
+
+ 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (define_asm_attributes): New.
+
+ 2003-10-09 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
+ to the comparison, as emit_libcall_block calls copy_rtx on equiv.
+
+ 2003-10-09 Dorit Naishlos <dorit@il.ibm.com>
+
+ * haifa-sched.c (ok_for_early_schedule): New function.
+ (early_queue_to_ready): New function.
+ (schedule_block): Allow early removal of insns from Q.
+ (schedule_insn): Update INSN_TICK in case of premature
+ issue.
+ * common.opt (sched_stalled_insns): New flag.
+ (sched_stalled_insns_dep): New flag.
+ * flags.h: Same above flags.
+ * opts.c: Same as above.
+ * toplev.c: Same as above.
+ * target.h (targetm.sched.is_costly_dependence): New
+ hook.
+ * target-def.h: Same as above.
+ * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
+ Support new flag -msched-costly-dep.
+ (DEFAULT_SCHED_COSTLY_DEP): Define.
+ * config/rs6000/rs6000.c:
+ (rs6000_is_costly_dependence): New function.
+ (is_load_insn, is_store_insn): New functions.
+ (is_load_insn1, is_store_insn1, is_mem_ref): New
+ functions.
+ * doc/invoke.texi (-fsched-stalled-insns-dep)
+ (-fsched-stalled-insns, -msched-costly-dep): Document
+ options.
+ * doc/tm.texi (is_costly_dependence): Define new
+ scheduler target hook.
+
+ 2003-10-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/6392
+ * c-common.c (c_build_qualified_type): Look through arrays first.
+ (c_apply_type_quals_to_decl): Look through arrays.
+
+ * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
+ types with constructors.
+
+ * coverage.c (build_ctr_info_value): Use build_decl to make a
+ VAR_DECL.
+ (create_coverage): Likewise.
+
+ * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
+ here.
+ (expand_asm_operands): Not here.
+ (parse_input_constraint): No longer static.
+ * tree.h: Declare it.
+
+ 2003-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
+ libgcc_s.so.
+ (SHLIB_INSTALL): Likewise.
+
+ 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * doc/install.texi: Remove reference to removed 'pthreads' thread
+ option.
+
+ 2003-10-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
+ operand 2.
+
+ 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Don't accept --enable-threads=pthreads. Clean
+ up related case statements.
+ * configure.in: Don't accept --enable-threads=pthreads,
+ decosf1, mach, or os2 (none of which work anyway). Alphabetize
+ supported thread files in case clause.
+ * configure: Regenerate.
+
+ 2003-10-08 Geoffrey Keating <geoffk@apple.com>
+
+ * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
+ definition to above SPARC_STACK_BOUNDARY_HACK.
+
+ 2003-10-08 Jason Merrill <jason@redhat.com>
+
+ * c-pretty-print.c (pp_c_postfix_expression)
+ <COMPOUND_LITERAL_EXPR>: Fix thinko.
+
+ 2003-10-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * mklibgcc.in: Don't hide undefined or typeless symbols.
+
+ 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR optimization/12142
+ * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
+ uses of the register in the SET_SRC. Remove unnecessary argument.
+ * pa.c (legitimize_pic_address): Before reload, use a scratch register
+ for the intermediate result in loading the address of a SYMBOL_REF.
+ Set the MEM_NOTRAP_P flag for the MEM. Add a REG_EQUAL to the insn
+ which loads the SYMBOL_REF address.
+
+ 2003-10-08 Timo Kokkonen <tjko@iki.fi>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR bootstrap/12490
+ * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
+ to define the size of the extern_C_braces array. Set it to 200.
+ (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
+
+ 2003-10-08 Carlo Wood <carlo@alinoe.com>
+
+ * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
+ a space after the -o option. flex 2.5.31 understands both, with
+ and without the space. Removed that space.
+
+ 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
+ (compute_frame_size): Initialize it. Remove the .cprestore slot
+ from args_size.
+ (mips_output_function_prologue): Simplify accordingly.
+ (mips_debugger_offset): Change the mips16 frame pointer offset from
+ current_function_outgoing_args to cfun->machine->frame.args_size.
+ (mips_initial_elimination_offset): Likewise.
+ (mips_expand_prologue): Likewise.
+ (mips_expand_epilogue): Likewise.
+
+ 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
+ (EXTRA_MEMORY_CONSTRAINT): Define.
+ (CAN_ELIMINATE): Remove lwu workaround.
+ * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
+ Use a 'W' constraint for the source operand.
+
+ 2003-10-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * genopinit.c (main): Output code to declare undefined
+ variables.
+
+ 2003-10-07 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gengtype-lex.l: Remove -Wtraditional cruft.
+ * Makefile.in (gengtype-lex.c): Likewise.
+
+ 2003-10-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
+
+ 2003-10-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/12519
+ * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
+ it isn't a decl.
+
+ 2003-10-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
+ not overridden.
+ Fixes PR bootstrap/12173.
+
+ 2003-10-07 Zack Weinberg <zack@codesourcery.com>
+
+ * errors.c: Don't include coretypes.h or tm.h.
+ (trim_filename): Use IS_DIR_SEPARATOR.
+ * Makefile.in: Update dependencies of errors.o and
+ $(BUILD_PREFIX_1)errors.o.
+
+ 2003-10-07 Geoffrey Keating <geoffk@apple.com>
+
+ * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
+ account when aligning arguments.
+ * calls.c (STACK_POINTER_OFFSET): Move default from here ...
+ * defaults.h (STACK_POINTER_OFFSET): ... to here.
+ * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
+ it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
+ (SPARC_STACK_BOUNDARY_HACK): Define.
+ * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
+ arrange for vector parameters to varargs functions to be passed
+ in both memory and GPRs when appropriate.
+ (rs6000_va_arg): Vector arguments passed in memory are 16-byte
+ aligned.
+
+ * hooks.c (hook_bool_tree_true): New.
+ (hook_rtx_tree_int_null): New.
+ (hook_rtx_rtx_null): Use NULL, not 0.
+ * hooks.h: Add 'extern' to everything.
+ (hook_bool_tree_true): New.
+ (hook_rtx_tree_int_null): New.
+ * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
+ * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
+ * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
+ prototype.
+ * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
+ (setup_incoming_varargs): Prototype.
+ (TARGET_PROMOTE_FUNCTION_ARGS): Define.
+ (TARGET_PROMOTE_FUNCTION_RETURN): Define.
+ (TARGET_STRUCT_VALUE_RTX): Define.
+ (TARGET_RETURN_IN_MEMORY): Define.
+ (TARGET_SETUP_INCOMING_VARARGS): Define.
+ (TARGET_STRICT_ARGUMENT_NAMING): Define.
+ (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
+ (init_cumulative_args): Use rs6000_return_in_memory.
+ (setup_incoming_varargs): Make 'static'.
+ * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
+ (PROMOTE_FUNCTION_RETURN): Delete.
+ (STRUCT_VALUE): Delete.
+ (RETURN_IN_MEMORY): Delete.
+ (SETUP_INCOMING_VARARGS): Delete.
+
+ 2003-10-07 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (Warning Options): Simplify and clarify the
+ descriptions of -Wnonnull and -Winit-self.
+
+ 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
+ indicees for floating-point conversersion libcalls.
+
+ 2003-10-07 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in: Add more comments separating large conceptually
+ separate sections.
+
+ * configure.in: Clean up thread file logic.
+ * configure: Regenerate.
+
+ 2003-10-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
+ (switch_to_section): Handle in_readonly_data.
+ * config/i386/winnt.c (i386_pe_asm_named_section): Handle
+ readonly data.
+
+ 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
+ it.
+ (cbranchne_decr1): New Thumb pattern.
+ * arm.c (arm_addimm_operand): New insn predicate.
+ * arm-protos.h: Add a prototype for it.
+ * arm.h (PREDICATE_CODES): Add it.
+
+ 2003-10-07 Dorit Naishlos <dorit@il.ibm.com>
+
+ * sched-int.h (sched_info): New field
+ sched_max_insns_priority.
+ * sched-rgn.c (init_ready_list): Add invocations to
+ targetm.sched.adjust_priority.
+ (sched_max_insns_priority): Init new field.
+ * sched-ebb.c (sched_max_insns_priority): Init new field.
+ * haifa-sched.c (set_priorities): Set
+ sched_info->sched_max_insns_priority.
+ * config/rs6000/rs6000.h:
+ (rs6000_sched_restricted_insns_priority_str): Support new
+ flag -mprioritize-restricted-insns.
+ (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
+ * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
+ function.
+ (rs6000_adjust_priority): Change priority of restricted
+ insns, using above new function and new flag.
+ * doc/invoke.texi (-mprioritize-restricted-insns): Document
+ new option.
+
+ 2003-10-07 Zack Weinberg <zack@codesourcery.com>
+
+ * expr.c (cmpstr_optab, cmpmem_optab): New.
+ * genopinit.c: Initialize them.
+ * optabs.h: Declare them.
+ * optabs.c (init_optabs): Clear them.
+ (prepare_cmp_insn): Use cmpstr_optab and cmpmem_optab to find
+ block memory compare insns, not conditional chains. Restructure
+ the fallback generation of a call to memcmp/bcmp for better
+ readability.
+
+ 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
+ (mips_save_restore_fn): New typedef.
+ (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
+ (mips_set_frame_expr, mips_frame_set): Move above prologue code.
+ (save_restore_insns): Remove, replacing with...
+ (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
+ (mips_save_reg, mips_restore_reg): New function.
+ (mips_expand_prologue, mips_expand_epilogue): Rework.
+ * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
+ (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
+ (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
+
+ 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_expand_prologue): Remove unused
+ traversal of function arguments.
+
+ 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Remove documentation of -mentry.
+ * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
+ (override_options, mips_save_reg_p): Remove handling.
+ (compute_frame_size, mips_output_function_prologue): Likewise.
+ (mips_expand_prologue, mips_expand_epilogue): Likewise.
+ * config/mips/mips.h (mips_entry_string): Remove declaration.
+ (TARGET_OPTIONS): Remove -mentry.
+ * config/mips/mips16.S: Remove mention of -mentry.
+
+ 2003-10-06 Zack Weinberg <zack@codesourcery.com>
+
+ * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
+ (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
+ (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
+ (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
+ (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
+ (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
+ (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
+ (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
+ (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
+ (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
+ (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
+ (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
+ (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
+ (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
+ (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
+ (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
+ (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
+ (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
+ (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
+ (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
+ (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
+ (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
+ (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
+ (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
+ (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
+ (fixunstfti_libfunc): Delete.
+ * optabs.h (struct optab_handlers): Break out of struct optab.
+ (struct convert_optab, convert_optab, enum convert_optab_index,
+ convert_optab_table, sext_optab, zext_optab, trunc_optab,
+ sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
+ sfloat_optab, ufloat_optab): New.
+ (set_conv_libfunc): Prototype.
+ (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
+ (trunc_optab): Renamed btrunc_optab.
+ * builtins.c (expand_builtin_mathfn): Update to match.
+ * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
+ (convert_optab_table, new_convert_optab, init_convert_optab)
+ (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
+ (set_conv_libfunc): New.
+ (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
+ (expand_float, expand_fix): Use new conversion optabs,
+ not old insn code tables or long chains of ifs.
+ (init_optabs): No need to clear old insn code tables.
+ Initialize the new optabs, not the old libfunc array entries.
+ Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+ * genopinit.c: Initialize conversion optabs, not the
+ former insn code tables. Remove unnecessary casts.
+ Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+ * expr.c (convert_move): Remove redundant check that
+ to_real==from_real. Use the conversion optabs instead
+ of long chains of tests of modes. Move partial-integer-mode
+ interconversion above all integer conversion. Do not recurse
+ on a value forced into a register in the original mode.
+
+ * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
+ * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
+ * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
+ in new conversion optabs; do not reference the old libfunc
+ array entries. No need to include libfuncs.h.
+
+ 2003-10-06 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
+ point comparison sequence with a REG_EQUAL note that describes
+ the comparison's semantics.
+
+ 2003-10-06 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
+ of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
+
+ 2003-10-06 Roger Sayle <roger@eyesopen.com>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
+ instruction by using LCT_CONST and then calling emit_libcall_block
+ ourselves.
+
+ 2003-10-06 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR optimization/11974
+ * optabs.c (expand_unop): Promote libcall outmode according to
+ hard_libcall_value.
+
+ 2003-10-06 Zack Weinberg <zack@codesourcery.com>
+
+ * real.h (REAL_MODE_FORMAT): New macro.
+ * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
+ * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
+ * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
+ * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
+ * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
+ directly to real_format_for_mode array, wherever possible.
+
+ 2003-10-06 Devang Patel <dpatel@apple.com>
+
+ * dwarf2out.c (is_main_source): Remove variable.
+ (dwarf2out_start_source_file): Do not check is_main_source.
+ Do not reset is_main_source.
+ (dwarf2out_init): Do not initialize is_main_source.
+
+ 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
+ (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
+ introduced some multi-line prototypes.
+ * fixinc/fixincl.x: Regenerate.
+
+ 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
+ * config/mips/mips.c (stack_operand): New predicate.
+ * config/mips/mips.md: Use it for the destination of mips16 insns
+ that store $31.
+
+ 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (*lowsi): Renamed from lowsi.
+ (*lowdi): Likewise lowdi.
+ (*lowsi_mips16, *lowdi_mips16): New patterns.
+ * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
+ mips16 CONSTANT_RELOC handling.
+ (mips_delegitimize_address): Adjust for new sdata representation.
+
+ 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
+ skip any remaining register arguments.
+
+ 2003-10-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (find_reloads_subreg_address): Use correct offset for
+ paradoxical MEM subregs on big-endian targets.
+
+ 2003-10-06 Andrew Haley <aph@redhat.com>
+
+ * tree.c (get_callee_fndecl): Call
+ lang_hooks.lang_get_callee_fndecl.
+ * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
+ (lhd_get_callee_fndecl): New.
+
+ 2003-10-06 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+ error in calculating the length of the string.
+ (machopic_stub_name): Likewise.
+
+ 2003-10-06 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (prepare_float_lib_cmp): Attach a REG_EQUAL note
+ describing the return value of the comparison libcall to the
+ REG_RETVAL instruction of the emitted sequence.
+
+ 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/12215
+ * cse.c (cse_set_around_loop): Emit the move at the beginning
+ of the next basic block for trapping sets.
+
+ 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11637
+ * combine.c (adjust_for_new_dest): New function to adjust the
+ notes and LOG_LINKS when the dest of an insn has changed.
+ (try_combine): Use it when deleting the first insn of a two-insn
+ parallel or splitting a two-load parallel.
+
+ 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
+ if TARGET_EXPLICIT_RELOCS.
+
+ 2003-10-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR bootstrap/12512
+ * Makefile.in (info): Use double-colon rules.
+ (dvi): Likewise.
+ (generated-manpages): Likewise.
+ * configure.in: Do not create lang.info, lang.dvi, or
+ lang.generated-manpages hooks.
+ * configure: Regenerated.
+ * objc/Make-lang.in (objc.info): Remove.
+ (objc.dvi): Remove.
+ (objc.generated-manpages): Remove.
+ * doc/sourcebuild.texi: Update description of info, dvi, and
+ generated-manpages hooks.
+
+ 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
+
+ 2003-10-05 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+ errors in memcpy destinations.
+ (machopic_stub_name): Likewise.
+
+ 2003-10-05 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_non_lazy_ptr_name):
+ Change strcat to memcpy and add length together.
+ (machopic_stub_name): Likewise.
+
+ 2003-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
+ signal trampoline codes.
+
+ 2003-10-05 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.md (*divsf3): Move description of
+ SB-1 F2 erratum from here to...
+ (divsf3): Here. Disable if TARGET_FIX_SB1 is set and
+ flag_unsafe_math_optimizations is not.
+
+ 2003-10-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
+ TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
+
+ 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-pretty-print.c: Fix comment typos.
+ * c-pretty-print.h: Likewise.
+ * calls.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cppfiles.c: Likewise.
+ * final.c: Likewise.
+ * function.c: Likewise.
+ * gcov-io.h: Likewise.
+ * gcse.c: Likewise.
+ * genoutput.c: Likewise.
+ * loop.c: Likewise.
+ * postreload.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regmove.c: Likewise.
+ * sched-int.h: Likewise.
+ * sched-rgn.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * tree-inline.c: Likewise.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.md: Likewise.
+ * config/sh/sh.h: Likewise.
+
+ 2003-10-05 Richard Henderson <rth@redhat.com>
+
+ * tree-inline.c (remap_type): New.
+ (remap_decl): Use it. Remap DECL_SIZE*.
+ (copy_body_r): Use it.
+ (walk_tree): Walk TREE_TYPE too.
+ (copy_tree_r): Don't walk subtrees of types.
+ * tree.c (variably_modified_type_p): Restructure. Consider integer
+ types with non-const bounds variably modified.
+
+ 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Fix typos.
+
+ 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c: Follow spelling conventions.
+ * function.c: Likewise.
+ * config/c4x/c4x.h: Likewise.
+ * config/c4x/c4x.md: Likewise.
+ * config/frv/frv.md: Likewise.
+ * config/rs6000/aix.h: Likewise.
+ * config/rs6000/linux64.h: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+ 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-pretty-print.c: Fix comment formatting.
+ * cfglayout.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cppcharset.c: Likewise.
+ * dbxout.c: Likewise.
+ * ggc-page.c: Likewise.
+ * ggc.h: Likewise.
+ * target.h: Likewise.
+
+ 2003-10-04 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
+
+ 2003-10-04 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
+ Convert to ISO C90 function declarations and definitions.
+
200309251213.int | | | gzip.base-0.114273% vpr.peak-0.688615% | mcf.peak+0.101397% mcf.base+0.127353% parser.peak+0.108956% twolf.peak+0.420686% twolf.base+0.164109% |
+ 2003-09-25 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
+ arm7tdmi core.
+
+ 2003-09-25 Ziemowit Laski <zlaski@apple.com>
+
+ * config/darwin-protos.h (objc_image_info_section):
+ New prototype.
+
+ 2003-09-25 Ziemowit Laski <zlaski@apple.com>
+
+ * Makefile.in (stub-objc.o): Depend on $(GGC_H).
+
+ 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Get rid of more gratuitious 'x'es. Actually allow
+ tsc701 as a --with-cpu, --with-tune setting for sparc.
+
+ 2003-09-25 Ziemowit Laski <zlaski@apple.com>
+
+ * c-parse.in (objc_try_stmt): Do not specify a %type.
+
+ 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: New 'widely ported system' clause for rtems.
+ Set thread file there, not in individual clauses.
+
+ 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_va_arg): Handle arguments that must be
+ passed on the stack.
+
+ 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc (widely ported systems section): Mostly alphabetize
+ by system. Comment the case where we can't.
+ * config.gcc (widely ported systems section): Reindent and clean up.
+
+ * config.gcc: Remove some unnecessary uses of 'x' in case statements.
+ Actually allow ep9312 as an arm --with-arch setting.
+
+ * config.gcc (*-hpux11): Disable fixproto.
+
+ 2003-09-24 Phil Edwards <phil@codesourcery.com>
+
+ PR pch/12112
+ * gcc/cppfiles.c (pch_open_file): Return based on combined
+ result of all files.
+ (validate_pch): Return validate flag for current file.
+
+ 2003-09-24 Roger Sayle <roger@eyesopen.com>
+
+ PR bootstrap/12358
+ * fold-const.c (tree_swap_operands_p): Only reorder operands when
+ one of the operands is constant.
+
+ 2003-09-24 Ziemowit Laski <zlaski@apple.com>
+
+ MERGE OF objc-improvements-branch into MAINLINE:
+ * Makefile.in (C_OBJS): Add in stub-objc.o.
+ (c-parse.y): Change sed demarcations to begin with '@@'.
+ (stub-objc.o): New rule.
+ * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
+ flag_replace_objc_classes): New flags.
+ * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
+ RID_AT_SYNCHRONIZED): New keywords.
+ (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
+ flag_replace_objc_classes): New flags.
+ (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
+ objc_comptypes, objc_message_selector, lookup_objc_ivar,
+ get_current_scope, objc_mark_locals_volatile): New prototypes,
+ some moved from c-tree.h.
+ * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
+ (finish_decl): Adjust where objc_check_decl() gets called.
+ * c-lang.c (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
+ objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
+ * c-opts.c (c_common_handle_option): Add handling for flag_nil_receivers,
+ flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
+ * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
+ '@@end_ifc', respectively.
+ (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
+ (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
+ objc_finally_block): New rules.
+ (component_decl_list2): Clean up semantic action for @defs construct.
+ (component_decl, c99_block_start): Remove call to add_objc_decls().
+ (poplevel): Add call to objc_clear_super_receiver().
+ (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
+ constructs.
+ (classdef, methodprotolist): Clean up/simplify.
+ (methodprotolist2): Eliminate.
+ (methodproto): Call add_method() instead of add_class_method() and
+ add_instance_method().
+ (receiver): Add TYPENAME production.
+ (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
+ (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
+ AT_SYNCHRONIZED.
+ * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
+ objc_comptypes, objc_message_selector)
+ * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
+ struct and pointer types.
+ (build_c_cast): Do not discard ObjC protocol qualifiers.
+ (convert_for_assignment): Cache result of comp_target_types() instead
+ of calling it more than once.
+ * c.opt (fnext-runtime): Update description string.
+ (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
+ New ObjC/ObjC++-specific flags.
+ * function.h (GCC_FUNCTION_H): Header guard.
+ * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
+ * stub-objc.c: New file, to be used to satisfy references to ObjC
+ functions by the C and C++ front-ends.
+ * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
+ * config/darwin.h (FUNCTION): Add in_objc_image_info.
+ (SECTION_FUNCTION): Add objc_image_info_section.
+ * doc/invoke.texi: Link to GCC web site for Objective-C information.
+ (-fconstant-string-class): Update documentation.
+ (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
+ -fzero-link): New documentation.
+ * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
+ with '@@'.
+ * objc/lang-specs.h (@objective-c-header): Fix -E spec.
+ * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
+ throughout; provide casts for return values from memory allocation
+ functions (xmalloc, alloca, ggc_alloc, etc.).
+ (OBJC_VOID_AT_END): New macro.
+ (rtl.h): Do not #include any more.
+ (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
+ (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
+ TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
+ TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
+ TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
+ (struct val_stack, catch_count_stack, exc_binding_stack, val_stack_push,
+ val_stack_pop): New.
+ (objc_check_decl): Fix precondition for error message, along with
+ the message itself.
+ (lookup_and_install_protocols): Remove nonexistent protocols from
+ protocol list instead of returning error_mark_node.
+ (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
+ (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
+ (synth_module_prologue): General clean-up; construct NeXT-specific
+ runtime API prototypes if needed.
+ (build_string_class_template): Remove.
+ (check_string_class_template, string_layout_checked): New.
+ (build_objc_string_object): Generalize to work with
+ -fconstant-string-class.
+ (build_objc_symtab_template): Fix layout for the NeXT runtime.
+ (build_metadata_decl): New.
+ (forward_declare_categories): Call build_metadata_decl() instead of
+ create_builtin_decl() et al.
+ (build_module_descriptor): Use OBJC_VOID_AT_END instead of
+ void_list_node_1.
+ (build_selector_reference_decl, build_class_reference_decl,
+ build_objc_string_decl): Do not set TREE_READONLY.
+ (get_proto_encoding): Do not call hack_method_prototype().
+ (get_class_reference): Add failure mode for invalid class names;
+ support -fzero-link; defer if in an ObjC++ template declaration.
+ (objc_declare_alias, objc_declare_class): Fix up duplicate name
+ lookup; check for global scope if in ObjC++.
+ (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
+ RECORD_TYPE, IDENTIFIER_NODE, etc.)
+ (objc_is_id): Removed.
+ (objc_is_object_ptr): New function.
+ (get_class_ivars_from_name): New function, used for @defs construct.
+ (get_class_ivars): Add option to return raw ivars; create a
+ ClASS_OWN_IVARS list for each class as needed.
+ (objc_enter_block, objc_exit_block, objc_declare_variable,
+ objc_build_throw_stmt, val_stack_push, val_stack_pop,
+ objc_build_try_enter_fragment, objc_build_extract_expr,
+ objc_build_try_exit_fragment, objc_build_extract_fragment,
+ objc_build_try_prologue, objc_build_try_epilogue,
+ objc_build_catch_stmt, objc_build_catch_epilogue,
+ objc_build_finally_prologue, objc_build_finally_epilogue,
+ objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
+ objc_build_synchronized_epilogue, build_objc_exception_stuff):
+ New functions.
+ (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
+ the future).
+ (build_private_template): Fix up calls to get_class_ivars().
+ (offset_is_register, forwarding_offset): Remove.
+ (objc_method_parm_type, objc_encoded_type_size): New functions.
+ (encode_method_prototype): Simplify to no longer depend on
+ back-end information.
+ (build_tmp_function_decl_xxx, build_tmp_function_decl,
+ hack_method_prototype): Removed.
+ (generate_protocol_references): Remove calls to
+ build_tmp_function_decl().
+ (generate_protocols): Adjust calls to encode_method_prototype().
+ (build_class_template): Generate sel_id' and 'gc_object_type' fields
+ for the NeXT runtime.
+ (synth_forward_declarations): Call build_metadata_decl().
+ (check_ivars): Check that the number of ivars matches also.
+ (build_super_template): Modify super_type directly; disable debugging
+ output while generating decl.
+ (build_ivar_list_initializer): Skip list elements that are not
+ FIELD_DECLs.
+ (ivar_list_length): New function.
+ (generate_ivar_lists): Call ivar_list_length() instead of list_length()
+ and encode_method_prototype() instead of encode_method_def().
+ (build_shared_structure_initializer): Generate 'sel_id' field for
+ the NeXT runtime.
+ (generate_category): Do not set TREE_USED.
+ (build_keyword_selector): Ditto; transform into a function argument
+ chain.
+ (get_arg_type_list): If there are no user-specified arguments, use
+ '...'; use OBJC_VOID_AT_END.
+ (check_duplicates): Add a parameter indicating whether methods or
+ selectors are being checked.
+ (receiver_is_class_object): Add parameters indicating whether
+ receiver is 'self' or 'super'; robustify.
+ (build_message_expr): Defer call to finish_message_expr() if
+ inside an ObjC++ template.
+ (lookup_method_in_hash_lists): New function.
+ (finish_message_expr): Complete rewrite/fix.
+ (build_objc_method_call): Ditto; factor out commonalities between
+ the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
+ messenger variants on the NeXT.
+ (lookup_instance_method_static, lookup_class_method_static):
+ Fold into a single lookup_method_static() function with an
+ additional parameter.
+ (add_class_method, add_instance_method): Fold into a single
+ add_method() function with an additional parameter.
+ (add_category): Make duplicate categories a hard error in ObjC++.
+ (add_instance_variable): Properly handle unnamed ivars, arrays of
+ zero or no size and bitfields. In ObjC++, check for nontrivial
+ C++ class instances.
+ (is_public): Allow C functions to access non-@public ivars, with
+ a warning.
+ (start_class): Move common initializations to
+ synth_module_prologue(); check for global scope if in ObjC++.
+ (continue_class): Fix calls to finish_struct().
+ (objc_declare_protocols, start_protocol): Check for global scope
+ if in ObjC++.
+ (encode_pointer): Encode 'BOOL *' specially on the NeXT.
+ (encode_aggregate_within): Rewrite to properly distinguish
+ struct tags from typedefs in both ObjC and ObjC++.
+ (encode_bitfield, encode_complete_bitfield): Remove.
+ (encode_next_bitfield, encode_gnu_bitfield): New functions.
+ (encode_field_decl): Call encode_next_bitfield() or
+ encode_gnu_bitfield() as needed.
+ (synth_self_and_ucmd_args): New function.
+ (start_method_def): Use it.
+ (objc_types_are_equivalent): New function.
+ (comp_proto_with_proto): Use it instead of comptypes(), since
+ we need symmetry.
+ (really_start_method): Use lookup_method_static() instead of
+ lookup_class_method_static() and lookup_instance_method_static();
+ Emit 'extern "C"' if in ObjC++ mode.
+ (add_objc_decls): Removed.
+ (UOBJC_SUPER_scope): New variable.
+ (get_super_receiver): Move construction of 'super' from
+ add_objc_decls(); remove dependency on struct objc_class.
+ (encode_method_def): Removed; encode_method_prototype() is
+ used instead.
+ (objc_clear_super_receiver): New function.
+ (objc_expand_function_end): Do not do anything for ordinary
+ C functions.
+ (finish_method_def): Mark ObjC methods as un-inlinable.
+ (gen_declaration_1): Emit widths of bitfields.
+ (finish_objc): Call generate_objc_image_info() if needed;
+ use check_duplicates() when checking for selector duplicates.
+ (generate_objc_image_info): New function.
+ * objc/objc-act.h (add_instance_method, add_class_method,
+ get_class_ivars): Remove prototypes.
+ (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
+ objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
+ objc_build_catch_stmt, objc_build_catch_epilogue,
+ objc_build_finally_prologue, objc_build_finally_epilogue,
+ add_method, get_class_ivars_from_name): New prototypes.
+ (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
+ (TYPE_PROTOCOL_LIST): Robustify to distinguish from
+ TRANSLATION_UNIT_DECLs.
+ (OBJC_TYPE_NAME): New.
+ (objc_tree_code): Ensure that either <c-tree.h> or
+ got included.
+ (IS_SUPER): Robustify.
+ (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
+ umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
+ objc_exception_try_enter_decl, objc_exception_try_exit_decl,
+ objc_exception_match_decl, objc_exception_throw_decl,
+ objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
+ objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
+ objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
+ objc_catch_type): New ObjC/ObjC++ roots.
+ * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
+ ObjC/ObjC++ tree node codes.
+
+ 2003-09-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
+ code path that calls a handler.
+
200309162204.int | eon.peak+6.28575% | vpr.peak-1.67313% | vpr.peak-0.135039% mcf.peak-0.101295% mcf.base-0.127191% parser.peak-0.108824% gap.peak-0.282555% twolf.peak-0.418923% twolf.base-0.134091% | gzip.base+0.114404% vpr.base+0.281049% eon.peak+0.696065% eon.base+0.605898% |
+ 2003-09-16 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (tree_swap_operands_p): New function to determine
+ the prefered ordering of operands.
+ (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
+ operands to commutative, comparison or ternary operators. Replace
+ uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
+ transformation of A ? B : C into !A ? C : B.
+
200309100701.int | | eon.peak-6.40101% | | eon.peak+0.322626% eon.base+0.126489% |
+ 2003-09-09 Richard Henderson <rth@redhat.com>
+
+ * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
+ * cgraph.h (cgraph_finalize_function): Update.
+ * c-decl.c (finish_function): Update.
+
+ 2003-09-09 Devang Patel <dpatel@apple.com>
+
+ * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
+ * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
+
+ 2003-09-09 Eric Christopher <echristo@redhat.com>
+
+ * configure.in: Change usage of 'head' to 'sed 1q'.
+ * configure: Regenerate.
+
+ 2003-09-09 Richard Henderson <rth@redhat.com>
+
+ * except.c: Include cgraph.h.
+ (output_function_exception_table): Invoke
+ cgraph_varpool_mark_needed_node.
+ * Makefile.in (except.o): Update.
+
+ 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
+ and use it throughout.
+
+ 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (real_dconstp, fold_builtin_logarithm,
+ fold_builtin_exponent): New, split out from fold_builtin. Also
+ generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
+ * emit-rtl.c (dconst3, dconst10, dconstthird): New.
+ (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
+ of hardcoded array size.
+ * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
+ (tree_expr_nonnegative_p): Likewise.
+ * real.h (dconst3, dconst10, dconstthird): New.
+
+ Tue Sep 9 22:18:48 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
+ inline functions.
+ (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
+ DECL_SAVED_TREE.
+
+ 2003-09-09 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (fold_builtin_cabs): Protect the complex argument
+ against multiple evaluation when optimizing cabs* into sqrt*.
+
200309091324.int | | | eon.peak-0.35024% eon.base-0.155574% | |
+ 2003-09-08 Bernardo Innocenti <bernie@develer.com>
+ Peter Barada <peter@baradas.org>
+
+ * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
+ * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
+ * config/m68k/linux.h (REGISTER_NAMES): Likewise.
+ * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
+ * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
+ * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
+ * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
+ (m68k_compute_frame_layout): New function.
+ (m68k_initial_elimination_offset): New function.
+ (m68k_output_function_prologue): ColdFire-specific movem handling.
+ (m68k_output_function_epilogue): Likewise.
+ * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
+ (ARG_POINTER_REGNUM): Add new definition.
+ (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
+ (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
+ (CAN_ELIMINATE): Likewise.
+ (INITIAL_ELIMINATION_OFFSET): Likewise.
+
+ 2003-09-08 Bernardo Innocenti <bernie@develer.com>
+
+ * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
+ by removing redundant variable cfa_store_offset.
+
+ 2003-09-08 Mark Mitchell <mark@codesourcery.com>
+
+ * langhooks-def.h (lhd_register_builtin_type): New function.
+ (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
+ * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
+ * langhooks.c (lhd_register_builtin_type): New function.
+ * c-common.h (c_register_builtin_type): Declare.
+ * c-common.c (c_register_builtin_type): New function.
+ * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
+ c_register_builtin_type.
+ * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
+ __float80, and __float128 macros.
+ * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
+ __float80, and __float128 types.
+
+ 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-types.def
+ (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
+ BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
+ BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
+ * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
+ BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
+ BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
+ BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
+ BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
+ BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
+ BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
+ BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
+ BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
+ BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
+ BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
+ BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
+ BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
+ BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
+ New.
+ * doc/extend.texi: Document new builtins.
+
+ Tue Sep 9 02:18:06 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
+ finalization.
+ * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
+ functions, check for COMDAT.
+ (cgraph_assemble_pending_functions): Break out from...
+ (cgraph_finalize_function): ... here; allow redefinig of extern inline
+ functions.
+ (record_call_1): Record function references only in non-unit-at-a-time
+ mode.
+ (cgraph_analyze_function): Reset current_function_decl.
+ (cgraph_finalize_compilation_unit): Assemble pending functions.
+
+ 2003-09-08 Mark Mitchell <mark@codesourcery.com>
+
+ * mklibgcc.in (libcc.a): Depend on stmp-dirs.
+ (libgov.a): Likewise.
+ (libgcc_eh.a): Likewise.
+
200309081946.int | | perlbmk.peak-0.984322% | vortex.peak-0.19155% vortex.base-0.205688% | |
+ 2003-09-08 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (c_expand_body_1): Push and pop function context here.
+ * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
+ nested argument instead of computing nesting ourselves.
+
+ 2003-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
+ regstack if optimizing but not scheduling after reload.
+
+ 2003-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/sparc.c (struct machine_function): New type.
+ (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
+ (sparc_override_options): Initialize init_machine_status.
+ (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
+ tie_symbolic_operand, tle_symbolic_operand): New functions.
+ (symbolic_operand): Disallow tls_symbolic_operand.
+ (symbolic_memory_operand): Likewise.
+ (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
+ constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
+ New functions.
+ (sparc_tls_symbol): New variable.
+ (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
+ legitimize_address): New functions.
+ (print_operand): Handle %&.
+ (sparc_init_machine_status, get_some_local_dynamic_name,
+ get_some_local_dynamic_name_1): New functions.
+ (sparc_output_dwarf_dtprel): New function.
+ * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
+ constant_address_p.
+ (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
+ (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
+ (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
+ (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
+ (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
+ (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
+ (ASM_OUTPUT_DWARF_DTPREL): Define.
+ (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
+ tie_symbolic_operand, tle_symbolic_operand.
+ * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
+ UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
+ (tls_call_delay): New attribute.
+ (in_call_delay): Use it.
+ (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
+ (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
+ tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
+ tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
+ tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
+ tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
+ (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
+ tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
+ tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
+ tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
+ tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
+ tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
+ tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
+ tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
+ insns.
+ * config/sparc/sparc-protos.h (legitimate_constant_p,
+ constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
+ legitimize_tls_address, legitimize_address, tls_symbolic_operand,
+ tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
+ * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
+ * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
+ * configure.in (sparc*-*-*): Add TLS check.
+ * configure: Rebuilt.
+
+ 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/11689
+ * config/i386/i386.c (memory_address_length): Fix computation when
+ the base is esp or ebp.
+
200309070833.int | | | eon.peak-0.171367% eon.base-0.188459% | |
200309051257.int | vpr.base+3.24905% crafty.base+2.00298% perlbmk.peak+1.76427% perlbmk.base+1.06815% gap.base+2.37348% vortex.peak+1.96412% | gzip.peak-12.2114% gzip.base-1.42999% eon.peak-10.6613% | gzip.base-19.0267% vpr.base-2.32733% gcc.base-2.36185% eon.base-7.33494% perlbmk.base-0.456155% gap.base-0.10299% vortex.base-0.918685% twolf.base-0.159468% | gzip.peak+10.1898% vpr.peak+5.11724% gcc.peak+10.3444% mcf.peak+2.17342% crafty.peak+1.45728% parser.peak+7.86257% eon.peak+8.68873% perlbmk.peak+3.22477% gap.peak+10.0809% vortex.peak+2.21762% bzip2.peak+18.271% twolf.peak+5.7088% |
200309051257 - improvements caused by unit-at-a-time at -O2, regressions by increasing inline limits (unsolved, Jan Hubicka)
200309041059.int | vpr.peak+1.77096% bzip2.base+1.00994% | eon.base-3.39109% perlbmk.peak-1.61778% gap.peak-2.39016% | vpr.peak-0.117941% perlbmk.peak-0.165729% gap.base-0.169727% twolf.peak-0.345839% twolf.base-0.163385% | crafty.peak+0.232159% crafty.base+0.330852% eon.peak+0.243699% eon.base+0.137881% gap.peak+0.560396% |
+ 2003-09-03 David O'Brien <obrien@FreeBSD.org>
+
+ optimization/11980
+ * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
+ (PTRDIFF_TYPE): Likewise.
+ (WCHAR_TYPE_SIZE): Likewise.
+
+ 2003-09-03 DJ Delorie <dj@redhat.com>
+
+ * targhooks.c: New file.
+ * targhooks.h: New file.
+ * Makefile.in: Add targhooks.o support.
+ (function.o): Depend on$(TARGET_H).
+ (stmt.o): Likewise.
+ (combine.o): Depend on $(TREE_H) and $(TARGET_H).
+ * builtins.c (apply_args_size, expand_builtin_apply_args_1,
+ expand_builtin_apply): Convert to calls.struct_value_rtx hook.
+ (expand_builtin_saveregs): Convert to
+ calls.expand_builtin_saveregs hook.
+ * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
+ here, instead of ...
+ (get_parm_info) ... here.
+ (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
+ hook.
+ (finish_function): Handle calls.promote_prototypes hook here too.
+ * c-typeck.c (convert_arguments): Convert to
+ calls.promote_prototypes hook.
+ (c_convert_parm_for_inlining): Likewise.
+ * calls.c (initialize_argument_information): Convert to
+ calls.promote_function_args hook.
+ (expand_call): Convert to calls.struct_value_rtx,
+ calls.strict_argument_naming,
+ calls.pretend_outgoing_varargs_named, and
+ calls.promote_function_return hooks. Pass fndecl to
+ aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
+ hooks, so they can use that.
+ (emit_library_call_value_1): Likewise.
+ * combine.c (setup_incoming_promotions): Convert to
+ calls.promote_function_args hook.
+ * emit-rtl.c: Convert to calls.struct_value_rtx hook.
+ * expr.c (expand_assignment): Pass call to aggregate_value_p.
+ (expand_expr): Likewise.
+ * expr.h: Remove support for SETUP_INCOMING_VARARGS,
+ STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+ RETURN_IN_MEMORY macro defaults.
+ * final.c (profile_function): Convert to calls.struct_value_rtx
+ hook.
+ * function.c (aggregate_value_p): Accept function type tree as
+ second parameter; try to deduce fntype from it. Convert to
+ calls.return_in_memory hook.
+ (assign_parms): Convert to calls.setup_incoming_varargs,
+ calls.strict_argument_naming, calls.promote_function_args,
+ calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
+ aggregate_value_p.
+ (expand_function_start): Likewise. Convert to
+ calls.struct_value_rtx hook.
+ (expand_function_end): Convert to calls.promote_function_return hook.
+ (allocate_struct_function): Pass fndecl to aggregate_value_p.
+ * hard-reg-set.h: Update comments to new hook names.
+ * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
+ * reg-stack.c (stack_result): Likewise.
+ * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
+ * stmt.c (expand_value_return): Convert to
+ calls.promote_function_return hook.
+ * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
+ TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+ TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
+ TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
+ TARGET_STRICT_ARGUMENT_NAMING,
+ TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
+ * target.h: Likewise.
+ * tree.h (aggregate_value_p): Also takes a tree to deduce function
+ attributes from (for target hooks).
+ * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
+ PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
+ STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
+ EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
+ STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
+ to hooks.
+
+ * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
+ to aggregate_value_p.
+ * config/arm/arm.c (arm_init_cumulative_args,
+ arm_output_mi_thunk): Likewise.
+ * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
+ Likewise.
+ * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
+ mips_can_use_return_insn): Likewise.
+ * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+ * config/s390/s390.c (s390_output_mi_thunk): Likewise.
+ * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
+ aggregate_value_p.
+ * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
+ function to aggregate_value_p.
+ * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
+ aggregate_value_p.
+
+ * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
+ (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
+ sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
+ (sh_handle_renesas_attribute, sh_promote_prototypes,
+ sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
+ sh_setup_incoming_varargs, sh_strict_argument_naming,
+ sh_pretend_outgoing_varargs_named): New decls.
+ (targetm): Add new hooks.
+ (calc_live_regs): Save MACL and MACH if the function has the
+ renesas attribute.
+ (sh_expand_prologue): Support renesas attribute.
+ (sh_builtin_saveregs): Make static.
+ (sh_build_va_list): Support renesas attribute.
+ (sh_va_start): Likewise.
+ (sh_va_arg): Likewise.
+ (sh_promote_prototypes): New.
+ (sh_function_arg): New, moved from sh.h. Support renesas
+ attribute.
+ (sh_function_arg_advance): Likewise.
+ (sh_return_in_memory): Likewise.
+ (sh_strict_argument_naming): Likewise.
+ (sh_pretend_outgoing_varargs_named): Likewise.
+ (sh_struct_value_rtx): New.
+ (sh_attribute): Add renesas attribute.
+ (sh_handle_renesas_attribute): New.
+ (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
+ (sh_ms_bitfield_layout_p): Support renesas attribute also.
+ (sh_output_mi_thunk): Pass function to aggregate_value_p. *
+ config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
+ -mhitachi.
+ (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
+ target hooks.
+ (sh_args): Add renesas_abi flag.
+ (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
+ (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
+ (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
+ stack for the renesas abi.
+ (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+ SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
+ PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
+ call cookie to indicate renesas calls.
+
+ 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
+
+ * gcse.c (replace_one_set): New function.
+ (pre_insert_copy_insn): Change the order of copying
+ to make copy propagation discover additional PRE opportunities.
+
+ 2003-09-03 Roger Sayle <roger@eyesopen.com>
+
+ PR optimization/11700.
+ * simplify-rtx.c (simplify_subreg): Check that the subreg offset
+ of a hard register is representable before trying to simplify it
+ using subreg_hard_regno.
+
+ 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
+ * configure: Regenerate.
+
+ 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * intl.h (N_): Remove parentheses.
+
200308290013.int | | | | perlbmk.peak+0.297653% |
+ 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
+ BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
+ BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
+ BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
+ BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
+ BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
+ BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
+ BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
+ BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
+ BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
+ BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
+ * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
+ BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
+ BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
+ BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
+ * tree.c: Assign new type_nodes.
+ * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
+ TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
+ (float_ptr_type_node, double_ptr_type_node,
+ long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
+
+ * doc/extend.texi: Document new builtins.
+
+ 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
+ BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
+
+ * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
+ BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
+ BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
+ BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
+ BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
+ BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
+ BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
+ BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
+ BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
+ BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
+
+ * doc/extend.texi: Document new builtins.
+
+ 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * fixinc/mkfixinc.sh: Remove special case code for unsupported
+ variants of i?86, powerpcle, and thumb.
+ * fixinc/mkfixinc.sh: Remove special case code for unsupported
+ arm and hppa variants.
+
+ 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
+ BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
+ BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
+ BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
+ BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
+ BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
+ BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
+ BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
+ BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
+ BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
+
+ * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
+ BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
+ BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
+ BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
+ BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
+ BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
+ BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
+ BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
+ BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
+ BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
+ BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
+ BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
+ BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
+ BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
+ BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
+ BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
+ BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
+ BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
+ BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
+ BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
+ BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
+ BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
+ BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
+ BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
+ BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
+ BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
+ BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
+ BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
+ BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
+ BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
+ BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
+
+ * doc/extend.texi: Document new builtins.
+
+ 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (legitmate_constant_p): Use LARL on
+ zSeries machines even in 31-bit addressing mode.
+ (legitimate_reload_constant_p): Likewise.
+ (legitimize_pic_address): Likewise.
+ (legitimize_tls_address): Likewise.
+ (s390_split_branches): Likewise.
+ (s390_dump_pool): Likewise.
+ (s390_mainpool_finish): Likewise.
+ (s390_chunkify_start): Likewise.
+ (s390_select_rtx_section): Likewise.
+ * config/s390/s390.md ("doloop_si"): Likewise.
+ ("pool_start_31", "pool_end_31"): Likewise.
+ ("pool_start_64", "pool_end_64"): Likewise.
+ ("main_base_31_small", "main_base_31_large"): Likewise.
+ ("main_base_64"): Likewise.
+ ("reload_base_31", "reload_base_64"): Likewise.
+ ("*movsi_larl"): New insn.
+ ("cjump", "icjump"): Use long branches on zSeries machines.
+ ("jump"): Likewise.
+ ("call"): Use BRASL on zSeries machines.
+ ("call_value", "call_value_tls"): Likewise.
+ ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
+ and replace by ...
+ ("*bras", "*brasl", "*basr") ... these new insns.
+ ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
+ "bas_31_r"): Remove and replace by ...
+ ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
+ ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
+ "bas_64_tls", "bas_31_tls"): Remove and replace by ...
+ ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
+ ("*return_si", "*return_di"): Remove and replace by ...
+ ("*return"): ... this new insn.
+ ("rotlsi3"): Allow on zSeries machines.
+
+ * config/s390/s390.c (legitimize_reload_constant_p): Use
+ LL/LH type instructions in z/Architecture mode.
+ * config/s390/s390.md ("*movsi_lli"): Likewise.
+ ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
+ ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
+ ("*extendqisi2"): Use LB in z/Architecture mode.
+ ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
+ z/Architecture mode.
+ ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
+ Likewise.
+
+ * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
+ and 31-bit mode.
+ ("ptr_extend"): Allow only in 64-bit mode.
+
200308192133.int | | | | eon.base+0.188534% |
+ 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
+ strstr with $pb to a strcompare with "<pic base>"
+ (ix86_output_addr_diff_elt): Output the real pic base.
+
200308191257.int | | | | eon.peak+0.315317% |
+ 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
+ (LANG_HOOKS_INITIALIZER): Correct.
+ * c-lang.c: Likewise.
+
+ 2003-08-19 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
+ (cgraph_varpool_mark_needed_node): Likewise.
+ * cgraph.h (notice_global_symbol): Declare
+ * varasm.c (notice_global_symbol): Break out from ...
+ (assemble_start_function): ... here; update for variables.
+ (assemble_variable): Use notice_global_symbol.
+
+ 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
+ expect SFmode and DFmode arguments to be passed in FPRs,
+ regardless of the underlying type.
+
+ 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/11924
+ * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
+ (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
+
+ 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
+
+ PR c/11207
+ * c-typeck.c (set_init_index): Check for negative index.
+
+ 2003-08-18 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
+ call0 ABI.
+ * config/xtensa/crtn.asm (_init, _fini): Likewise.
+ * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
+ __umodsi3, __modsi3): Likewise.
+ * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
+ $(INCLUDES).
+
200308181100.int | | | eon.peak-0.430969% eon.base-0.18101% | gcc.peak+0.929473% parser.peak+0.182762% |
+ 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Quote C code in braces. Remove use of
+ fake const0_rtx operands. Remove double backslashes. Use \;.
+ Remove workarounds for bogus warnings.
+
+ 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
+ (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
+ rather than TARGET_MIPS4300.
+ (mulsf3_internal, mulsf3_r4300): Likewise.
+
+ 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Renumber unspecs. Clean up comments.
+
+ 2003-08-17 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (associative_constant_p): New function to test
+ whether an RTX expression is an immediate constant.
+ (simplify_associative_operation): New function to perform some
+ reassociation optimizations of associative binary expressions.
+ (simplify_binary_operation): Use simplify_associative_operation
+ to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
+ Floating point expressions are only reassociated when unsafe
+ math optimizations are permitted.
+
+ 2003-08-17 Andreas Jaeger <aj@suse.de>
+
+ * config/alpha/alpha.md: Remove usage of PARAMS.
+
+ * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
+ * config/i386/i386-interix.h: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/i386/cygming.h: Likewise.
+ * config/i386/cygwin2.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin-protos.h: Likewise.
+ * config/darwin.h: Likewise.
+ * config/s390/s390-protos.h: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/ia64/ia64.c: Likewse
+ * config/ia64/ia64-protos.h: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+
+ 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/sparc/sparc.c: Convert to ISO C.
+
+ * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
+ * config/sparc/sparc.c: Likewise.
+
+ 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/11512
+ * stmt.c (expand_expr_stmt_value): Don't warn about any void
+ typed expression.
+
+ 2003-08-16 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_fntype_regparm): Rename from ...
+ (ix86_function_regparm): ... this one; add fastcall and local
+ functions.
+ (ix86_function_ok_for_sibcall): Update.
+ (ix86_return_pops_args): Likewise.
+ (init_cumulative_args): Likewise.
+ (x86_can_output_mi_thunk): Likewise.
+ (function_arg): Fix formating.
+ (x86_this_parameter): Fix fastcall.
+ (x86_output_mi_thunk): Likewise.
+
+ * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
+ body as reachable; mark nested functions as needed too.
+ (dump_cgraph): Do not output global.calls.
+ * cgraph.h (cgraph_global_info): Kill.
+ * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
+ (record_call_1): Speedup.
+ (cgraph_analyze_function): Break out from ...; compute inlining
+ parameters.
+ (cgraph_finalize_compilation_unit): ... here.
+ (cgraph_mark_inline): Kill computation of calls.
+ (cgraph_decide_inlining): Do not compute most of initial values.
+
200308032301.int | | | perlbmk.peak-0.269874% | |
+ 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
+ BUILT_IN_LLABS): Move to miscellaneous section.
+
+ 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
+
+ PR preprocessor/11534
+ * cppexp.c (parse_defined): Warn only if -pedantic.
+
+ PR preprocessor/11569
+ PR preprocessor/11649
200308010208.int | | | | parser.peak+0.209308% perlbmk.peak+0.231803% |
+ 2003-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
+ SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
+
+ 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
+
+ 2003-07-31 Per Bothner <pbothner@apple.com>
+
+ * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
+ (add_input_filename): New function.
+ (handle_options): Call add_input_filename directly instead of
+ with a lang hook.
+ * opts.h (in_fnames, num_in_fnames): Moved here.
+ (add_input_filename): Declare.
+ * c-decl.c: Need to #include opts.h.
+ * Makefile.in (c-decl.o): Also depends on opts.h.
+ * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
+ (c_common_handle_filename): Replaced by add_input_filename.
+ * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
+ Remove.
+ * langhooks.h (struct lang_hooks): Remove handle_filename hook.
+ * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
+ (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
+ * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
+
+ 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * combine.c (try_combine): Set JUMP_LABEL for newly created
+ unconditional jump.
+
+ 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * fold-const.c (fold): Fold some comparisons of bit operations.
+
+ Thu Jul 31 19:49:53 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (create_edge): Fix typo.
+ * i386.c (pic_symbolic_operand): Reorder tests.
+
200307310018.int | gap.peak+2.9763% | | | |
+ Thu Jul 31 01:04:19 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (insert_store): Fix typo in previous patch.
+
+ 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppfiles.c (stack_file, open_file_failed): Use path for deps.
+
+ 2003-07-30 Andi Kleen <ak@muc.de>
+
+ * loop.c (check_dbra_loop): Allow LTU in the loop condition.
+
+ 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
+ * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
+ GCOV_N_VALUE_COUNTERS): New.
+ * profile.c (compute_value_histograms): New static function.
+ (branch_prob): Read back the value histograms.
+ * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
+ * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
+ * value-prof.c: Add comment on reading the profile.
+ * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
+ * doc/invoke.texi (-fprofile-values): Document behavior with
+ -fbranch-probabilities.
+
+ 2003-07-30 David Edelsohn <edelsohn@gnu.org>
+
+ * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
+
+ 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
+ symbolically.
+
+ Wed Jul 30 19:12:10 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (insert_store): Ignore fake edges.
+
+ * c-common.c (flag_vtable_gc): Kill.
+ * c-common.g (flag_vtable_gc): Kill.
+ * c-opts (c_common_handle_option): Kill.
+ * c.opt (fvtable-gc): Kill.
+ * final.c (final_scan_insn): Do not call assemble_vtable_entry.
+ * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
+ * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
+
+ * invoke.texi (-ftable-gc): Kill documentation.
+
+ * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
+ just because function body is missing.
+
+ * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
+
200307300705.int | vortex.base+1.73719% | gzip.peak-0.879283% | | mcf.peak+0.19768% mcf.base+0.371021% eon.base+0.373343% bzip2.base+0.122483% |
+ 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
+
+ 2003-07-29 Zack Weinberg <zack@codesourcery.com>
+
+ * c-decl.c (last_function_parm_vars, current_function_parm_vars):
+ New static variables.
+ (struct c_scope): Add parms and warned_forward_parm_decls
+ fields; remove parm_order.
+ (storedecls, storetags): Delete.
+ (poplevel): Also clear bindings on the parms chain.
+ (pushdecl): Handle forward declarations of parameters, and
+ chain PARM_DECLs on the parms list, not the names list.
+ (lookup_name_current_level): Check for PARM_DECLs on the parms
+ list too.
+ (push_parm_decl): Don't update parm_order.
+ (clear_parm_order): Rename mark_forward_parm_decls. Issue the
+ warning, only once per parameter list, and set TREE_ASM_WRITTEN
+ on the decls here. Then move the forward decls to the names list.
+ (grokparms): Set last_function_parm_vars.
+ (get_parm_info): Don't use gettags or getdecls. No need to
+ extract non-parms from the parms list, or reorganize the parms
+ list. Feed nonparms back in the TREE_TYPE of the list node
+ returned. Issue only one error per parameter list for "void"
+ appearing more than once in said parameter list. Collapse
+ parmlist_tags_warning into this function to avoid double scan
+ of tags list.
+ (start_function): Set current_function_parm_vars.
+ (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
+ directly. Get non-parms from current_function_parm_vars; no
+ need to extract them from the parms chain. Properly bind tags
+ in the new scope.
+ (store_parm_decls_oldstyle): No need to extract non-parameters
+ from the parms chain, nor to store them back afterward. Move
+ declaration to top of function, restructure code reordering
+ DECL_ARGUMENTS.
+ (store_parm_decls): No need to save and restore warn_shadow.
+ * c-parse.in: Don't call parmlist_tags_warning nor
+ clear_parm_order. Call mark_forward_parm_decls when forward
+ parm decls are encountered.
+ * c-tree.h: Prototype mark_forward_parm_decls; not
+ clear_parm_order or parmlist_tags_warning.
+
+ 2003-07-29 Geoffrey Keating <geoffk@apple.com>
+
+ * c-common.c (allow_pch): Remove.
+ * c-common.h (allow_pch): Remove.
+ (c_common_no_more_pch): Declare.
+ * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
+ * c-pch.c: Include hosthooks.h.
+ (c_common_valid_pch): Don't check allow_pch.
+ (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
+ (c_common_no_more_pch): New.
+ * ggc-common.c: Include hosthooks.h.
+ (gt_pch_save): Call gt_pch_get_address.
+ (gt_pch_restore): Call gt_pch_use_address.
+ * hooks.c (hook_voidp_size_t_null): New.
+ (hook_bool_voidp_size_t_false): New.
+ * hooks.h (hook_voidp_size_t_null): New.
+ (hook_bool_voidp_size_t_false): New.
+ * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
+ (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
+ (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
+ HOST_HOOKS_GT_PCH_USE_ADDRESS.
+ * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
+ gt_pch_use_address.
+ * doc/hostconfig.texi (Host Common): Document
+ HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
+ * Makefile.in (c-pch.o): Depend on hosthooks.h.
+ (ggc-common.o): Likewise.
+
+ * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
+ (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
+ (pch_address_space): New.
+ (darwin_rs6000_gt_pch_get_address): New.
+ (darwin_rs6000_gt_pch_use_address): New.
+
+ 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
+ * cppfiles.c: Completely rewritten.
+ * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
+ struct cpp_path is now struct cpp_dir.
+ (remove_duplicates): Don't simplify path names.
+ * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
+ cpp_stack_file.
+ * cpphash.h: Include hashtab.h.
+ (_cpp_file): Declare.
+ (struct cpp_buffer): struct include_file is now struct _cpp_file,
+ and struct cpp_path is now struct cpp_dir. Rename members.
+ (struct cpp_reader): Similarly. New members once_only_files,
+ file_hash, file_hash_entries, quote_ignores_source_dir,
+ no_search_path, saw_pragma_once. Remove all_include_files and
+ max_include_len. Make some members bool.
+ (_cpp_mark_only_only): Renamed from _cpp_never_reread.
+ (_cpp_stack_file): Renamed from _cpp_read_file.
+ (_cpp_stack_include): Renamed from _cpp_execute_include.
+ (_cpp_init_files): Renamed from _cpp_init_includes.
+ (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
+ * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
+ (cpp_read_next_file): Rename and move to cppfiles.c.
+ (cpp_read_main_file): Update.
+ * cpplib.c (run_directive): Update for renamed members.
+ (do_include_common, _cpp_pop_buffer): Update.
+ (do_import): Undeprecate #import.
+ (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
+ * cpplib.h: Remove file_name_map_list.
+ (cpp_options): Remove map_list.
+ (cpp_dir): Rename from cpp_path. New datatype for name_map.
+ (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
+
+ 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
+
+ * Makefile.in: Make stamp-objdir safe for parallel builds.
+
+ 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
+
+ * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
+ (info): Depend on stmp-docobjdir.
+
+ 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure: Regenerate.
+
+ Tue Jul 29 19:24:49 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR C++/11131
+ * tree-inline.c (expand_call_inline): Always call inlinable_function_p
+ in !unit-at-a-time mode.
+
200307291353.int | | vortex.base-1.38398% | vpr.peak-0.104767% | |
+ 2003-07-28 Geoffrey Keating <geoffk@apple.com>
+
+ * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
+ main function.
+
+ 2003-07-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/11667
+ * c-common.c (shorten_compare): Take into account differences
+ between C and C++ representation for enumeration types.
+ * tree.h (set_min_and_max_values_for_integral_type): Declare.
+ * stor-layout.c (set_min_and_max_values_for_integral_type): New
+ function, broken out from ...
+ (fixup_signed_type): ... here and ...
+ (fixup_unsigned_type): ... here.
+
200307261551.int | | | gzip.base-0.167771% vpr.base-0.223931% gcc.base-0.127619% | |
+ 2003-07-26 Geoffrey Keating <geoffk@apple.com>
+
+ * Makefile.in (libbackend.o): Remove options_.h.
+ (mostlyclean): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
+ insert a label at the end of an function under Mach-O.
+
+ * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
+
200307220650.int | | | | gzip.base+0.168053% vpr.base+0.224434% gcc.base+0.127779% |
+ 2003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in (install-common): Add dependency on installdirs.
+
+ 2003-07-21 Alexandre Oliva <aoliva@redhat.com>
+
+ * c-common.c (c_common_type_for_mode): Return integer types for
+ pointer modes.
+
+ 2003-07-22 Geoffrey Keating <geoffk@apple.com>
+
+ * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
+ (finish_decl): Call maybe_apply_pragma_weak here.
+ (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
+ TREE_PUBLIC and TREE_STATIC are decided.
+ (start_function): Move call to maybe_apply_pragma_weak. Check that
+ DECL_ASSEMBLER_NAME isn't set too early.
+
+ * cpplex.c (_cpp_process_line_notes): Mention option name in
+ trigraphs warning.
+
+ 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * combine.c (if_then_else_cond): Simplify the comparison of
+ rtx against -1, 0, and 1.
+ * loop.c (check_dbra_loop): Likewise.
+ * optabs.c (emit_conditional_move): Likewise.
+ (emit_conditional_add): Likewise.
+ * config/i386/i386.md (*movsi_or): Likewise.
+ (*movdi_or_rex6): Likewise.
+
+ Tue Jul 22 00:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
+
+ 2003-07-21 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppfiles.c (open_file_pch): Don't put unused entries in the
+ splay tree. Remove dead code.
+
+ 2003-07-21 Geoffrey Keating <geoffk@apple.com>
+
+ * c-common.h (num_in_fnames): Declare.
+ (c_static_assembler_name): Move from here...
+ * c-tree.h (c_static_assembler_name): ... to here.
+ * c-opts.c: Don't include langhooks-def.h.
+ (c_static_assembler_name): Move to c-decl.c.
+ (num_in_fnames): Make externally visible.
+ * c-decl.c: Include langhooks-def.h.
+ (c_static_assembler_name): Move from c-opts.c.
+ * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
+ (c-opts.o): Remove $(LANGHOOKS_DEF_H).
+
+ * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
+ when it's not needed.
+
+ 2003-07-21 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
+ * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
+ (rs6000_emit_prologue): Save FPRs inline if set.
+
+ 2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/ia64/ia64.md (prefetch): Support predicate.
+
+ 2003-07-21 Josef Zlomek <zlomekj@suse.cz>
+
+ * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
+ * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
+ table.
+
200307190004.int | parser.peak+1.00134% vortex.base+1.0044% | gap.peak-2.83856% | | gzip.peak+0.161104% mcf.peak+0.207833% mcf.base+0.127826% |
+ 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * c-common.c: Don't undefine GCC_DIAG_STYLE.
+ (fname_decl): Don't use xxx_with_decl.
+ (c_add_case_label): Likewise.
+ (handle_section_attribute): Likewise.
+ (handle_alias_attribute): Likewise.
+ (handle_no_instrument_function_attribute): Likewise.
+ (handle_no_limit_stack_attribute): Likewise.
+ * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
+ * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
+
+ 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * Makefile.in (ifcvt.o): Add cfgloop.h.
+ * basic-block.h (EDGE_LOOP_EXIT): New flag.
+ * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
+ * ifcvt.c: Include cfgloop.h.
+ (mark_loop_exit_edges): New static function.
+ (if_convert): Call it.
+ (find_if_header): Ignore branches out of loops.
+
+ 2003-07-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * combine.c (simplify_comparison): Don't share rtx when converting
+ (ne (and (not X) 1) 0) to (eq (and X 1) 0).
+
+ 2003-07-18 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
+ (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
+ (MUST_PASS_IN_STACK): Define.
+ (BLOCK_REG_PADDING): Define.
+
+ 2003-07-18 Richard Henderson <rth@redhat.com>
+
+ * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
+ to skip the addr_vec.
+
+ Fri Jul 18 15:22:28 2003 Alexandre Oliva <aoliva@redhat.com>
+
+ * combine.c (combinable_i3pat): Don't forbid occurrences of
+ i2dest or i1dest in inner_dest if inner_dest is a mem.
+
+ Fri Jul 18 17:05:57 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_remove_node): Clear the hash table slot.
+
200307132200.int | | vortex.base-1.20005% | mcf.peak-0.197699% mcf.base-0.243076% bzip2.base-0.122333% | |
+ 2003-07-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
+ to (eq (and X 1) 0).
+
+ 2003-07-13 Andreas Jaeger <aj@suse.de>
+
+ * config.gcc: Add pmmintrin.h for x86_64-*-*.
+
+ 2003-07-13 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
+ (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
+ list. Move these all together down by cpplib.
+
+ * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
+ definition of CPPCHAR_SIGNED_T.
+
+ * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
+ * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
+ * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
+
+ * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
+ * cppinit.c (cpp_create_reader): Likewise.
+
+ * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
+ * cpptrad.c: Likewise. All callers changed.
+ * cpplib.c: All callers changed.
+ * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
+ * hashtable.h: Define GTY(x) to nothing here too.
+
+ 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * stor-layout.c (compute_record_mode): Remove very obsolete test
+ that forces BLKmode for records with fields crossing word boundary.
+
+ 2003-07-13 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Remove orphan reference to acconfig.h.
+
+ 2003-07-13 Andreas Jaeger <aj@suse.de>
+
+ * cgraphunit.c: Convert prototypes to ISO C90.
+
200307120817.int | parser.peak+1.12878% eon.peak+3.42876% | perlbmk.peak-2.9068% gap.peak-3.45054% | vpr.peak-2.1231% eon.peak-2.91073% eon.base-0.352018% gap.peak-1.44028% bzip2.peak-0.513479% | parser.peak+6.19853% perlbmk.peak+2.85379% twolf.peak+1.51155% |
+ Sat Jul 12 06:09:38 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
+ warning.
+
+ Sat Jul 12 03:06:01 CEST 2003 Jan Hubicka <jh@suse.cz>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * cgraph.c (cgraph_max_uid): New global variable.
+ (cgraph_node): Set uid field.
+ (create_edge): Keep inline flags consistent.
+ (dump_cgraph): Dump more info.
+ * cgraph.h (struct cgraph_local_info): Remove inline_many and
+ can_inline_once; add inlinable, disgread_inline_limits, and self_insn
+ (struct cgraph_global_info): Add insns, calls, cloned_times,
+ will_be_output.
+ (struct cgraph_node): Add uid.
+ (struct cgraph_edge): Add inline_call.
+ (cgraph_max_uid, cgraph_inline_p): Declare.
+ * cgraph.c: Include params.h and fibheap.h
+ (cgraph_mark_functions_to_inline_once): Kill.
+ (INSNS_PER_CALL): New constant.
+ (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
+ static variables.
+ (cgraph_finalize_function): Do not analyze inlining.
+ (cgraph_finalize_compilation_unit): Set inlining attributes.
+ (cgraph_mark_functions_to_output): More consistency checks.
+ (cgraph_optimize_function): Set current_function_decl to NULL.
+ (cgraph_expand_function): Use new inline flags.
+ (cgraph_postorder): Expand from cgraph_expand_functions.
+ (INLINED_TIMES, SET_INLINED_TIMES): New macros.
+ (cgraph_inlined_into, cgraph_inlined_callees,
+ cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
+ cgraph_mark_inline, cgraph_check_inline_limits,
+ cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
+ cgraph_decide_inlining, cgraph_inline_p): New functions.
+ * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
+ PARAM_INLINE_UNIT_GROWTH): New parameters.
+ * tree-inline.c (struct inline_data): New field current_decl.
+ (expand_call_inline): Avoid forward declarations; use
+ inlinable_function_p.
+ (optimize_inline_calls): Set id.current_decl.
+
+ 2003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * configure.in: Remove wrongly added definition of
+ local_prefix.
+ * configure: Regenerate.
+
+ 2003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * rtl.def (NOTE): Do not use padding.
+
200307112334.int | | | mcf.base-0.127353% | vpr.peak+0.128327% |
+ 2003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
+
+ * doc/install.tex: Update required binutils for i?86-*-linux*
+
+ 2003-07-11 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
+
+ 2003-07-11 Mark Mitchell <mark@codesourcery.com>
+
+ * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
+ TRANSLATION_UNIT_DECL as top_level.
+
+ 2003-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
+ then fall back to cmpstrM.
+ * builtins.c (expand_builtin_memcmp): Likewise.
+ * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
+ (s390_expand_cmpmem): ... this.
+ * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
+ cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
+ from cmpstr* patterns. Rename call to s390_expand_cmpstr
+ to s390_expand_cmpmem.
+ * config/s390/s390.c (s390_expand_cmpstr): Rename to...
+ (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
+ to cmpmem*.
+ * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
+ cmpstr* patterns.
+ * doc/md.texi (cmpstrM): Describe as String compare insn, not
+ Block compare insn.
+ (cmpmemM): Add.
+
+ 2003-07-11 Loren James Rittle <ljrittle@acm.org>
+
+ * config/i386/freebsd.h (SET_ASM_OP): Remove.
+ (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
+ (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
+ MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
+
200307091059.int | parser.peak+1.64638% twolf.peak+4.90134% | eon.peak-3.90947% eon.base-3.04255% vortex.peak-2.51631% | mcf.peak-0.206992% crafty.peak-1.2797% eon.peak-9.60744% eon.base-1.27365% vortex.peak-1.39142% bzip2.peak-3.11749% | gzip.peak+1.54708% vpr.peak+0.920728% parser.peak+6.08763% perlbmk.peak+2.85831% gap.peak+1.7392% twolf.peak+0.76099% |
200307091059 - New inlining heuristics (Jan Hubicka)
200307071611.int | | | | bzip2.base+0.257359% |
+ 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
+ -frandom-seed.
+ * configure: Regenerated.
+ * Makefile.in: Remove extraneous comment.
+ * toplev.c (randomize): Protect against potential multiple calls.
+ * doc/invoke.texi (-frandom-seed): Document use for in coverage
+ files.
+
+ 2003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11198
+ * alias.c (objects_must_conflict_p): Return 1 if the types have
+ the same alias set, not if the alias sets only conflict.
+
200307050227.int | perlbmk.base+1.75126% | | | |
+ 2003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/2064.md: Change GNU CC to GCC.
+ * config/s390/2084.md: Likewise.
+ * config/s390/fixdfdi.h: Likewise.
+ * config/s390/linux.h: Likewise.
+ * config/s390/s390-modes.def: Likewise.
+ * config/s390/s390-protos.h: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/s390/s390.h: Likewise.
+ * config/s390/s390.md: Likewise.
+ * config/s390/s390x.h: Likewise.
+
+ 2003-07-04 Jeff Law <law@redhat.com>
+
+ * expr.c (do_store_flag): Pass in the correct result type
+ when calling fold_single_bit_test.
+ * fold-const.c (fold_single_bit_test): Use result_type for the
+ result when folding a sign bit test.
+
+ 2003-07-04 Neil Booth <neil@daikokuya.co.uk>
+
+ * opts.c (common_handle_options): Negate sense of -falign- switches.
+
+ 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in: Replace PWD with PWD_COMMAND.
+
+ 2003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloopanal.c (count_strange_loop_iterations): New static function.
+ (constant_iterations, count_loop_iterations, simple_loop_exit_p):
+ Handle strange loops.
+
+ 2003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * install.texi: Even the g77 manpage is derived from
+ the full g77 manual.
+
+ 2003-07-04 Zack Weinberg <zack@codesourcery.com>
+
+ * ABOUT-NLS: Delete.
+ * intl: Delete entire directory.
+ * aclocal.m4: Include ../config/gettext.m4. Delete
+ AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
+ AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
+ * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
+ Remove intl/Makefile from all_outputs.
+ * configure, config.in: Regenerate.
+ * Makefile.in: Expunge all references to intl subdirectory.
+ Add -I../intl to INCLUDES.
+ * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
+
200307040918.int | | | vpr.peak-0.116422% | |
+ 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-aux-info.c: Include toplev.h after c-tree.h.
+ * c-common.c: Likewise.
+ (GCC_DIAG_STYLE): Undef.
+ * c-semantics.c (GCC_DIAG_STYLE): Define.
+ * c-tree.h (GCC_DIAG_STYLE): Likewise.
+ * diagnostic.h (inform): Move prototype to toplev.h.
+ * jump.c: Include diagnostic.h before toplev.h.
+ * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
+ (warning, error, fatal_error, pedwarn, sorry, inform,
+ error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
+
+ 2003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
+ at all if edge is not specified.
+ (can_copy_bbs_p, copy_bbs): New.
+ * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
+ * cfgloop.c (get_loop_body): Comment more precisely.
+ * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
+ (scale_bbs_frequencies): Fix comment typo.
+ (can_duplicate_loop_p): Use can_copy_bbs_p.
+ (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
+
+ 2003-07-03 Devang Patel <dpatel@apple.com>
+
+ * c-opts.c (c_common_parse_file): Remove extra
+ debug_hooks->start_source_file call.
+
200307040043.int | twolf.peak+1.86257% | | gzip.peak-0.325925% gap.peak-0.154601% | vpr.peak+0.155471% parser.peak+0.355069% twolf.peak+0.284014% |
+ 2003-07-03 Roger Sayle <roger@eyesopen.com>
+
+ * real.c (real_trunc, real_floor, real_ceil): New functions
+ to implement trunc, floor and ceil respectively.
+ * real.h (real_trunc, real_floor, real_ceil): Prototype here.
+ * builtins.c (integer_valued_real_p): New function to test if
+ a floating point expression has an integer valued result.
+ (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
+ foo(x) where foo is an integer rounding function. Similarly,
+ optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
+ (double)(int)x when both foo and bar are integer rounding
+ functions and we don't need to honor errno.
+ (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
+ New functions to fold trunc, floor and ceil.
+ (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
+ fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
+ to fold BUILT_IN_CEIL*.
+ * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
+ the remaining integer rounding functions.
+
+ 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (function_arg_partial_nregs): Use
+ SPARC_INT_ARG_MAX to determine where to split unnamed
+ complex FP arguments.
+
+ Thu Jul 3 20:36:47 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
+ * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
+ (merge_blocks_move_predecessor_nojumps,
+ merge_blocks_move_successor_nojumps): Use merge_blocks.
+ (try_optimize_cfg): Use merge_blocks_move.
+ * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
+ (merge_blocks_nomove): Rename to rtl_merge_blocks.
+ (cfg_layout_create_basic_block): New.
+ (rtl_can_merge_blocks): New.
+ (cfg_layout_split_block): Do not alloc aux by hand.
+ * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
+ merge_blocks.
+ (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
+ * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
+ * cfgloopmanip.c (loop_split_edge_with): Likewise.
+ * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
+
+ * basic-block.h (basic_block_def): Add field 'rbi'.
+ * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
+ find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
+ * cfg.c (entry_exit_blocks): Add new field.
+ * cfglayout.c: Include alloc-pool.h;
+ (cfg_layout_pool): New.
+ (record_effective_endpoints, fixup_reorder_chain,
+ fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
+ of rbi.
+ (cfg_layout_initialize_rbi): New function.
+ (cfg_layout_initialize): Use it.
+ (cfg_layout_finalize): Clear rbi fields.
+ * cfglayout.h (RBI): Kill.
+ (cfg_layout_initialize_rbi): Declare.
+ * cfgloopmanip.c (copy_bbs): Use rbi.
+ (record_exit_edges): Likewise.
+ (duplicate_loop_to_header_edge): Likewise.
+ * cfgrtl.c (cfg_layout_create_basic_block): Use
+ cfg_layout_initialize_rbi.
+ (cfg_layout_split_block): Use rbi.
+ (cfg_layout_delete_block): Likewise.
+ * loop-init.c (loop_optimizer_finalize): Likewise.
+ * loop-unswitch.c (unswitch_loop): Likewise.
+ * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
+
+ * cfgrtl.c: Update comments.
+ (try_redirect_by_replacing_jump): New argument.
+ (redirect_branch_edge): Break out from ...
+ (rtl_redirect_edge_and_branch): ... this one.
+ (update_cfg_after_block_merging): Break out from ...
+ (rtl_merge_blocks): ... this one.
+ (cfg_layout_split_edge): New.
+ (cfg_layout_merge_blocks): New.
+ (cfg_layout_can_merge_blocks_p): New.
+ (cfg_layout_redirect_edge_and_branch): Reorganize.
+ (cfg_layout_rtl_cfg_hooks): Fill in.
+ (cfg_layout_delete_block): Kill barriers.
+ * cfganal.c (can_fallthru): Deal with exit blocks
+ * cfglayout.c (cfg_layout_function_header): New function
+ (record_effective_endpoints): Record function header.
+ (fixup_reorder_chain): Fixup dead jumptables; place header
+
+ * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
+ * bb-reorder.c (cfg_layout_initialize): Update call.
+ * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
+ edges in cfglayout mode.
+ * cfglayout.c (cleanup_unconditional_jumps): Kill.
+ (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
+ * cfglayout.h (cfg_layout_initialize): Update prototype.
+ * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
+ * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
+ * flow.c (propagate_block): Do not crash when basic block ends
+ by first insn in the chain.
+ * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
+ do loop discovery.
+ * tracer.c (tracer): Update call of cfg_layout_initialize.
+
+ 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in: Use dependency variables in lieu of explicit
+ files throughout.
+
+ 2003-07-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
+ * tree.h: ...to here.
+
+ 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/s390/2064.md: Fix comment typos.
+ * config/s390/2084.md: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/s390/s390.md: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh.h: Likewise.
+ * config/sh/sh.md: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/sparc/sparc.h: Likewise.
+ * config/sparc/sparc.md: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/stormy16/stormy16.h: Likewise.
+ * config/stormy16/stormy-abi: Fix a typo.
+
+ 2003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
+
+ * Makefile.in (ifcvt.o): Depend on OPTABS_H.
+
+ 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/mips/mips.h (save_argv): Delete.
+
+ 2003-07-03 Roger Sayle <roger@eyesopen.com>
+
+ PR target/10700
+ * fold-const.c (extract_muldiv_1): There's nothing that can be done
+ if the expression is a SAVE_EXPR.
+
+ 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/m32r/m32r.c: Fix comment typos.
+ * config/m68hc11/m68hc11.c: Likewise.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mcore/mcore.h: Likewise.
+ * config/mcore/mcore.md: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mips/mips.h: Likewise.
+ * config/mips/mips.md: Likewise.
+ * config/mips/netbsd.h: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+
200307031606.int | vortex.base+1.6107% | | perlbmk.peak-0.191835% | |
+ 2003-07-03 Andreas Schwab <schwab@suse.de>
+
+ * dbxout.c (pending_bincls): Move decl down inside
+ DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
+
+ 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
+
+ * rtl.h (NOTE_DATA): Refer to whole union.
+ * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
+
+ 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11381
+ * simplify-rtx.c (simplify_relational_operation): Check that
+ two equal operands have no side-effects before simplifying
+ the comparison.
+
+ 2003-07-02 Jeff Law <law@redhat.com>
+
+ * expr.c (do_store_flag): Remove special case folding for
+ single bit tests. Instead call back into the commonized folder
+ routine.
+ * fold-const.c (fold_single_bit_test): New function, mostly
+ extracted from do_store_flag, with an additional case extracted
+ from fold.
+ (fold): Call fold_single_bit_test appropriately.
+ * tree.h (fold_single_bit_test): Prototype.
+
200306301617.int | | | eon.peak-0.245554% eon.base-0.246271% | |
+ 2003-06-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (compute_mov_length): Fix length of
+ mov:SF on H8/300.
+
+ 2003-06-30 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Make defintion
+ constant.
+
+ Mon Jun 30 15:36:29 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ (fyl2x_sfxf3, fyl2x_dfxf3, fscale_sfxf3, fscale_dfxf3): Fix condition.
+
+ 2003-06-30 Hartmut Penner <hpenner@de.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
+ (altivec_in_gprs_p): New function.
+
+ * config/rs6000/rs6000-protos (rs6000_split_altivec_in_gprs): New
+ prototype.
+ (altivec_in_gprs_p): New prototype.
+
+ * config/rs6000/altivec.md (*movv4si_internal): Change
+ multi-assembler alternative to '#'. Add postreload splitter to
+ handle this cases.
+ (*movv4hi_internal): Likewise.
+ (*movv4qi_internal): Likewise.
+ (*movv4sf_internal): Likewise.
+
+ 2003-06-30 Jason Merrill <jason@redhat.com>
+
+ * defaults.h (PUSH_ARGS_REVERSED): Define default here.
+ * calls.c: Not here.
+
+ 2003-06-30 Ben Elliston <bje@wasabisystems.com>
+
+ * config/arm/arm.c (arm_rtx_costs): Remove #if 0 block.
+ (bad_signed_byte_operand): Likewise.
+ (arm_output_epilogue): Likewise.
+ (arm_final_prescan_insn): Likewise.
+
+ 2003-06-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * cfgrtl.c (mark_killed_regs): Cast HARD_REGNO_NREGS to int.
+
+ 2003-06-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * c-pch.c (c_common_write_pch): Flush asm_out_file to allow for
+ subsequent writes.
+
200306291643.int | | | | vpr.peak+0.429773% mcf.base+0.127515% |
+ 2003-06-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alloc-pool.c: Fix comment formatting.
+ * bitmap.c: Likewise.
+ * bitmap.h: Likewise.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * collect2.c: Likewise.
+ * cse.c: Likewise.
+ * df.c: Likewise.
+ * diagnostic.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * dwarfout.c: Likewise.
+ * expmed.c: Likewise.
+ * final.c: Likewise.
+ * flags.h: Likewise.
+ * fold-const.c: Likewise.
+ * gcc.c: Likewise.
+ * gcov-io.h: Likewise.
+ * gcov.c: Likewise.
+ * genattrtab.c: Likewise.
+ * genautomata.c: Likewise.
+ * libgcov.c: Likewise.
+ * mips-tfile.c: Likewise.
+ * optabs.c: Likewise.
+ * prefix.c: Likewise.
+ * rtlanal.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * toplev.c: Likewise.
+ * varasm.c: Likewise.
+ * vmsdbgout.c: Likewise.
+
+ 2003-06-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (emit_single_push_insn): If padding is needed
+ downward, adjust the stack pointer first, and then store the
+ data into the stack location using an offset.
+
+ 2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * collect2.h: Convert prototypes to ISO C90.
+ * collect2.c: Likewise.
+ * conflict.c: Likewise.
+ * coverage.c: Likewise.
+ * convert.h: Likewise.
+ * convert.c: Likewise.
+
+ 2003-06-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-decl.c (c_init_decl_processing): Use a location_t. Set input
+ filename to <internal>.
+ * tree.c (make_node): Just copy the current location.
+
+ 2003-06-29 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11210
+ * fold-const (decode_field_reference): Revert 2003-06-26 patch.
+
+ 2003-06-29 Neil Booth <neil@daikokuya.co.uk>
+
+ * toplev.c (flag_dummy): Remove.
+ (f_options): Restore flag pointers.
+
+ 2003-06-29 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (processor_target_table): Add 970.
+
+ 2003-06-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * dwarf2out.c (add_AT_string): Replace ggc_alloc_string (X,
+ -1) with ggc_strdup.
+ * stmt.c (expand_asm_operands): Likewise.
+ * config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/ip2k/ip2k.c (ip2k_reorg): Use INSN_P instead of its
+ definition.
+
+ 2003-06-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * opts.c: Include insn-attr.h.
+ * Makefile.in (opts.o): Depend on INSN_ATTR_H.
+
+ 2003-06-27 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * flow.c (propagate_one_insn): Use proper test for a register
+ being part of the return value.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/avr/avr.c: Fix a comment typo.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/avr/avr-protos.h: Replace avr_simplify_comparision_p
+ with avr_simplify_comparison_p.
+ * config/avr/avr.c: Likewise.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c: Follow spelling conventions.
+ * cgraph.c: Likewise.
+ * cpplex.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/arm/iwmmxt.md: Likewise.
+ * config/c4x/c4x-modes.def: Likewise.
+ * config/c4x/c4x.c: Likewise.
+ * config/c4x/c4x.h: Likewise.
+ * config/c4x/c4x.md: Likewise.
+ * config/i386/i386-interix.h: Likewise.
+ * config/mips/mips.h: Likewise.
+
+ 2003-06-28 Neil Booth <neil@daikokuya.co.uk>
+
+ * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Predicate
+ __mc68020__ on TARGET_68020.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c: Fix a comment typo.
+
+ 2003-06-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-parse.in (yylexstring): Use a location_t.
+
+ * diagnostic.h (diagnostic_set_info): Replace file and lineno
+ parameters with a location_t.
+ * diagnostic.c (diagnostic_set_info): Replace file and lineno
+ parameters with a location_t.
+ (inform, warning, pedwarn, error, sorry, fatal_error,
+ internal_error, warning_with_decl, pedwarn_with_decl,
+ error_with_decl): Adjust.
+ * c-error.c (pedwarn_c99): Adjust.
+ * c-format.c (status_warning): Adjust.
+ * rtl-error.c (file_and_line_for_asm): Rename to ...
+ (location_for_asm): Return a location_t.
+ (diagnostic_for_asm): Adjust.
+
+ 2003-06-28 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpptrad.c (skip_macro_block_comment): New.
+ (copy_comment): Use it if appropriate.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gcse.c (compute_ld_motion_mems): Use INSN_P instead of its
+ definition.
+ (store_killed_in_insn): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * config/frv/frv.c (frv_final_prescan_insn): Likewise.
+ * config/m68hc11/m68hc11.c (dead_register_here): Likewise.
+ (m68hc11_reassign_regs): Likewise.
+ (m68hc11_reorg): Likewise.
+
+ 2003-06-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * diagnostic.c (output_integer_with_precision): New macro.
+ (output_format): Use it. Handle more format specifiers.
+ (output_long_decimal): Remove.
+ (output_unsigned_decimal): Likewise.
+ (output_long_unsigned_decimal): Likewise.
+ (output_octal): Likewise.
+ (output_long_octal): Likewise.
+ (output_hexadecimal): Likewise.
+ (output_long_hexadecimal): Likewise.
+ (output_long_long_decimal): Likewise.
+
200306281412.int | | | vpr.peak-0.427934% mcf.base-0.127353% | |
+ 2003-06-28 Andreas Schwab <schwab@suse.de>
+
+ * config/ia64/ia64.md: Follow recent emit_note API change.
+
+ 2003-06-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-parse.in (%union): Replace filename & lineno with location.
+ (save_filename, save_lineno): Remove.
+ (save_location): New.
+ (fndef, old_style_parm_decls_1, lineno_datadecl, lineno_decl,
+ nested_function, notype_nested_function, if_prefix, lineno_stmt,
+ lineno_label, label): Adjust.
+
+ 2003-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (c_strlen): Add only_value argument.
+ Handle COND_EXPR and COMPOUND_EXPR.
+ (expand_builtin_strlen): Optimize also strlen (i++ ? "foo" : "bar").
+ Adjust c_strlen callers.
+ (expand_builtin_strcpy, expand_builtin_strncpy,
+ expand_builtin_strcmp, expand_builtin_strncmp,
+ expand_builtin_fputs, expand_builtin_sprintf,
+ fold_builtin): Adjust c_strlen callers.
+
+ 2003-06-28 Josef Zlomek <zlomekj@suse.cz>
+
+ * bb-reorder.c (find_traces_1_round): Do not send basic block
+ to next round when we are in the last round.
+
+ 2003-06-28 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in: Update.
+ * opts.c: Include tm_p.h.
+ (handle_options): Make static.
+ (decode_options): Copied from toplev.c.
+ * opts.h (decode_options): New.
+ * toplev.c (parse_options_and_default_flags): Move most to opts.c,
+ some to...
+ (general_init): ...here.
+ (toplev_main): Use decode_options instead.
+ * toplev.h (save_argc, save_argv): New.
+
+ 2003-06-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * explow.c (find_next_ref): Remove.
+ * rtl.h: Remove the prototype for find_next_ref.
+
+ 2003-06-27 Roger Sayle <roger@eyesopen.com>
+
+ * config/alpha/alpha.md (anonymous define_split): Adjust emit_note
+ call to match recent API change.
+
+ 2003-06-27 Zack Weinberg <zack@codesourcery.com>
+
+ * dbxout.c (flag_debug_only_used_symbols): Delete redundant
+ declaration.
+
+ * c-format.c (check_format_string, get_constant)
+ * cfgrtl.c (rtl_split_edge):
+ Mark the definition static, matching the forward declaration.
+
+ 2003-06-27 Gunther Nikl <gni@gecko.de>
+
+ * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
+
+ PR target/11014
+ * config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
+ syntax for MIT / MOTOROLA.
+
+ PR other/10240
+ * configure.in: Removed $(XCFLAGS) from BUILD_CFLAGS for build != host.
+ * configure: Rebuilt.
+
+ 2003-06-27 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.c (mips_build_va_list): Make padding in
+ va_list structure explicit to avoid -Wpadded warnings.
+
+ 2003-06-27 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
+ * config/s390/s390.c (s390_secondary_output_reload_class): New function.
+ * config/s390/s390-protos.h (s390_secondary_output_reload_class):
+ Declare it.
+ * config/s390/s390.md ("reload_outti", "reload_outdi",
+ "reload_outdf"): New expanders.
+
+ * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
+ memory operands as source.
+ ("movdi" + splitters): Likewise.
+ ("movdf" + splitters): Likewise.
+ * config/s390/s390.c (s390_split_ok_p): New function.
+ * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
+
+ 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * combine.c (force_to_mode): Replace the equality comparison
+ of INTVALs with a pointer equality comparison.
+ (simplify_comparison): Likewise.
+
+ 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * jump.c (rtx_renumbered_equal_p): Replace an expression that
+ is known to be 0 with 0.
+
+ 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gcse.c (expr_equiv_p): Replace expressions that are known to
+ be 0 with 0.
+
+ 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (fold_rtx): Replace the equality comparison of INTVALs
+ with a pointer equality comparison.
+
+ 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
+ are known to be not equivalent.
+
+ 2003-06-27 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (function_arg): Don't pass small aggregates
+ in floating point registers. Validate that we don't receive complex
+ values here. Use #elif.
+ (return_in_memory, function_value): New.
+ (alpha_va_arg): Handle complex values as two arguments.
+ * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
+ (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
+ (SPLIT_COMPLEX_ARGS): New.
+ * config/alpha/alpha-protos.h: Update.
+
+ 2003-06-27 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ggc-page.c (inverse_table): Change type of mult to size_t.
+ (compute_inverse): Compute inverse using size_t, not unsigned int.
+ Compute inverse also for sizes larger than half a machine page.
+
+ Fri Jun 27 18:36:12 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_decl_compilation): Only varpoolize argument
+ when called before cgraph_optimize.
+
+ 2003-06-27 Zack Weinberg <zack@codesourcery.com>
+
+ * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
+ * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
+ be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
+
+ Fri Jun 27 17:41:16 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
+ of known_decls.
+
+ 2003-06-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * defaults.h (REGISTER_MOVE_COST): Define default here.
+ * regclass.c: Don't define default REGISTER_MOVE_COST here.
+ * reload.c, reload1.c: Ditto.
+
200306250510.int | | | gzip.peak-0.964312% vortex.peak-0.802589% | |
+ 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (4 anonymous patterns): Give internal
+ names.
+ (movsi_h8300): Change the name to *movsi_h8300.
+ (movsi_h8300hs): Change the name to *movsi_h8300hs.
+ (movsf_h8300): Change the name to *movsf_h8300.
+ (movsf_h8300hs): Change the name to *movsf_h8300hs.
+
+ 2003-06-24 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
+ src twice.
+
+ 2003-06-24 J"orn Rennecke <joern.rennecke@superh.com>
+
+ Back out these patches:
+ 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
+ * sh.h (OLD_ARG_MODE): New macro.
+ (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+ (FUNCTION_ARG_1): Break out of:
+ (FUNCTION_ARG). Use OLD_ARG_MODE.
+ 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
+ * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
+ of the generated register.
+
+ * sh.h (FUNCTION_ARG_SCmode_WART): Define.
+ (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
+ an even number of floating point regs are in use, use the same
+ sequence of argument passing registers for SCmode as would be
+ used for two SFmode values.
+ * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
+ swap real / imaginary parts in incoming SCmode values passed
+ in registers.
+
+ 2003-06-24 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR target/11260
+ * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
+
+ Tue Jun 24 18:49:33 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cgraph.o): Depend on output.h, not depend on
+ tree-inline.h
+ * cgraph.c: Do not include tree-inline.h; include output.h
+ (known_fns): Rename to ...
+ (known_decls): ... this one; update all uses.
+ (cgraph_varpool_hash): New static variable.
+ (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
+ variables.
+ (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
+ cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
+ cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
+ New functions.
+ * cgraph.h (cgraph_varpool_node): New structure.
+ (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
+ (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
+ cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
+ cgraph_varpool_asemble_pending_decls): Declare.
+ * cgraphunit.c (record_call_1): Notice variable references.
+ (cgraph_finalize_compilation_unit): Assemble pending variables.
+ * toplev.c (wrapup_global_declarations): Use varpool.
+ (compile_file): Assemble pending declarations.
+ (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
+ * varasm.c (assemble_name): Notice varpool references.
+
+ Tue Jun 24 13:52:11 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
+ * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
+ * varasm.c (assemble_variable): Call prepare_assemble_variable.
+
+ 2003-06-23 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin): Use expand_builtin_pow to expand
+ calls for pow, powf, powl and their __builtin_ variants.
+ (expand_builtin_pow): If the second argument is a constant
+ integer and compiling with -ffast-math, use expand_powi to
+ generate RTL if powi_cost is less than POWI_MAX_MULTS.
+ (powi_cost): New function to return the number of multiplications
+ necessary to evaluate an Nth power, for integer constant N.
+ (expand_powi): New function to expand the RTL for evaluating
+ the Nth power of a floating point value, for integer constant N.
+
+ * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
+
200306240238.int | | perlbmk.peak-1.06052% | parser.peak-0.383071% | vortex.base+0.11595% |
+ Mon Jun 23 23:07:35 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_nodes_queue): Declare.
+ (eq_node): Take identifier as p2.
+ (cgraph_node): Update htab_find_slot_with_hash call.
+ (cgraph_node_for_identifier): New.
+ (cgraph_mark_needed_node): Move here from cgraphunit.c.
+ * cgraph.h (cgraph_nodes_queue): Declare.
+ (cgraph_node_for_identifier): Declare.
+ * cgraphunit.c (cgraph_finalize_function): Collect entry points here
+ instead of in cgraph_finalize_compilation_unit; constructors and
+ destructors are entry points.
+ (cgraph_finalize_compilation_unit): Reorganize debug outout;
+ examine nested functions after lowerng; call collect_functions hook.
+ (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
+ (cgraph_finalize_compilation_unit): Do not collect entry points.
+ * varasm.c: Include cgraph.h
+ (assemble_name): Mark referenced identifier as needed.
+
+ * cgraphunit.c (record_call_1): Use get_callee_fndecl.
+
+ 2003-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
+ just SYMBOL_REF.
+ * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
+ mode, as it requires pic register loaded.
+
+ * varasm.c (resolve_unique_section): Remove prototype. No longer
+ static.
+ * tree.h (resolve_unique_section): New prototype.
+
+ 2003-06-23 Andreas Schwab <schwab@suse.de>
+
+ PR debug/9905
+ * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
+ recursing through first argument.
+
+ 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ChangeLog.1: Fix a typo.
+ * cfgrtl.c: Fix comment typos.
+ * dwarf2out.c: Likewise.
+ * expmed.c: Likewise.
+ * genrecog.c: Likewise.
+ * jump.c: Likewise.
+ * rtlanal.c: Likewise.
+ * ssa-dce.c: Likewise.
+ * toplev.c: Likewise.
+
+ 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/extend.texi: Fix typos.
+ * doc/md.texi: Likewise.
+ * doc/tm.texi: Likewise.
+
+ 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h: Fix comment formatting.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * c-common.c: Likewise.
+ * c-common.h: Likewise.
+ * c-format.c: Likewise.
+ * coverage.c: Likewise.
+ * cpplib.h: Likewise.
+ * cpppch.c: Likewise.
+ * dbxout.c: Likewise.
+ * diagnostic.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * expr.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * gcc.c: Likewise.
+ * gcov-io.c: Likewise.
+ * gcov-io.h: Likewise.
+ * gcov.c: Likewise.
+ * profile.c: Likewise.
+ * real.h: Likewise.
+ * sched-deps.c: Likewise.
+
+ 2003-06-23 Roger Sayle <roger@eyesopen.com>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add a note on testing and
+ remove duplicates from testers list.
+
+ 2003-06-23 Nick Clifton <nickc@redhat.com>
+
+ * read-rtl.c (read_braced_string): Check for EOF. If
+ encountered issue an error message.
+
+ 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Document dump options, dT and dW.
+
+ 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * genrecog.c (pred_table): Remove the entry for
+ mode_independent_operand.
+ * recog.c (next_insns_test_no_inequality): Remove.
+ (mode_independent_operand): Likewise.
+ * recog.h: Remove the prototype for mode_independent_operand.
+
+ 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
+ store into bit 0.
+ * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
+ second alternative to set_znv.
+ (*extzv_1_r_inv_h8300hs): Likewise.
+
+ 2003-06-23 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in (in_tree_gas): Find out here whether GAS is ELF,
+ set in_tree_gas_is_elf accordingly.
+ (in_tree_ld): Find out whether LD emulation is ELF, set
+ in_tree_ld_is_elf accordingly.
+ (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
+ (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
+ (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
+ (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
+ grepping gas/Makefile.
+ (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
+ $in_tree_ld_is_elf instead of grepping ld/Makefile.
+ * configure: Regenerate.
+
+ 2003-06-22 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
+ up the stabilized argument list, not build_tree_list.
+ (expand_builtin_strcpy): Construct new argument list manually
+ instead of using chainon to modify the original argument list.
+ (expand_builtin_stpcpy): Construct new argument list manually
+ instead of using copy_list and chainon.
+ (expand_builtin_sprintf): New function. Optimize calls to
+ sprintf when the format is "%s" or doesn't contain a '%'.
+ (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
+ expand_builtin_sprintf.
+
200306170100.int | vortex.peak+2.02983% | | | |
+ 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Explicitly mention elfos.h in ip2k entry.
+ * config/ip2k/ip2k.h: Don't #include it here.
+
+ 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
+ config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
+ dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
+ function.c, gcc.c, genoutput.c, gensupport.c, global.c,
+ haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
+ loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
+ read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
+ stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
+ the PTR macro.
+
+ * gengtype.c: Don't use UNION_INIT_ZERO.
+ * system.h (UNION_INIT_ZERO): Delete.
+
+ 2003-06-16 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
+ GET_MODE_UNIT_SIZE when simplifying constant vectors.
+
+ 2003-06-16 Andreas Jaeger <aj@suse.de>
+
+ * timevar.c (get_run_time): Remove function provided also by
+ libiberty.
+ * timevar.h: Remove get_run_time declaration.
+
+ 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
+ unreachable code.
+
+ 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
+ cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
+ use macros from "symcat.h", instead rely on ISO C.
+
+ * system.h: Don't include "symcat.h".
+ * configure.in (AC_C_STRINGIZE): Delete.
+ * config.in, configure: Regenerate.
+
+ 2003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
+
+ * tree.h (STMT_CHECK): New macro.
+ Also upper-case argument names on all checking macros and
+ fix some whitespace problems; assume CODE argument does not
+ have side-effects.
+
+ 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * scan.h: Convert to ISO C.
+ * system.h: Likewise.
+
+ * c-format.c (dynamic_format_types): New pointer for dynamic data.
+ (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
+ New functions split out of...
+ (handle_format_attribute): ...here.
+
+ 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (REG_CLASS_FROM_LETTER): Change to:
+ (REG_CLASS_FROM_CONSTRAINT).
+ (CONST_OK_FOR_I): Rename to:
+ (CONST_OK_FOR_I08). Changed all users.
+ (CONST_OK_FOR_J): Rename to:
+ (CONST_OK_FOR_I16). Changed all users.
+ (CONST_OK_FOR_K): Rename to:
+ (CONST_OK_FOR_P27). Changed all users.
+ (CONST_OK_FOR_L): Rename to:
+ (CONST_OK_FOR_K08). Changed all users.
+ (CONST_OK_FOR_O): Rename to:
+ (CONST_OK_FOR_I06). Changed all users.
+ (CONST_OK_FOR_P): Rename to:
+ (CONST_OK_FOR_I10). Changed all users.
+ (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
+ (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
+ (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
+ (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
+ (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
+ (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
+ (CONST_OK_FOR_LETTER_P): Replace with
+ (CONST_OK_FOR_CONSTRAINT_P).
+ (EXTRA_CONSTRAINT_S): Rename to:
+ (EXTRA_CONSTRAINT_C16). Changed all users.
+ (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
+ (EXTRA_CONSTRAINT_T): Rename to:
+ (EXTRA_CONSTRAINT_Csy). Changed all users.
+ (EXTRA_CONSTRAINT_Z): Remove.
+ (EXTRA_CONSTRAINT): Replace with:
+ (EXTRA_CONSTRAINT_STR).
+ (EXTRA_CONSTRAINT_U): Rename to:
+ (EXTRA_CONSTRAINT_Z). Changed all users.
+ * sh.c (and_operand): Use CONST_OK_FOR_J16.
+ * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
+ (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
+ (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
+ (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
+ (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
+ (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
+ (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
+ (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
+ (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
+ (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
+ (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
+ (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
+ (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
+ (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
+ (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
+ (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
+ (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
+ (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
+ (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
+ (sssubv4hi3): Likewise.
+ (movsf_i): Change I[08]/r to G/r.
+ (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
+
+ * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
+
+ 2003-06-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
+
+ 2003-06-16 Andreas Jaeger <aj@suse.de>
+
+ * basic-block.h: Remove duplicate prototype of
+ note_prediction_to_br_prob.
+
+ * tree.h: Remove duplicate prototype of strip_float_extensions.
+
+ 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/c4x/c4x.c: Don't include "c-tree.h".
+ * config/pa/pa.c: Likewise.
+ * langhooks.c: Likewise.
+ * tree.h (poplevel): Declare.
+
+ 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (const_costs): Move this to ...
+ (h8300_rtx_costs): ... here.
+
+ 2003-06-16 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
+ (tan_optab, atan_optab): Define corresponding macros.
+ * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
+ * genopinit.c (optabs): Implement tan_optab and atan_optab
+ using tan?f2 and atan?f2 patterns.
+ * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
+ using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
+ Change the default value of errno_set to false.
+ (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
+ using expand_builtin_mathfn.
+
+ * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
+ expander patterns implemented using existing atan2?f3 patterns.
+
+ 2003-06-16 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
+ both operands of the addition equal, reuse the expanded RTL.
+ (expand_expr <MULT_EXPR>): Likewise for multiplication.
+
+ 2003-06-16 Roger Sayle <roger@eyesopen.com>
+ Jeff Law <law@redhat.com>
+
+ * fold-const.c (operand_equal_p): Consider two calls to "const"
+ functions with identical non-volatile arguments to be equal.
+ Consider the FUNCTION_DECL for the "__builtin_foo" form of a
+ built-in function to be equal to the "foo" form.
+
+ 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config/rs6000/sysv4le.h: Remove target-independent comment.
+ Replace "GNU compiler" with "GCC" in comment.
+
+ 2003-06-16 Andreas Jaeger <aj@suse.de>
+
+ * tracer.c: Remove duplicate declaration.
+
+ * toplev.c: Remove extra declaration of decode_d_option.
+
+ * ssa.c: Remove duplicate declaration.
+
+ * sreal.c: Remove extra declaration of dump_sreal.
+
+ * reload1.c: Remove duplicate declarations.
+
+ * integrate.c: Remove extra declaration of
+ set_decl_abstract_flags.
+
+ * flow.c: Remove extra declaration of dump_flow_info.
+
+ * alias.c: Remove extra declaration of get_addr.
+
+ 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
+ config/vxworks.h: GNU CC -> GCC.
+
+ * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
+ lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
+ stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
+ ssa.h, tree.def: Replace overly specific references to "GNU C"
+ and "GNU C Compiler" with references to "GCC".
+
200306081853.int | perlbmk.peak+1.01539% perlbmk.base+1.53436% | gap.base-1.04927% twolf.peak-2.58647% | | gzip.peak+0.356326% vpr.peak+0.194869% gcc.base+0.303135% mcf.peak+0.103603% mcf.base+0.127515% crafty.peak+0.124529% parser.peak+0.295541% perlbmk.peak+0.380929% perlbmk.base+0.247578% gap.peak+0.426078% gap.base+0.170083% bzip2.peak+0.16632% twolf.peak+0.24009% |
+ Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
+ * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
+
+ * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
+ (dump_bb): New based on old dump_bb in cfgrtl.c
+ (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
+ * cfghooks.h (cfgh_verify_flow_info): Return status.
+ * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
+ * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
+ (dump_bb): Remove generic parts.
+ (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
+ (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
+
+ 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in: Rename options.c and options.h to c-options.c and
+ c-options.h.
+ (OBJS): Remove options.o.
+ * c-opts.c: Don'tInclude c-options.h instead of options.h.
+ * opts.c: Don't include options.h.
+ (find_opt): Can't use enum opt_code or N_OPTS.
+ * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
+ * opts.sh: ... here.
+
+ 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR pch/9830
+ * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
+ if HAVE_MINCORE is defined.
+ (MAP_FAILED): Define if not defined.
+ (gt_pch_save): Test against MAP_FAILED.
+ (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
+ the mapping address to the preferred base after checking it
+ is possible to do so. Test against MAP_FAILED.
+ * configure.in: Test for the presence of mincore in libc.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+ 2003-06-07 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
+ conditional compilation guard.
+
200306080143.int | gzip.peak+2.85446% gzip.base+5.18535% vpr.base+1.78105% crafty.peak+3.76639% crafty.base+0.761002% parser.base+1.99072% eon.base+3.18741% perlbmk.peak+1.12779% gap.base+2.99017% bzip2.peak+2.52337% | perlbmk.base-1.75945% twolf.peak-1.32256% | gzip.peak-0.611707% gzip.base-1.50618% vpr.base-1.14428% gcc.base-1.3339% mcf.peak-1.22797% mcf.base-0.884711% crafty.peak-1.37926% crafty.base-1.05616% parser.peak-0.835257% parser.base-1.28105% eon.peak-0.12963% eon.base-0.305736% perlbmk.peak-0.707663% perlbmk.base-1.26568% gap.base-1.54573% vortex.peak-0.419872% vortex.base-0.65453% bzip2.peak-0.529407% bzip2.base-0.575724% twolf.peak-0.539499% twolf.base-2.08013% | vpr.peak+0.104038% gap.peak+1.54735% |
200306080143 - Fix of wrong setting of -mcpu
200306051320.int | | gzip.peak-1.48942% gzip.base-7.19487% vpr.base-1.99568% crafty.peak-3.41509% crafty.base-1.34541% parser.base-1.88695% eon.peak-4.25939% perlbmk.peak-2.73465% gap.base-2.03284% vortex.peak-1.42097% vortex.base-1.2129% bzip2.peak-2.4934% | vpr.peak-0.324066% gap.peak-1.94158% | gzip.peak+0.290598% gzip.base+1.52922% vpr.base+1.11785% gcc.base+1.04118% mcf.peak+1.13846% mcf.base+0.764118% crafty.peak+1.24338% crafty.base+0.955956% parser.peak+0.767839% parser.base+1.24512% eon.peak+0.106575% eon.base+0.281494% perlbmk.peak+0.338707% perlbmk.base+1.03171% gap.base+1.39753% vortex.peak+0.367172% vortex.base+0.616827% bzip2.peak+0.532225% bzip2.base+0.643811% twolf.peak+0.248254% twolf.base+2.07883% |
200306051320 - Wrong setting of -mcpu, fixed
200306042218.int | | gap.base-0.850883% | | gzip.peak+0.397107% gzip.base+0.150832% vpr.peak+0.237129% gcc.base+0.305896% mcf.peak+0.337498% mcf.base+0.415618% crafty.peak+0.13648% parser.peak+0.314768% perlbmk.peak+0.386101% perlbmk.base+0.259974% gap.peak+0.430611% gap.base+0.184829% bzip2.peak+0.241747% bzip2.base+0.209677% twolf.peak+0.260011% |
+ 2003-06-04 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Native as and ld required
+ to bootstrap on AIX 5L.
+
+ 2003-06-04 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (handle_cleanup_attribute): New.
+ (c_common_attributes): Add it.
+ * c-decl.c (finish_decl): Honor the cleanup attribute.
+ * doc/extend.texi (Variable Attributes): Document it.
+
+ * unwind-c.c: New file.
+ * Makefile.in (LIB2ADDEH): Add it.
+ * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
+ config/ia64/t-ia64: Likewise.
+
+ 2003-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ * function.c (trampolines_created): New variable.
+ (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
+ * function.h (trampolines_created): Add.
+ * config/s390/linux.h (ASM_FILE_END): Define.
+ * config/alpha/linux-elf.h (ASM_FILE_END): Define.
+ * config/m68k/linux.h (ASM_FILE_END): Define.
+ * config/rs6000/linux.h (ASM_FILE_END): Define.
+ * config/rs6000/linux64.h (ASM_FILE_END): Define.
+ * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
+ * config/sparc/linux.h (ASM_FILE_END): Define.
+ * config/sparc/linux64.h (ASM_FILE_END): Define.
+ * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
+ * config/i386/linux.h (SUBTARGET_FILE_END): Define.
+ * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
+
+ Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
+ (ix86_reorg): Use it.
+ * i386.md (align): New insn pattern.
+
+ 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * toplev.c (rest_of_type_compilation): Fix typo.
+
+ 2003-06-04 Jakub Jelinek <jakub@redhat.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
+ * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
+ * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
+ * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
+ * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
+ * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
+ (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
+ * config/rs6000/rs6000.c (output_profile_hook): Likewise.
+
+ * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
+ Pass it to $gcc_cv_as.
+ * configure: Rebuilt.
+
+ * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
+ (print_operand): Allow TARGET_AIX to be non-constant.
+ (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
+ Define unconditionally.
+ (rs6000_elf_declare_function_name): New function.
+ * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
+ non-constant.
+ * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
+ to 1.
+ (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
+ [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
+ is defined.
+ (TARGET_AIX): Define to 1 if TARGET_64BIT.
+ (PROCESSOR_DEFAULT): Remove.
+ (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
+ INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
+ [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
+ (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
+ -m32 and -m64.
+ (MULTILIB_DEFAULTS): Define.
+ (SUBSUBTARGET_EXTRA_SPECS): Define.
+ (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
+ (TARGET_TOC): Define only if !RS6000_BI_ARCH.
+ (TARGET_NO_TOC): Remove.
+ [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
+ TARGET_PROTOTYPE): Define to 0.
+ (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
+ (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
+ (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
+ if !TARGET_64BIT.
+ (USER_LABEL_PREFIX): Remove.
+ (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
+ (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
+ if TARGET_64BIT.
+ (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
+ (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
+ (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
+ (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
+ (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
+ (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
+ TARGET_64BIT.
+ (RS6000_CALL_GLUE): Likewise.
+ (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
+ RESTORE_FP_SUFFIX): Likewise.
+ (ASM_DECLARE_FUNCTION_NAME): Remove.
+ (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
+ DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
+ name if TARGET_64BIT.
+ (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
+ !TARGET_64BIT.
+ (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
+ (DRAFT_V4_STRUCT_RET): Define.
+ (SIGNAL_FRAMESIZE): New enum value.
+ (MD_FALLBACK_FRAME_STATE_FOR): Define.
+ * config/rs6000/default64.h: New file.
+ * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
+ options.
+ (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
+ to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
+ if !TARGET_64BIT.
+ [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
+ (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
+ function.
+ (TARGET_OS_SYSV_CPP_BUILTINS): Define.
+ (TARGET_OS_CPP_BUILTINS): Use it.
+ (CPP_SYSV_SPEC): Remove.
+ (CPP_SPEC): Remove cpp_sysv.
+ (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
+ Add SUBSUBTARGET_EXTRA_SPECS.
+ (SUBSUBTARGET_EXTRA_SPECS): Define.
+ * config/rs6000/biarch64.h: New file.
+ * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
+ New prototype.
+ * config/rs6000/x-linux64: New file.
+ * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
+ multilibs.
+ * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
+ * config/rs6000/eabi-cn.asm: Likewise.
+ * config/rs6000/tramp.asm: Likewise.
+ * config/rs6000/sol-ci.asm: Likewise.
+ * config/rs6000/sol-cn.asm: Likewise.
+ * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
+ (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
+ * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
+ _CALL_AIXDESC section.
+ * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
+ defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
+ or default32.
+
+ 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.gcc: Revert accidentally committed ARM changes.
+
+ 2003-06-04 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (dconstpi, dconste): New mathematical constants.
+ (init_builtin_dconsts): New function to initialize dconstpi
+ and dconste.
+ (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
+ compile time with -ffast-math when x is an integer constant.
+ Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
+ atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
+
+ 2003-06-04 Roger Sayle <roger@eyesopen.com>
+
+ * calls.c (expand_call): Avoid calling pure or const functions
+ when the result is ignored (or void) and none of the arguments
+ are volatile. Move warning diagnostic earlier in function.
+
+ 2003-06-04 Andreas Jaeger <aj@suse.de>
+
+ * system.h: Do not poison TDESC_SECTION_ASM_OP,
+ RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
+
200306020132.int | | perlbmk.base-0.904102% | | |
+ 2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
+ ROUND_TYPE_SIZE_UNIT.
+
+ * stor-layout.c (finalize_record_size): Remove usages of
+ ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
+ (finalize_type_size): Likewise.
+ (layout_type): Likewise.
+
+ * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
+
+ * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
+
+ * config/d30v/d30v.h: Remove text copied from the manual.
+
+ 2003-06-01 Roger Sayle <roger@eyesopen.com>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ Geoffrey Keating <geoffk@apple.com>
+
+ * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
+ constants as condition code values.
+
+ 2003-06-01 DJ Delorie <dj@redhat.com>
+
+ * cppmacro.c (warn_of_redefinition): Handle cases where the two
+ definitions have different numbers of tokens.
+
+ 2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * gen-protos.c (main): Readd unused attribute for argc.
+
+ 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in (c-options.c, c-options.h): Parallel make safe.
+ * c.opt: End in blank line.
+ * opts.sh: Take AWK from environment if available; use C locale.
+
+ 2003-06-01 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
+
+ 2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * gen-protos.c (main): Revert patch to check for argument.
+
+ 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/11044
+ * config/i386/i386.md (length attribute): Set length to 4
+ for instructions of type "fcmp".
+
+ 2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * toplev.c: Use ISO C90 prototypes.
+
+ * toplev.h: Use ISO C90 prototypes.
+
+ * genrecog.c: Use ISO C90 prototypes.
+ (nodes_identical): Correct declaration to match prototype.
+ (maybe_both_true): Likewise.
+ (merge_trees): Likewise.
+
+ * genpeep.c (gen_peephole): Remove #if 0 code.
+ Use ISO C90 prototypes.
+
+ * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
+ Remove #if 0'ed function simplify_by_alternatives.
+ (optimize_attrs): Remove #if 0'ed code.
+ Remove ^L.
+ Use ISO C90 prototypes.
+ (make_canonical): Remove #if 0'ed code.
+ (convert_const_symbol_ref): Remove #if 0'ed function.
+
+ * gen-protos.c (main): Check for argument.
+
+ * rtl.h: Use ISO C90 prototypes for functions from lists.c.
+
+ * params.h: Use ISO C90 prototypes.
+ * params.c: Likewise.
+ * intl.c: Likewise.
+ * intl.h: Likewise.
+ * lists.c: Likewise.
+ * errors.c: Likewise.
+ * errors.h: Likewise.
+ * gencodes.c: Likewise.
+ * genpreds.c: Likewise.
+ * genattr.c: Likewise.
+ * gen-protos.c: Likewise.
+ * genflags.c: Likewise
+ * genconditions.c: Likewise.
+ * genautomata.c: Likewise.
+ * gencheck.c: Likewise.
+ * genconfig.c: Likewise.
+ * genconstants.c: Likewise.
+ * genemit.c: Likewise.
+ * genextract.c: Likewise.
+ * gengenrtl.c: Likewise.
+ * gengtype.c: Likewise.
+ * gengtype.h: Likewise.
+ * genopinit.c: Likewise.
+ * genoutput.c: Likewise.
+ * gensupport.c: Likewise.
+ * gensupport.h: Likewise.
+
+ * sdbout.h: Use ISO C90 prototypes.
+
+ * sdbout.c (CONTIN): Removed empty macro.
+ (sdbout_one_type): Remove CONTIN usages.
+ Remove ^Ls.
+ (tag_of_ru_type): Remove #if 0'ed function.
+ (sdbout_symbol): Remove #if 0'ed code.
+ (sdbout_one_type): Remove a #if 1.
+ (sdbout_one_type): Remove #if 0'ed code.
+ (sdbout_init): Remove RMS_QUICK_HACK_1 code.
+ Remove PARAMS, use ISO C90 prototypes for all functions.
+
+ 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
+
+ * rtl.def (CONST_DOUBLE): Update comment.
+
+ 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
+
+ * opts.sh: Remove path from sort.
+
+ 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
+
+ PR/9680
+ * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
+ TARGET_SPE for SPE_VECTOR_MODE.
+
200305120023.int | | crafty.peak-2.32212% eon.peak-2.88551% perlbmk.peak-1.97742% twolf.peak-2.43427% | | gzip.peak+16.3285% vpr.peak+12.3336% mcf.peak+5.01653% crafty.peak+7.18511% parser.peak+13.3121% eon.peak+1.3011% perlbmk.peak+7.97038% gap.peak+16.5964% vortex.peak+1.31558% bzip2.peak+11.2801% twolf.peak+15.1256% |
200305120023 - Fix to loop body estimation (Zdenek Dvorak, unsolved)
200304290410.int | | | | eon.peak+0.207101% eon.base+0.186458% |
+ 2003-04-28 Mike Stump <mrs@apple.com>
+
+ * gdbinit.in: Update to reflect new identifier structure.
+
+ 2003-04-28 Zack Weinberg <zack@codesourcery.com>
+
+ * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
+ (struct tree_int_cst, struct tree_real_cst, struct tree_string,
+ struct tree_complex, struct tree_vector): Remove RTL field.
+ (CONSTRUCTOR_ELTS): Use elt 0.
+ * tree.def (CONSTRUCTOR): Delete first of its two operands.
+ * varasm.c (output_constant_def): Remove early exit if
+ TREE_CST_RTL is set. Don't set TREE_CST_RTL.
+ (decode_addr_const): Don't mention TREE_CST_RTL in comment.
+ * target.h (select_section): Don't mention TREE_CST_RTL in comment.
+ * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
+
+ 2003-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ * c-decl.c (finish_decl): When prototype with asmspec is found
+ for built-in, adjust built_in_decls as well as expr.c decls.
+ * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
+ (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
+ * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
+
+ 2003-04-28 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
+ * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
+ integral constant mult operand.
+ (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
+ (const_smulsi3_highpart_v8plus): Likewise.
+ (const_smulsi3_highpart): Likewise.
+ (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
+ (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
+ (const_umulsi3_highpart_v8plus): Likewise.
+ (const_umulsi3_highpart): Likewise.
+
200304270046.int | | | eon.peak-0.10814% eon.base-0.1208% | |
+ 2003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/md.texi (cmpstr): Document additional restrictions.
+
200304250008.int | eon.base+3.39361% | | eon.peak-0.215813% eon.base-0.195915% | |
+ 2003-04-24 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpplex.c (cpp_token_len): Tighten up.
+ (cpp_token_as_text): Need extra byte now.
+ * cpplib.c (glue_header_name): Need extra 2 bytes.
+ * cppmacro.c (cpp_macro_definition): Need extra byte.
+
+ 2003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
+
+ * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
+ const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
+ where they might be not present. Use their _sp64 equivalent
+ instead.
+
+ Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (cvtsi2sdq): Fix typo in previous patch.
+
+ 2003-04-24 Krister Walfridsson <cato@df.lth.se>
+
+ * configure.in: Check whether mbstowcs works.
+ * configure, config.in: Regenerate.
+ * intl.c: Use HAVE_WORKING_MBSTOWCS.
+
+ 2003-04-24 H.J. Lu <hjl@gnu.org>
+
+ * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
+ for __sync_bool_compare_and_swap_di for int return type.
+
+ * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
+ Change return type to int.
+ (__sync_bool_compare_and_swap): Likewise.
+
200304241118.int | | crafty.peak-3.06526% crafty.base-1.95445% | gzip.peak-0.562469% eon.base-0.215543% twolf.peak-0.12263% twolf.base-0.414243% | mcf.peak+0.218587% mcf.base+0.128046% crafty.peak+0.732823% crafty.base+0.429469% perlbmk.peak+0.235005% gap.peak+0.160201% bzip2.peak+0.710015% bzip2.base+0.193924% |
+ 2003-04-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ New GCOV_TAG_FUNCTION layout
+ * coverage.c (struct function_list): Replace name with ident.
+ (struct counts_entry): Likewise.
+ (fn_ident): New.
+ (htab_counts_entry_hash, htab_counts_entry_eq,
+ htab_counts_entry_del): Adjust.
+ (reads_count_file, get_coverage_counts,
+ coverage_begin_output, coverage_end_function): Adjust.
+ (build_fn_info_type, build_fn_info_value): Likewise.
+ * gcov-dump.c (tag_function): Adjust.
+ * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
+ * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
+ * gcov.c (struct function_info): Add ident.
+ (read_graph_file, read_count_file): Adjust.
+ * libgcov.c (gcov_exit): Adjust.
+
+ 2003-04-23 Richard Henderson <rth@redhat.com>
+
+ PR opt/8300
+ * toplev.c (rest_of_compilation): Delay no_new_pseudos until
+ after initialize_uninitialized_subregs; update reg info assuming
+ new pseudos were created.
+
+ 2003-04-23 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
+ * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
+ (lex_string): Take cpp_string with full spelling.
+ (cb_ident): Update.
+ (c_lex): Update diagnostics.
+ * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
+ (create_literal): New.
+ (lex_string): Unterminated literals have type CPP_OTHER.
+ (_cpp_lex_direct): Update calls to lex_string. Use create_literal
+ for CPP_OTHER.
+ (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
+ (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
+ * cpplib.c (parse_include, do_line, do_linemarker,
+ destringize_and_run): Update for token storing full spelling.
+ * cpplib.h: Update token spelling types.
+ * cppmacro.c (stringify_arg, check_trad_stringification):
+ Update for token storing full spelling.
+
+ 2003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
+
+ 2003-04-23 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (TARGET_OPTIONS): Add value field.
+
+ 2003-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/extend.texi: Remove duplicate 2003 copyright date.
+
+ 2003-04-23 Nathan Sidwell <nathan@codesourcery.com>
+
+ * Makefile.in (LIBGCC_DEPS): Add gcov headers.
+ (libgcov.a): Depends on LIBGCC_DEPS.
+ * basic-block.h (profile_info): Moved here from coverage.h. Made
+ a pointer.
+ * coverage.c (struct function_list): Fixed array of counter types.
+ (struct counts_entry): Keyed by counter type, contains summary.
+ (profile_info): Moved to profile.c.
+ (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
+ vars.
+ (profiler_label): Remove.
+ (ctr_labels): New.
+ (set_purpose, label_for_tag, build_counter_section_fields,
+ build_counter_section_value, build_counter_section_data_fields,
+ build_counter_section_data_values, build_function_info_fields,
+ build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
+ (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
+ build_ctr_info_value, build_gcov_info): New.
+ (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
+ (reads_counts_file): Adjust.
+ (get_coverage_counts): Takes counter number. Add summary
+ parameter. Adjust.
+ (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
+ create counter array labels.
+ (coverage_end_function): Adjust.
+ (create_coverage): Adjust.
+ (find_counters_section): Remove.
+ * coverage.h (MAX_COUNTER_SECTIONS): Remove.
+ (struct section_info, struct profile_info): Remove.
+ (profile_info): Moved to basic-block.h.
+ (coverage_counter_ref): Takes a counter number.
+ (get_coverage_counts): Takes a counter number. Added summary
+ parameter.
+ (find_counters_section): Remove.
+ * gcov-dump.c (tag_arc_counts): Rename to ...
+ (tag_counters): ... here. Adjust.
+ (tag_table): Move tag_counters to 3rd entry. Remove
+ PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
+ (dump_file): Check for counter tag values here.
+ (tag_summary): Adjust.
+ * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
+ * gcov-io.h (GCOV_LOCKED): New.
+ (GCOV_TAG_ARC_COUNTS): Rename to ...
+ (GCOV_TAG_COUNTS_BASE): ... here.
+ (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
+ Remove.
+ (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
+ (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
+ GCOV_TAG_IS_COUNTER): New.
+ (struct gcov_ctr_summary): New.
+ (struct gcov_summary): Adjust.
+ (struct gcov_counter_section): Remove.
+ struct gcov_counter_section_data): Remove.
+ (struct gcov_function_info): Rename to ...
+ (struct gcov_fn_info): ... here. Adjust.
+ (struct gcov_ctr_info): New.
+ (struct gcov_info): Adjust.
+ * gcov.c (read_count_file): Adjust.
+ (output_lines): Adjust.
+ * libgcov.c (gcov_exit): Adjust.
+ (__gcov_flush): Adjust.
+ * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
+ * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
+ probably_never_executed_bb_p, compute_frequency_function): Adjust
+ profile_info use.
+ * profile.c (struct counts_entry): Remove.
+ (profile_info): Define here.
+ (get_exec_counts): Adjust get_coverage_counts call.
+ (compute_branch_probablilities): Remove find_counters_section
+ call.
+ (gen_edge_profiler): Adjust coverage_counter_ref call.
+ * tracer.c (tail_duplicate): Adjust profile_info use.
+
+ 2003-04-23 Roger Sayle <roger@eyesopen.com>
+
+ PR optimization/10339
+ * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
+ directly instead of unsafely transforming call into a memcmp.
+ (expand_builtin_strncmp): Likewise.
+
+ 2003-04-22 Roger Sayle <roger@eyesopen.com>
+
+ * alias.c (mark_constant_function): Check for constancy and
+ purity even of void functions. Update both the function decl
+ and the cgraph RTL info with the results.
+
+ 2003-04-22 Roger Sayle <roger@eyesopen.com>
+
+ * real.c (do_add): Change to return a bool indicating that the
+ result of the operation may be inexact due to loss of precision.
+ (do_multiply): Likewise.
+ (do_divide): Likewise.
+
+ 2003-04-22 Geoffrey Keating <geoffk@apple.com>
+ Loren James Rittle <ljrittle@acm.org>
+
+ * dwarf2out.c (fde_table_allocated): Mark with GTY.
+ (decl_die_table_allocated): Likewise.
+ (abbrev_die_table_allocated): Likewise.
+ (line_info_table_allocated): Likewise.
+ (separate_line_info_table_allocated): Likewise.
+ (pubname_table_allocated): Likewise.
+ (arange_table_allocated): Likewise.
+ (ranges_table_allocated): Likewise.
+ (decl_die_table_in_use): Unconditionalize; mark with GTY.
+ (abbrev_die_table_in_use): Likewise.
+ (line_info_table_in_use): Likewise.
+ (separate_line_info_table_in_use): Likewise.
+ (pubname_table_in_use): Likewise.
+ (arange_table_in_use): Likewise.
+ (ranges_table_in_use): Likewise.
+ (have_location_lists): Likewise.
+ (emitcount): New GTY-marked static, moved...
+ (maybe_emit_file): ...from here.
+ (label_num): New GTY-marked static, moved...
+ (gen_internal_sym): ...from here.
+
+ 2003-04-22 Richard Henderson <rth@redhat.com>
+
+ PR 8866
+ * rtl.h (MEM_NOTRAP_P): New.
+ (MEM_COPY_ATTRIBUTES): Copy it.
+ * rtlanal.c (may_trap_p): Check it.
+ * expr.c (do_tablejump): Set it.
+ * doc/rtl.texi (Flags): Document it.
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
+
+ 2003-04-22 Olivier Hainque <hainque@act-europe.fr>
+
+ * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
+ set FRP on stack adjustment for outgoing args if frame_pointer_needed.
+
+ 2003-04-22 Vincent Celier <celier@gnat.com>
+
+ * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
+ --enable-threads=gnat.
+ * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
+ * configure.in: Add gnat to the list of thread packages
+ * configure: Rebuild.
+ * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
+
+ 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
+
+ 2003-04-22 Devang Patel <dpatel@apple.com>
+
+ * cpptrad.c (_cpp_replacement_text_len): Add check for macro
+ parameter count.
+ (_cpp_copy_replacement_text): Same.
+
+ 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-lex.c (c_lex): Handle CPP_OTHER differently.
+ * cppexp.c (_cpp_parse_expr): Similarly.
+ * cpplex.c (SPELL_CHAR): Remove.
+ (_cpp_lex_direct): Stray chars are saved as byte strings.
+ (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
+ handle SPELL_CHAR.
+ (cpp_avoid_paste): Update handling of CPP_OTHER.
+ * cpplib.h: Spell CPP_OTHER like a number.
+ (struct cpp_token): Remove member c.
+ * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
+
+ 2003-04-22 David Turner <novalis@gnu.org>
+
+ * gbl-ctors.h: Add special license exception.
+ * libgcc2.h: Likewise.
+ * tsystem.h: Likewise.
+ * gcov-io.h: Likewise.
+
+ 2003-04-22 David Edelsohn <edelsohn@gnu.org>
+
+ * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
+ macro defaulting to original BRANCH_COST heuristic.
+ * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
+
+ * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
+
+ 2003-04-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/t-spe: Merge in t-fprules into file.
+
+ * config.gcc: Add t-spe to powerpc-eabispe.
+
+ 2003-04-22 Kean Johnston <jkj@sco.com>
+
+ * tlink.c (recompile_files): Add missing '=' to putenv calls
+
+ 2003-04-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * ginclude/stddef.h: Provide C++ safe offsetof.
+
+ 2003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * function.c (purge_addressof_1): In (mem (addressof (reg))) case
+ for reg notes, if there are no substitutions, just use a SUBREG.
+
+ 2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in (calls.o): Depend on except.h.
+ * calls.c: Include except.h.
+ (emit_call_1): Call note_eh_region_may_contain_throw if
+ appropriate.
+ * except.c (eh_region): Add may_contain_throw.
+ (expand_eh_region_end_cleanup): Do not include handler code when
+ it cannot be reached.
+ (note_eh_region_may_contain_throw): New function.
+ * except.h (note_eh_region_may_contain_throw): New function.
+
+ 2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
+ changes.
+
+ 2003-04-21 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
+ 64-bit long doubles.
+
+ 2003-04-21 Olivier Hainque <hainque@act-europe.fr>
+
+ * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
+ a number of conversions required for type consistency and previously
+ stripped off by STRIP_NOPS.
+
+ * calls.c (expand_call): Prevent sibcall optimization for calls to
+ nested subprograms.
+
+ * expmed.c (extract_bit_field): Reverse operands of && condition to
+ prevent a potential division by zero in the previously first branch.
+ * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
+
+ 2003-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
+ (subrange_type_die): Likewise.
+ (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
+ (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
+
+ 2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ Break out coverage routines to new file.
+ * Makefile.in (COVERAGE_H): New variable
+ (C_OBJS): Add coverage.o
+ (coverage.o): New target.
+ (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
+ dependencies.
+ (GTFILES): Adjust.
+ (gt-coverage.h): New target.
+ (gt-profile.h): Remove.
+ * profile.h: Remove. Move to ...
+ * coverage.h: ... here. New. #include gcov-io.h.
+ * gcov-io.h: Move function definitions to ...
+ * gcov-io.c: ... here. New.
+ * profile.c: Move coverage routines to coverage.c.
+ (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
+ end_branch_prob): Adjust.
+ * coverage.c: New. Coverage routines from profile.c
+ (coverage_counter_ref, coverage_init, coverage_finish,
+ coverage_end_function, coverage_begin_output,
+ coverage_counter_ref, get_coverage_counts): Define.
+ * gcov-dump.c, gcov.c: #include gcov-io.c.
+ * libgcov.c: Likewise. Adjust.
+ * loop-init.c: Don't #include profile.h
+ * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
+ * rtl.h: Add coverage prototypes.
+ * toplev.c (compile_file): Init coverage, not branch_prob.
+ Always call coverage_finish.
+ (rest_of_compilation): Call coverage_end_function.
+
+ 2003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
+
+ 2003-04-21 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-ppoutput.c (cb_include): Don't take a cpp_token.
+ * cppfiles.c: Don't undef strcmp.
+ (find_include_file): Don't take a cpp_token. Check for empty
+ file names.
+ (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
+ (cpp_push_include): Simplify.
+ * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
+ * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
+ (parse_include): Similary. Don't check for zero-length filenames.
+ (do_include_common, do_pragma_dependency): Update accordingly.
+ * cpplib.h (struct cpp_callbacks): Change prototype of include.
+
+ 2003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
+ details of conflict handling.
+
+ * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
+ when conversion overflows.
+
+ * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
+
+ * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
+ before clearing.
+
+ 2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
+ have the same form as the old RTL.
+
+ 2003-04-21 Andreas Jaeger <aj@suse.de>
+
+ * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
+
+ 2003-04-20 Chris Lattner <sabre@nondot.org>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
+ genrtl_cleanup_stmt. Correct comment at head of
+ genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
+
+ * stmt.c (struct nesting): Kill n_function_calls.
+ (expand_start_bindings): Don't set
+ thisblock->data.block.n_function_calls.
+ (expand_end_bindings): Compare function_call_count against 0.
+ (expand_cleanups): Kill DONT_DO argument; all callers passed
+ NULL_TREE. All callers updated to match.
+
+ 2003-04-20 Zack Weinberg <zack@codesourcery.com>
+
+ * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
+ (defer_addressed_constants, output_deferred_addressed_constants): Kill.
+ (output_constant_def): Remove code predicated on
+ defer_addressed_constants_flag.
+
+ * output.h: Remove prototypes of deleted functions.
+ * c-typeck.c (constructor_subconstants_deferred): Kill.
+ (struct initializer_stack): Remove 'deferred' field.
+ (start_init): Remove all references to the above.
+ (finish_init): Likewise. Also remove never-executed call to
+ output_deferred_addressed_constants. Pull assignment to
+ defstr out of if expression.
+
+ 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
+ NOTE_NEWLINE): Remove.
+ * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
+ to handle new form of line note type.
+
+ 2003-04-20 Zack Weinberg <zack@codesourcery.com>
+
+ * target.h (encode_section_info): Add new argument carrying
+ the RTL to be modified by the hook.
+
+ * varasm.c (make_decl_rtl, output_constant_def): Update calls
+ to encode_section_info.
+ (default_encode_section_info): Take and use RTL argument,
+ don't use TREE_CST_RTL or DECL_RTL.
+ * output.h: Update prototype of default_encode_section_info.
+ * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
+ (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
+ Update calls to encode_section_info.
+
+ * config/darwin.c, config/arm/arm.c, config/arm/pe.c
+ * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
+ * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
+ * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
+ * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
+ * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
+ Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
+ except for PE dllimport/dllexport. Update calls to
+ default_encode_section_info.
+
+ * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
+ Update prototypes.
+
+ * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
+
+ 2003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR/8705
+ * pa.md (movccfp): New expander.
+ (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
+ Reverse fcmp conditions.
+
+ 2003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
+ of operand 1 correctly.
+
+ 2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
+ * gcov.c (output_lines): Don't be so fussy about going past EOF.
+
+ 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
+ (cppcharset.o): New target.
+ * c-lex.c (is_extended_char): Move to cppcharset.c.
+ (utf8_extend_token): Delete.
+ * cppcharset.c: New file.
+ * cpphash.h (_cpp_valid_ucn): New.
+ * cpplex.c (lex_identifier): Update prototype.
+ (continues_identifier_p): Rename forms_identifier_p. Handle UCN
+ escapes.
+ (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
+ in cppcharset.c.
+ (lex_number, lex_identifier, cpp_parse_escape): Update.
+ (_cpp_lex_direct): Update to handle UCNs.
+ (cpp_avoid_paste): Don't paste to form a UCN.
+
+ 2003-04-19 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin): Don't expand a pure or const
+ built-in function if the result will be ignored and none of
+ its arguments are volatile.
+
+ 2003-04-19 Kean Johnston <jkj@sco.com>
+
+ * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
+ * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
+ target fragment now: t-sco5; dont compile crti.o.
+ * config/i386/sco5.h: major overhaul to remove all COFF remnants
+ and to use elfos.h for most definitions.
+ (BSS_SECTION_ASM_OP): set correct segment attributes.
+ (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
+ (DWARF2_UNWIND_INFO): Always set to 1.
+ (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
+ (MD_STARTFILE_PREFIX_1): Define.
+ (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
+ (DEFAULT_LINKER): Define if not specified to configure.
+ (CTORS_SECTION_ASM_OP): Remove COFF crud.
+ (DTORS_SECTION_ASM_OP): Remove COFF crud.
+ (WINT_TYPE): Define.
+ (SDB_DEBUGGING_INFO): Remove.
+ (EXTRA_SECTIONS): Likewise.
+ (EXTRA_SECTION_FUNCTIONS): Likewise.
+ (CTOR_LIST_BEGIN): Likewise.
+ (CTOR_LIST_END): Likewise.
+ (INIT_SECTION_FUNCTION): Likewise.
+ (FINI_SECTION_FUNCTION): Likewise.
+ (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
+ (LOCAL_LABEL_PREFIX): Likewise.
+ (NON_SAVING_SETJMP): Likewise.
+ (RETURN_POPS_ARGS): Likewise.
+ (ASM_OUTPUT_SKIP): Likewise.
+ (TARGET_ASM_NAMED_SECTION): Likewise.
+ (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
+ (ASM_OUTPUT_IDENT): Likewise.
+ (ASM_OUTPUT_CASE_LABEL): Likewise.
+ (ASM_OUTPUT_ASCII): Likewise.
+ (ASM_OUTPUT_LIMITED_STRING): Likewise.
+ (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+ (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ (ASM_DECLARE_OBJECT_NAME): Likewise.
+ (ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (ASM_DECLARE_RESULT): Likewise.
+ (ASM_WEAKEN_LABEL): Likewise.
+ (SUPPORTS_WEAK): Likewise.
+ (APPLY_RESULT_SIZE): Likewise.
+ (LPREFIX): Likewise.
+ (ALIGN_ASM_OP): Likewise.
+ (ASCII_DATA_ASM_OP): Likewise.
+ (IDENT_ASM_OP): Likewise.
+ (ASM_SHORT): Likewise.
+ (ASM_LONG): Likewise.
+ (TYPE_ASM_OP): Likewise.
+ (SIZE_ASM_OP): Likewise.
+ (STRING_ASM_OP): Likewise.
+ (SKIP_ASM_OP): Likewise.
+ (EH_FRAME_SECTION_ASM_OP): Likewise.
+ (READONLY_DATA_SECTION_ASM_OP): Likewise.
+ (INIT_SECTION_ASM_OP): Likewise.
+ (FINI_SECTION_ASM_OP): Likewise.
+ (TEXT_SECTION_ASM_OP): Likewise.
+ (DATA_SECTION_ASM_OP): Likewise.
+ (TYPE_OPERANT_FORMAT): Likewise.
+ (ASM_SPEC): Remove COFF code.
+ (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
+ cause -pg to emit an error; use pcrt1elf.o with -pp
+ (ENDFILE_SPEC): Likewise.
+ (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
+ (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
+ (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
+ add -z alt_resolve to support weak symbols the way GCC wants them.
+ (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
+ (LIBGCC_SPEC): Dont use -lgcc in -G mode.
+ (ASM_PREFERED_EH_DATA_FORMAT): Remove.
+ * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
+ (CRTSTUFF_T_CFLAGS_S): Define.
+ (MULTILIB_OPTIONS): Likewise.
+ (MULTILIB_DIRNAMES): Likewise.
+ (MULTILIB_MATCHES): Likewise.
+ (MULTILIB_EXTRA_OPTS): Likewise.
+ (LIBGCC): Likewise.
+ (INSTALL_LIBGCC): Likewise.
+ (crti.o): Remove.
+ * config/i386/t-sco5gas: Remove.
+ * doc/install.texi: Updated for new OpenServer instructions.
+ * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
+
+ 2003-04-19 Kean Johnston <jkj@sco.com>
+
+ * fixinc/check.tpl: Allow user to over-ride diff program.
+ * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
+ (sco_math): Added test for SCO math header files.
+ (sco_regset): Added check for conflicts with ieeefp.h.
+ (svr4_disable_opt): Removed extraneous #ifdef SVR4.
+ * fixinc/fixincl.x: Regenerated
+ * fixinc/tests/base/math.h: Added sco_math tests.
+ * fixinc/tests/base/string.h: New file.
+ * fixinc/tests/base/sys/regset.h: New file.
+
+ 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpphash.h (struct cpp_buffer): Remove backup_to.
+ * cpplex.c (BACKUP, get_effective_char): Die.
+ (_cpp_skip_block_comment): Assume '*' is location on entry.
+ (continues_identifier_p): Respect -fno-dollars-in-identifiers.
+ (IF_NEXT_IS): Update.
+ (_cpp_lex_direct): Don't use backup_to; look ahead directly.
+
+ 2003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * README.Portability: Move to a new section and obsolete K+R
+ portability issues.
+
+ Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * rtlanal.c (subreg_offset_representable_p): Fix call of
+ subreg_lowpart.
+
+ 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpphash.h (struct cpp_reader): New member warned_dollar.
+ * cpplex.c (continues_identifier_p): New function.
+ (parse_identifier, parse_number, parse_string): Rename lex_identifer,
+ lex_number and lex_string, and simplify.
+ (parse_slow, unescaped_terminator_p): Die.
+ (_cpp_lex_direct): Update.
+
+ 2003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * calls.c (expand_call): Provide init for old_stack_pointer_delta.
+
+ 2003-04-19 Nathan Sidwell <nathan@codesourcery.com>
+
+ * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
+ fork behaviour.
+
+ 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppexp.c (eval_token): Permit true and false even if pedantic.
+
+ 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
+
+ * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
+
+ 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
+ MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
+ (struct include_file): Remove fefcnt, mapped members.
+ (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
+ (read_include_file): Don't use mmap, terminate buffers in '\r'.
+ (purge_cache): Don't use munmap.
+ * cpphash.h (CPP_BUF_COLUMN): Update.
+ (lexer_state): Remove lexing_comment.
+ (struct _cpp_line_note): New.
+ (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
+ next_line and need_line. Remove col_adjust and saved_flags.
+ (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
+ _cpp_skip_block_comment, scan_out_logical_line): New.
+ (_cpp_init_mbchar): Remove.
+ * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
+ (cpp_read_main_file): Set line to 1 earlier.
+ (post_options): -traditional-cpp doesn't want trigraphs.
+ * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
+ (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
+ _cpp_get_fresh_line): New.
+ (handle_newline, skip_escaped_newlines, trigraph_p,
+ continue_after_nul, _cpp_init_mbchar): Remove.
+ (get_effective_char): Update.
+ (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
+ (skip_line_comment): Simplify.
+ (skip_whitespace, parse_identifier, parse_slow, parse_number,
+ parse_string): Update.
+ (cpp_lex_direct): Use clean lines and process line notes. Update.
+ (cpp_interpret_charconst): No MULTIBYTE_CHARS.
+ * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
+ directly.
+ (_cpp_handle_directive): Don't set saved_flags.
+ (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
+ cpp_undef, handle_assertion, cpp_push_buffer): Update.
+ (_cpp_pop_buffer): Free notes.
+ * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
+ * cpppch.c (cpp_read_state): \n terminate buffer.
+ * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
+ (copy_comment): Use _cpp_skip_block_comment.
+ (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
+ Simplify.
+ (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
+ save_replacement_text): Update.
+ (scan_out_logical_line): Update to use clean lines and process
+ line notes.
+ * fix-header.c (read_scan_file): Update.
+
+ 2003-04-18 Douglas B Rupp <rupp@gnat.com>
+
+ * unwind-dw2-fde.c (__register_frame_info_bases): Check for
+ null begin parameter (as well as pointer to null).
+ (__deregister_frame_info_bases): Likewise.
+
+ 2003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
+ hard or virtual register and copy into pseudo if replacement fails.
+
+ * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
+
+ * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
+
+ 2003-04-18 Olivier Hainque <hainque@act-europe.fr>
+
+ * calls.c (expand_call): Move special case for constructor calls
+ to right place. Ensures constructor calls used to initialize
+ arguments get a clean outgoing argument block for themselves.
+ Move check for stack deallocation completeness until after last
+ deallocation. Add stack_pointer_delta to set of state
+ variables saved and restored along with current stack_level.
+
+ * integrate.c (expand_inline_function): Ensure non-const actuals
+ don't end up const in the caller's flow after conversion to possibly
+ const formal type.
+
+ 2003-04-18 Vincent Celier <celier@gnat.com>
+
+ * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
+ and *_DIV_EXPR as TRUNC_*_EXPR.
+
+ 2003-04-18 Mark Mitchell <mark@codesourcery.com>
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
+ for orphaned jump tables.
+
+ 2003-04-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reload1.c: Revert my previous patch on 2002-04-17.
+
+ 2003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
+ Add Segher Boessenkool.
+
+ 2003-04-18 Alexander Sotirov <sluncho@mirizma.org>
+
+ PR c/9177
+ * c-decl.c (c_expand_body): Don't garbage collect the function
+ body if we are going to dump it later.
+
+ 2003-04-18 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
+ (alpha_end_function): Don't set them.
+ (decl_in_text_section): Remove.
+ (alpha_encode_section_info): Remove.
+ (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
+ (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
+ sections, rather than decl_in_text_section results.
+
+ 2003-04-18 Roger Sayle <roger@eyesopen.com>
+
+ * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
+ and SIGN_EXTRACT.
+
+ 2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/7675
+ * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
+ on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
+ nested functions if they refer to declarations from parent functions.
+ * stmt.c (expand_decl): Don't put automatic variables in registers
+ if the DECL_NONLOCAL flag is set.
+
+ 2003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcse.c (compute_ld_motion_mems): For MEM destinations, only
+ consider those to be movable where the source matches
+ want_to_gcse_p.
+ (update_ld_motion_stores): In comment, refer to
+ compute_ld_motion_mems for validity of replacement.
+
+ Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * gcov-dump.c (tag_summary): Remove max_sum
+ * gcov-io.h (gcov_summary, gcov_write_summary,
+ gcov_read_summary): Kill max_sum.
+ * libgcov.c (gcov_exit): Do one pass over the data. Make error
+ message more verbose.
+
+ * emit-rtl.c (subreg_hard_regno): Check that register is
+ representable.
+
+ * reload.c (reload_inner_reg_of_subreg): When register is not
+ representable, reload the whole thing.
+ (find_reloads): Likewsie.
+ * rtlanal.c (subreg_representable_p): New function.
+
+ * profile.c (compute_branch_probabilities): Cleanup sanity checking;
+ allow negative probabilities for edges from the call to exit.
+ (branch_prob): Do not add fake edges for functions that may return
+ twice.
+
+ 2003-04-17 DJ Delorie <dj@redhat.com>
+
+ * toplev.c (target_options): Add value field.
+ (set_target_switch): Handle target options with values.
+ * doc/tm.texi: Document how fixed vs variable target
+ options work.
+ * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
+ config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
+ config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+ config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
+ config/m32r/m32r.h, config/m68hc11/m68hc11.h,
+ config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
+ config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
+ config/rs6000/rs6000.h, config/rs6000/sysv4.h,
+ config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
+ Add value initializer to target options.
+
+ 2003-04-07 Loren James Rittle <ljrittle@acm.org>
+
+ * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
+
+ 2003-04-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reload1.c (move2add_last_cc0): New.
+ (reload_cse_move2add): Detect implicit sets.
+ (move2add_note_store): Notice a store into cc0.
+
+ 2003-04-17 Roger Sayle <roger@eyesopen.com>
+
+ PR c/10375
+ * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
+ function attributes.
+
+ 2003-04-17 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test Suites): Document support for testing
+ binary compatibility (moved from testsuite/README.compat).
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
+
+ 2003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
+
+ * doc/include/gpl.texi: Fix double-spacing after "MA" to match
+ the one provided by the FSF.
+
+ 2003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Binaries): Update URL and list of platforms
+ provided by ftp.thewrittenword.com.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
+ (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
+ * config/xtensa/xtensa.md (call, call_value): Likewise.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
+ (print_operand_address): Likewise.
+ (ep_memory_operand): Likewise.
+ (special_symbolref_operand): Likewise.
+ (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
+ (v850_encode_section_info): Call default_encode_section_info.
+ (v850_strip_name_encoding): Remove.
+ * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
+ (ASM_OUTPUT_LABELREF): Remove.
+ (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
+ (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
+ (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
+ (ENCODED_NAME_P): Remove.
+ (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
+ (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
+ (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
+ * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
+ SYMBOL_REF_FUNCTION_P.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (sparc_encode_section_info): Remove.
+ (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
+ (text_segment_operand): Likewise.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
+ (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
+ (sh_encode_section_info): Remove.
+ (sh_strip_name_encoding): Remove.
+ * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
+ (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
+ (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
+ (ASM_OUTPUT_LABELREF): Remove.
+ (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
+ * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
+ (tls_model_chars): Remove.
+ (larl_operand): Use SYMBOL_REF_FLAGS.
+ (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
+ (s390_output_mi_thunk): Likewise.
+ (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
+ (s390_function_profiler): Likewise.
+ (s390_encode_section_info): Use default_encode_section_info
+ and SYMBOL_FLAG_ALIGN1.
+ (s390_strip_name_encoding): Remove.
+ * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
+ * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
+ (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
+ (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
+ (print_operand_address): Likewise.
+
+ * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
+ * config/ns32k/ns32k.c (expand_block_move): Don't check
+ flag_unroll_loops.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/mcore/mcore.c (mcore_encode_section_info): Don't set
+ SYMBOL_REF_FLAG.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
+
+ * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
+ (SYMBOL_REF_MODEL): New.
+ (LIT_NAME_P): Move from m32r.h.
+ (m32r_select_section): Remove.
+ (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
+ (m32r_strip_name_encoding): Remove.
+ (m32r_in_small_data_p): New.
+ (small_data_operand): Use SYMBOL_REF_SMALL_P.
+ (addr24_operand): Use SYMBOL_REF_MODEL.
+ (call26_operand): Likewise.
+ (addr32_operand): Tidy.
+ (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
+ * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
+ (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
+ (READONLY_DATA_SECTION_ASM_OP): Remove.
+ (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
+ (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
+ (TARGET_ASM_SELECT_SECTION): Remove.
+ (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
+ (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
+ (LARGE_NAME_P, ENCODED_NAME_P): Remove.
+ (ASM_OUTPUT_LABELREF): Remove.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
+ (encode_section_info): Remove.
+ * config/ip2k/ip2k-protos.h: Update.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (default_encode_section_info): Don't set
+ SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
+ * config/i370/i370.c (i370_encode_section_info): Remove.
+ * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
+ (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
+ * config/i370/i370.md (movsi): Likewise.
+
+ * config/i370/t-i370: Add missing backslash.
+
+ 2003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/invoke.texi (inline-limit): Fix pasto.
+
+ 2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
+ (small_call_insn_operand): Use it.
+ (SYMBOL_FLAG_EIGHTBIT_DATA): New.
+ (h8300_eightbit_constant_address_p): Use it.
+ (SYMBOL_FLAG_TINY_DATA): New.
+ (h8300_tiny_constant_address_p): Use it.
+ (h8300_encode_label, h8300_strip_name_encoding): Remove.
+ (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
+ * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
+ (ASM_OUTPUT_LABELREF): Remove.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
+ all users with SYMBOL_REF_SMALL_P.
+ (const_small_data_p): Use SYMBOL_REF_SMALL_P.
+ (frv_encode_section_info): Remove.
+ (frv_strip_name_encoding): Remove.
+ (frv_in_small_data_p): Merge tests from encode_section_info.
+ (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
+ * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
+ (SDATA_NAME_P): Remove.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
+ (ASM_OUTPUT_LABELREF): Remove.
+ (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
+
+ * config/frv/frv.c (frv_asm_out_constructor): New.
+ (frv_asm_out_destructor): New.
+ * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
+ (DTORS_SECTION_ASM_OP): New.
+ (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
+ SYMBOL_REF_LOCAL_P; abort if not pic.
+ (cris_encode_section_info): Remove.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * config/c4x/c4x.c (c4x_encode_section_info): Remove.
+ (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
+
+ * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
+ flag_inline_trees.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * config/avr/avr.c (avr_encode_section_info): Remove.
+ (avr_insert_attributes): New.
+ (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
+ (avr_assemble_integer): Likewise.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * arc.c (arc_encode_section_info): Remove.
+ (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
+ (arc_print_operand, arc_print_operand_address): Likewise.
+ * arc.h (EXTRA_CONSTRAINT): Likewise.
+
+ 2003-04-16 Roger Sayle <roger@eyesopen.com>
+
+ * c-semantics.c (find_reachable_label): New function to find a
+ potentially reachable label in an expression.
+ (expand_unreachable_if_stmt): Similar to expand_if_stmt but
+ assumes the start of the IF_STMT is unreachable (dead) code.
+ (expand_unreachable_stmt): Similar to expand_stmt but assumes
+ the start of the statement list is unreachable (dead) code.
+ (genrtl_if_stmt): If the controlling expression of the IF
+ is constant, use expand_unreachable_stmt for the THEN or ELSE
+ clause as appropriate.
+ (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
+ the body of a SWITCH statement.
+ (expand_stmt): The code immediately following a "return",
+ "break", "continue" or "goto" is unreachable.
+ * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (MEM_ALIAS_SET): Update documentation.
+ * doc/rtl.texi (Special Accessors): New node.
+ (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
+
+ 2003-04-16 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload1.c (reload_cse_noop_set_p): Return false if mode of
+ SET_DEST is not the same as that returned by...
+ * cselib.h (cselib_reg_set_mode): ... new function.
+ * cselib.c (cselib_reg_set_mode): Define it.
+ (REG_VALUES): Document semantics of first element as set mode.
+ (cselib_subst_to_values): Skip first element if ELT is NULL.
+ (cselib_lookup): Likewise. Insert past the first element.
+ (cselib_invalidate_regno): NULLify first element.
+ (cselib_record_set): Set first element.
+
+ 2003-04-16 Olivier Hainque <hainque@act-europe.fr>
+
+ * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
+ (save_expr): Replace loop by call to skip_simple_arithmetics_at.
+ * tree.h: Add prototypes for the two new functions.
+ * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
+ updates introduced in the previous revision by call to saved_expr_p.
+ * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
+
+ * expr.c (store_field): Force usage of bitfield instructions when
+ the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
+ (expand_expr, case BIT_FIELD_REF): likewise.
+
+ 2003-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR middle-end/8866
+ * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
+ jumptables.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (sdata_symbolic_operand): Use
+ SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
+ (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ (function_operand): Use SYMBOL_REF_FUNCTION_P.
+ (ia64_expand_load_address): Likewise.
+ (ia64_assemble_integer): Likewise.
+ (ia64_encode_section_info): Remove.
+ (ia64_strip_name_encoding): Remove.
+ * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
+ * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
+
+ 2003-04-16 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
+ (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
+ (direct_call_operand): Use SYMBOL_FLAG_NEAR.
+ (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
+ (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
+ (global_symbolic_operand): Similarly.
+ (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
+ (tls_symbolic_operand_type): Likewise.
+ (alpha_encode_section_info): Use default_encode_section_info.
+ (alpha_strip_name_encoding): Remove.
+ (get_tls_get_addr): Split out from ...
+ (alpha_legitimize_address): ... here.
+ (alpha_emit_xfloating_libcall): Use init_one_libfunc.
+ (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
+ (alpha_initialize_trampoline): Use init_one_libfunc.
+ (alpha_setup_incoming_varargs): Mark unused parameters.
+ (alpha_initial_elimination_offset): Likewise.
+ (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
+ (unicosmk_unique_section): Use default_strip_name_encoding.
+ (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
+
+ 2003-04-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * config.gcc: Add t-spe for eabispe.
+
+ * config/rs6000/t-spe: New.
+
+ 2003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
+
+ Re-apply this patch:
+
+ 2002-05-16 Dale Johannesen <dalej@apple.com>
+ * combine.c (cant_combine_insn_p): Reenable combinations
+ involving hard regs unless CLASS_LIKELY_SPILLED_P.
+
+ 2003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR/10271
+ * pa-protos.h (function_arg): Remove last argument.
+ * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
+ * pa.h (struct hppa_args): Add member incoming.
+ (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
+ member incoming.
+ (FUNCTION_ARG): Revise call to function_arg.
+ (FUNCTION_INCOMING_ARG): Delete.
+
+ 2003-04-15 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.in: Unify the code which creates symlinks to a
+ just-built as, ld, objdump, and nm with the code that detects
+ their presence for purposes of feature tests.
+ * configure: Regenerate.
+
+ 2003-04-15 Zack Weinberg <zack@codesourcery.com>
+
+ * varasm.c (output_constant_def): Do not consult
+ CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
+ (after_function_constants, output_after_function_constants): Delete.
+ * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
+ * config/mips/mips-protos.h, config/mips/mips.c
+ (mips16_constant_after_function_p): Delete.
+ * config/mips/mips.h: Delete #if-0-ed definition of
+ CONSTANT_AFTER_FUNCTION_P.
+ * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
+ mention of CONSTANT_AFTER_FUNCTION_P in comment.
+
+ 2003-04-15 Geoffrey Keating <geoffk@apple.com>
+
+ * tree.c (next_decl_uid): Mark with GTY.
+ (next_type_uid): Likewise.
+
+ 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
+
+ PR target/9594:
+ * sh.c (barrier_align): Also recognize stuff_delay_slot as
+ an indicator that a barrier was created by branch splitting.
+
+ 2003-04-15 Mark Mitchell <mark@codesourcery.com>
+
+ * c-decl.c (implicitly_declare): Copy declarations that are going
+ to be placed in a local scope.
+
+ 2003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
+
+ * invoke.texi (Spec Files): Wrap if-exists-else example.
+ (MCore): Remove duplicate @itemx entries and @opindex entries.
+
+ 2003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * unwind.inc (_Unwind_Backtrace): New function.
+ * unwind.h (_Unwind_Backtrace): Declare it.
+ * libgcc-std.ver (_Unwind_Backtrace): Export it.
+
+ 2003-04-14 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/10336, c++/10401
+ * jump.c (never_reached_warning): Also stop looking if we reach the
+ beginning of the function.
+
+ 2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR target/10338
+ PR bootstrap/10198
+ PR bootstrap/10140
+ * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
+
+ 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
+
+ 2003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * optabs.c (expand_binop): In multi-word add cases, ensure
+ XTARGET is copied to TARGET if they are different.
+
+ 2003-04-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
+ to region, possible after integration of function with unreachable
+ regions that were optimized away.
+
+ 2003-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
+ instead of TOC_REGISTER in epilogue in
+ current_function_calls_eh_return functions.
+
+ 2003-04-14 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/extend.texi (Empty Structures): Correct description of G++'s
+ handling of these structures.
+
+ * c-decl.c (grokdeclarator): Reject extern redeclarations of
+ static variables.
+
+ 2003-04-14 Janis Johnson <janis287@us.ibm.com>
+
+ * config/rs6000/rs6000.md (define_constants): Define constants for
+ all UNSPEC usage, including new values for TLS support.
+ (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
+ load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
+ load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
+ macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
+ stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
+ eh_set_lr_di): Use them.
+ * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
+ rs6000_emit_epilogue) Use them.
+
+ * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
+
+ 2003-04-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in (c-opts.o): Use custom action.
+
+ 2003-04-14 Douglas B Rupp <rupp@gnat.com>
+
+ * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
+
+ 2003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
+ handle "superflat arrays" in Ada.
+
+ * integrate.c (expand_inline_function): Don't inline if would
+ lose /u on a BLKmode TARGET.
+
+ 2003-04-14 Joel Brobecker <brobecker@gnat.com>
+
+ * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
+ extracted from dbxout_type.
+ (dbxout_range_type): print large bounds in octal format.
+ (dbxout_type): Replace extracted code by call to
+ print_int_cst_bounds_in_octal_p.
+
+ * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
+ of DW_LANG_Ada83 for Ada units.
+
+ 2003-04-14 Olivier Hainque <hainque@act-europe.fr>
+
+ * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
+ temporary used to round CONST_INT sizes.
+
+ * tree.c (int_fits_type_p): Extract generic checks from the case
+ of constant type bounds. Refine the checks against constant type
+ bounds to allow for possible decisions against each of these bounds
+ without requiring both bounds to be constant.
+ (tree_int_cst_msb): Put back.
+ * tree.h (tree_int_cst_msb): Likewise.
+
+ * global.c (global_conflicts): Prevent allocation of call clobbered
+ hard regs to pseudos live across abnormal edges, as later passes are
+ not ready to handle them.
+
+ * fold-const.c (fold): Reorder tests for conditional expressions.
+
+ * expr.c (highest_pow2_factor): Return unsigned.
+ * expr.h (offset_address): Likewise.
+ * emit-rtl.c (offset_address): POW2 argument now unsigned.
+
+ 2003-04-14 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin_strlen): Evaluate the lengths of
+ string literals at compile-time.
+
+ 2003-04-14 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
+ comparison operation and c1/c2 are floating point constants into
+ x swap(cmp) (c1 - c2).
+
+ 2003-04-14 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (output_translate_vect): Fix a typo in loop
+ condition.
+
+ 2003-04-14 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/10377
+ * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
+ ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
+ ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
+ ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
+ ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
+ ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
+ ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
+ ("*extopqihi_swap_side", "*extopqisi_swap_side")
+ ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
+ When next to constraint R, replace constraint i with n.
+
+ Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR opt/10024
+ * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
+
+ 2003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ * doc/contrib.texi (Contributors): Correct my entry.
+
+ 2003-04-13 Roger Sayle <roger@eyesopen.com>
+
+ * tree.h (DECL_BUILT_IN_NONANSI): Remove.
+ * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
+ * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
+ implies DECL_BUILT_IN to simplify logic.
+ * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
+
+ 2003-04-13 Roger Sayle <roger@eyesopen.com>
+
+ * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
+ (BT_FN_PTR_SIZE_SIZE): Likewise.
+ * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
+ New built-in functions for malloc, calloc and strdup respectively.
+ * calls.c (special_function_p): No need to handle malloc-like
+ functions any longer. ECF_MALLOC is set via built-in attributes.
+
+ * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
+
+ * doc/extend.texi: Document these new built-in functions.
+
+ 2003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
+ (expand_builtin_stpcpy): New.
+ (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
+ * builtins.def: Add mempcpy & stpcpy support.
+ * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
+
+ 2003-04-13 Nick Clifton <nickc@redhat.com>
+
+ * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
+ "GCC".
+ * config/rs6000/40x.md, config/rs6000/603.md,
+ config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
+ config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
+ config/rs6000/aix3newas.h, config/rs6000/aix41.h,
+ config/rs6000/aix43.h, config/rs6000/aix51.h,
+ config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
+ config/rs6000/altivec.h, config/rs6000/altivec.md,
+ config/rs6000/beos.h, config/rs6000/darwin.h,
+ config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
+ config/rs6000/eabisim.h, config/rs6000/eabispe.h,
+ config/rs6000/freebsd.h, config/rs6000/gnu.h,
+ config/rs6000/host-darwin.c, config/rs6000/linux.h,
+ config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
+ config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
+ config/rs6000/netbsd.h, config/rs6000/power4.md,
+ config/rs6000/rios1.md, config/rs6000/rios2.md,
+ config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
+ config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
+ config/rs6000/rs6000.h, config/rs6000/rs6000.md,
+ config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
+ config/rs6000/spe.md, config/rs6000/sysv4.h,
+ config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
+ config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
+
+ 2003-04-13 Nick Clifton <nickc@redhat.com>
+
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
+ support for -mcall-aix switch.
+ * config/rs6000/eabiaix.h: Delete.
+ * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
+ (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
+ RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
+ * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
+ debug_stack_info, output_function_profiler,
+ rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
+ * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
+ call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
+ call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
+ sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
+ * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
+ multilibs.
+ (MULTILIB_DIRNAMES): Remove mcall-aix directories.
+ (MULTILIB_EXCEPTIONS): Delete.
+ (MULTILIB_MATCHES): Remove mcall-aix matches.
+
+ * doc/fragments.texi: Replace -mcall-aix example with an ARM
+ one.
+ * doc/install.texi: Delete powerpc-*-eabiaix target.
+ * doc/invoke.texi: Remove documentation of mcall-aix switch.
+ * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
+ * config.gcc: Delete powerpc-*-eabiaix target.
+
+ 2003-04-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Fix typos.
+ * doc/tm.texi: Likewise.
+
+ 2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
+
+ 2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * tree.c (build_constructor): New function.
+ * tree.h: Prototype it.
+
+ * c-typeck.c (build_c_cast, pop_init_level)
+ * profile.c (build_function_info_value, build_gcov_info_value)
+ (create_profiler):
+ Use build_constructor.
+
+ * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
+
+ * objc/objc-act.c (build_constructor):
+ Rename objc_build_constructor. Use build_constructor.
+ (build_objc_string_object, objc_add_static_instance)
+ (init_def_list, init_objc_symtab, init_module_descriptor)
+ (generate_static_references, build_selector_translation_table)
+ (build_descriptor_table_initializer, generate_descriptor_table)
+ (build_protocol_initializer, build_ivar_list_initializer)
+ (generate_ivars_list, build_dispatch_table_initializer)
+ (generate_dispatch_table, generate_protocol_list)
+ (build_category_initializer, build_shared_structure_initializer):
+ Update to match.
+
+ 2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
+
+ 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11-protos.h
+ (m68hc11_eq_compare_operator): Declare
+ * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
+ * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
+ (d_register_operand): Check the operand mode.
+ (hard_addr_reg_operand): Likewise.
+
+ 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
+ pattern for dbcc/ibcc generation for 68HC12.
+ ("doloop_end"): New pattern.
+ ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
+ ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
+ ("m68hc12_dbcc_dec_qi"): New pattern.
+ ("m68hc12_dbcc_inc_qi"): New pattern.
+ (split): Add split for the above when we can't use dbcc/ibcc due to
+ reloading.
+ (peephole2): Add peephole2 to generate the above when possible.
+
+ 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
+ mode of operand 0.
+ (peephole2 optimize const load): Likewise for operand 2.
+ ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
+ clobbers CC_REGNUM.
+ ("*rotrhi3_with_carry"): Likewise.
+ (ashift:DI 1 split): Update pattern to create the above rotate.
+ (lshiftrt:DI 1 split): Likewise.
+
+ 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
+ ("tstqi_z_used" split): Use it.
+ ("cmphi_z_used"): Likewise.
+ ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
+ ("cmpqi_z_used"): Likewise.
+
+ 2003-04-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7910
+ * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
+
+ 2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
+ * configure, config.in: Regenerate.
+ * intl.c (gcc_gettext_width): New function.
+ * intl.h: Prototype it.
+
+ 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
+ recognize -mnorelax.
+ (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
+ (REG_CLASS_NAMES): Add its name.
+ (REG_CLASS_CONTENTS): Define its content.
+
+ 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
+ parameters so that offsets are valid for far definition.
+ (__mulsi3): Likewise and use ret to return.
+ (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
+
+ 2003-04-12 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
+
+ 2003-04-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * mklibgcc.in (libgcc-stage-start): For every multilib directory
+ containing a libgcc.a, move lib* to the corresponding stage dir.
+
+ * Makefile.in (stage1-start, stage2-start, stage3-start,
+ stage4-start): Move $(SPECS) to specs in stage dir.
+ (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
+ back as $(SPECS).
+
+ * mklibgcc.in (libgcc-stage-start): Move into the stage directory
+ object files from the non-libgcc/ multilib directories as well.
+
+ 2003-04-11 Geoffrey Keating <geoffk@apple.com>
+
+ * profile.c (read_counts_file): Initialise 'checksum'.
+
+ * emit-rtl.c (gen_rtx): Really correct typo.
+
+ PR c++/9393
+ * doc/invoke.texi (Debugging Options): Document -frandom-seed.
+ * configure.in: Check for gettimeofday.
+ * tree.c (flag_random_seed): Define.
+ (default_flag_random_seed): New.
+ (append_random_chars): Use flag_random_seed rather than trying
+ to acquire randomness here.
+ * tree.h (default_flag_random_seed): Declare.
+ * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
+ descriptions.
+ (decode_f_option): Handle -frandom-seed.
+ (print_switch_values): Call default_flag_random_seed.
+ * flags.h (flag_random_seed): Declare.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/alpha/t-crtfm: Use -frandom-seed.
+
+ * doc/extend.texi (Empty Structures): New.
+
+ * c-pch.c: Include flags.h. Add comments to routines.
+ (struct c_pch_validity): New.
+ (get_ident): Update PCH file version number.
+ (pch_init): Output current debugging type.
+ (c_common_valid_pch): Check debugging type.
+ * Makefile.in (c-pch.o): Update dependencies.
+ * flags.h (debug_type_names): Declare.
+ * toplev.c (debug_type_names): Move out of decode_g_option.
+
+ 2003-04-11 Eric Christopher <echristo@redhat.com>
+
+ * emit-rtl.c (gen_rtx): Fix typos.
+
+ 2003-04-11 Richard Henderson <rth@redhat.com>
+
+ * emit-rtl.c (gen_rtx): Zero '0' fields.
+
+ 2003-04-11 Richard Henderson <rth@redhat.com>
+
+ PR c++/10202
+ * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
+ not COMPLETE_TYPE_P for re-invoking layout_decl.
+
+ 2003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
+
+ * doc/bugreport.texi: Fix paragraph breaking between sections
+ in preparation for TeXinfo's paragraph indentation fixes.
+ * doc/extend.texi: Ditto.
+ * doc/invoke.texi: Ditto.
+ * doc/objc.texi: Ditto.
+ * doc/gcov.texi: Wrap 'gcov' in @command{}.
+ * doc/invoke.texi (Darwin Options): Add a preamble.
+
+ 2003-04-11 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (tls_model_chars): Remove.
+ (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
+ (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
+ (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ (tls_symbolic_operand_1): Likewise.
+ (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
+ * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
+ (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
+ * config/i386/winnt.c (i386_pe_encode_section_info): Replace
+ bits "copied from i386.h" with default_encode_section_info.
+
+ 2003-04-11 Richard Henderson <rth@redhat.com>
+
+ * rtl.def (SYMBOL_REF): Add two 0 fields.
+ * gengtype.c (adjust_field_rtx_def): Handle them.
+ * print-rtl.c (print_rtx): Print them.
+ * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
+ (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
+ (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
+ (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
+ (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
+ (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
+ (SYMBOL_FLAG_MACH_DEP): New.
+ * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
+ * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
+ (assemble_static_space): Set SYMBOL_REF_FLAGS.
+ (assemble_trampoline_template): Likewise.
+ (output_constant_def, force_const_mem): Likewise.
+ (default_encode_section_info): New.
+ * output.h: Declare it.
+ * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
+
+ 2003-04-11 Richard Henderson <rth@redhat.com>
+
+ * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
+ (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
+ * optabs.c (init_optabs): Initialize them.
+ (init_libfuncs): Use init_one_libfunc.
+ * calls.c (expand_call): Use gcov_flush_libfunc.
+ * expr.c (store_constructor): Use setbits_libfunc.
+ * function.c (expand_main_function): Use init_one_libfunc.
+ * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
+
+ 2003-04-11 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
+ documentation; add DECL_FRIEND_CONTEXT.
+
+ 2003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * doc/install.texi (hppa): Update links for HP-UX patches. Revise
+ notes on linker selection and configuration for 64-bit HP-UX port.
+ * doc/invoke.texi (hppa): Remove hppa text from description for
+ -ffunction-sections and -fdata-sections. Document -static, -nolibdld
+ and -threads options.
+
+ * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
+ libc.a on libdld.sl when -static is specified and -nolibdld is not
+ specified.
+ * pa64-hpux.h (LIB_SPEC): Likewise.
+ * pa-hpux11.h (LIB_SPEC): Likewise.
+ (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
+ is not specified.
+
+ 2003-04-11 Zack Weinberg <zack@codesourcery.com>
+
+ * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
+ not IDENTIFIER_LOCAL_VALUE.
+
+ 2003-04-11 Richard Henderson <rth@redhat.com>
+
+ PR c/10201
+ * expr.c (expand_expr): Move DECL_RTL frobbing ...
+ * stor-layout.c (layout_decl): ... here.
+
+ 2003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
+
+ * doc/invoke.texi: Eliminate extra white-space caused by
+ @gccoptlist{ on its own line.
+ * doc/invoke.texi: Ensured there are two spaces between each option.
+ * doc/invoke.texi: Re-wrapped option lines that were too wide.
+ Added @gol to options that didn't have them.
+
+ 2003-04-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
+ gcov-iov.h.
+
+ Simplify interface to gcov reading and writing.
+ * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
+ gcov_alloc, gcov_modified, gcov_errored): Move into ...
+ (struct gcov_var gcov_var): ... this static structure.
+ (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
+ Return void.
+ (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
+ read object.
+ (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
+ (gcov_reserve_length): Remove.
+ (gcov_write_tag): New.
+ (gcov_write_length): Adjust.
+ (gcov_read_summary, gcov_write_summary): Adjust.
+ (gcov_eof, gcov_ok): Rename to ...
+ (gcov_is_eof, gcov_is_error): ... here. Return error code.
+ (gcov_save_position, gcov_resync): Rename to ...
+ (gcov_position, gcov_seek): ... here.
+ (gcov_skip, gcov_skip_string): Remove.
+ (gcov_error): Remove.
+ (gcov_open, gcov_close): Adjust.
+ * gcov.c (find_source): Take const char *, copy it on allocation.
+ (read_graph_file): Adjust.
+ (read_count_file): Adjust.
+ * libgcov.c (gcov_exit): Adjust.
+ * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
+ tag_arc_counts, tag_summary): Return void. Adjust.
+ (struct tag_format): Adjust proc member.
+ (dump_file): Adjust gcov calls.
+
+ 2003-04-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
+ mkfixinc.sh.
+ * fixinc/mkfixinc.sh (defs): Add LIBERTY.
+ * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
+ build != host sysrooted builds.
+ * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
+ TARGET_SYSTEM_ROOT even on sysrooted natives.
+ * configure: Rebuilt.
+
+ 2003-04-10 Zack Weinberg <zack@codesourcery.com>
+
+ * c-decl.c (struct binding_level): Add shadowed_tags and
+ function_body; remove this_block, tag_transparent, and
+ subblocks_tag_transparent; update comments.
+ (clear_binding_level, lookup_tag_reverse): Kill.
+ (make_binding_level): Use ggc_alloc_cleared or memset.
+ (lookup_tag): Remove struct binding_level* parameter. All
+ callers changed. Just look at IDENTIFIER_TAG_VALUE, and
+ current_binding_level->tags if asked for thislevel_only or if
+ we might have to diagnose "struct foo; union foo;"
+ (pushlevel): Ignore argument. Do not push another binding
+ level on the transition from the parameters to the top level
+ of the function body; just tweak the flags and proceed.
+ (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
+ a function body, separate the parameter list from the
+ top-level local variables.
+ (set_block): Do nothing.
+ (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
+ shadowed_tags if necessary.
+ (warn_if_shadowing): Nuke the special case for local shadowing
+ parameter.
+ (pushdecl): Do not create a shadow entry if we are replacing
+ an older decl in the same binding level.
+ (pushdecl_function_level): Tweak for new way of indicating
+ function scope.
+ (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
+ (start_function): Don't set subblocks_tag_transparent.
+ (finish_function): Fix up the binding_level stack for totally
+ empty functions. Otherwise, don't call poplevel.
+
+ * c-common.c (shadow_warning): MANDATORY argument is no longer
+ necessary. Always use plain warning.
+ * c-common.h: Update to match.
+
+ * cfglayout.c (scope_to_insns_initialize): Clear block when we
+ hit the FUNCTION_DECL.
+ * function.c: Do not create cyclic tree structure.
+
+ 2003-04-10 Zack Weinberg <zack@codesourcery.com>
+
+ * c-tree.h (struct lang_identifier): Replace global_value,
+ local_value members with symbol_value, tag_value. Kill
+ implicit_decl and limbo_value.
+ (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
+ IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
+ C_MISSING_PROTOTYPE_WARNED): Kill.
+ (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
+ C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
+ (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
+ (implicit_decl_warning, lookup_name_current_level,
+ record_function_scope_shadow): Don't prototype.
+ (pushdecl_function_level): Prototype.
+
+ * c-decl.c (truly_local_externals): New variable.
+ (struct binding_level): Adjust commentary.
+ (get_function_binding_level, clear_limbo_values,
+ record_function_scope_shadow): Kill.
+ (lookup_name_current_level, implicit_decl_warning): Are now static.
+ (any_external_decl, record_external_decl): New static functions.
+ (clone_underlying type): Split out of pushdecl.
+ (c_print_identifier): Update to match changes to struct
+ lang_identifier.
+ (poplevel): Delete #if 0 block. Make externals invisible
+ instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
+ call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
+ IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
+ (duplicate-decls): For real parm decl after a forward decl,
+ set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
+ foo(...) { } with only a warning. Say whether a previous
+ declaration was implicit.
+ (warn_if_shadowing): Now handles all shadowing, not just
+ local-over-local. Clarify comments.
+ (pushdecl): Rewritten. There is no longer a distinction
+ between global and local symbol values; they're all
+ IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
+ DECL_EXTERNAL decls, and use any_external_decl to check
+ against previous externals. Kill #if 0 blocks. Don't
+ tolerate error_mark_node being NULL.
+ (pushdecl_top_level): Handle only those cases which
+ Objective C (the only user) needs.
+ (pushdecl_function_level): New function.
+ (implicitly_declare): Create ordinary decls with
+ C_DECL_IMPLICIT set. Recycle old decls, however they got
+ created.
+ (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
+ for C_DECL_INVISIBLE symbols.
+ (lookup_name_current_level): Likewise. Use chain_member.
+ (c_make_fname_decl): Don't muck with DECL_CONTEXT.
+ Use pushdecl_function_level.
+ (builtin_function): Use C_DECL_INVISIBLE.
+ (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
+ Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
+ (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
+ (identifier_global_value): Same. Must scan
+ global_binding_level in extremis.
+
+ * c-typeck.c (undeclared_variable): New static function, split
+ from build_external_ref.
+ (build_external_ref): Use DECL_CONTEXT, not
+ IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
+ an instance variable. Restructure for clarity.
+ * objc/objc-act.c: Use identifier_global_value, not
+ IDENTIFIER_GLOBAL_VALUE.
+
+ 2003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * doc/extend.texi (Template Instantiation): Refer to ISO standard,
+ not Working Paper.
+ * doc/invoke.texi (C++ Dialect Options): Same.
+
+ 2003-04-10 Zack Weinberg <zack@codesourcery.com>
+
+ * tree.c (tree_operand_check_failed): New function.
+ * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
+ TREE_RTL_OPERAND_CHECK): New checking macros.
+ (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
+ RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
+ CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
+ EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
+ EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
+ TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
+ checking macros.
+
+ Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR inline-asm/8803
+ * function.c (instantate_virtual_regs): Verify that all ASM statements
+ match after the virutal regs instantiation.
+
+ 2003-04-10 Steve Ellcey <sje@cup.hp.com>
+
+ * ia64-protos.h (addp4_optimize_ok): New.
+ * ia64.c (addp4_optimize_ok): New.
+ * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
+ (*ptr_extend_plus_2): Ditto.
+
+ 2003-04-10 Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
+ not with convert_memory_address.
+ (store_constructor): Ditto, and same for copy_size_rtx.
+ (expand_expr): Ditto.
+
+ 2003-04-10 Douglas B Rupp <rupp@gnat.com>
+
+ * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
+
+ 2003-04-10 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
+ even if it is configured to be write-through.
+
+ 2003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (larl_operand): Do not allow symbols
+ marked with '@'.
+ (s390_encode_section_info): Mark symbols with forced 1-byte
+ alignment with '@'.
+ (s390_strip_name_encoding): Strip '@'.
+ (legitimize_pic_address): Handle symbols that are not valid
+ LARL operands in 64-bit mode.
+
+ 2003-04-10 Andrew Haley <aph@redhat.com>
+
+ * tree-inline.c (inlinable_function_p): Disable inlining for
+ synchronized methods.
+
+ 2003-04-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-common.h (lang_statement_code_p): Remove declaration.
+ (statement_code_p): Ditto.
+ (c_common_stmt_codes): Define; list of c-common statement codes.
+ (statement_code_p): New extern declaration.
+ (STATEMENT_CODE_P): Define.
+ (INIT_STATEMENT_CODES): Define.
+ * c-common.c (statement_code_p): Kill the function, declare
+ as an array of bools instead.
+ (lang_statement_code_p): Remove.
+ (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
+ (c_safe_from_p): Ditto.
+ * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
+ to initialize the statement_code_p array.
+ * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
+ statement_code_p.
+ (copy_tree_r): Ditto.
+ * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
+ statement tree codes.
+ * cp/lex.c (cxx_init): Add missing print line break. Use
+ INIT_STATEMENT_CODES to initialize the statement_code_p array.
+ * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
+ instead of statement_code_p.
+ * cp/pt.c (tsubst_expr): Ditto.
+ * cp/tree.c (verify_stmt_tree_r): Ditto.
+ (cp_statement_code_p): Remove.
+ (init_tree): Don't set lang_statement_code_p, it's gone.
+
+ 2003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * regrename.c (struct du_chain): Use a bitfield for reg_class.
+ * cse.c (struct qty_table_elem, struct table_elt, struct set):
+ Use bitfields for fields holding enum rtx_code or
+ enum machine_mode values. Add comments explaining size choices.
+
+ 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/fp-bit.c (unpack_d): Handle pair of doubles with
+ different signs correctly.
+
+ 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ * sched-deps.c (reg_pending_barrier_mode): New enumeration.
+ (reg_pending_barrier): Make it of the enumeration type.
+ (sched_analyze_2): Define the barrier as MOVE_BARRIER or
+ TRUE_BARRIER.
+ (sched_analyze): Ditto.
+ (sched_analyze_insn): Ditto. Use anti-dependencies for
+ MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
+ (init_deps_global): Initialize the barrier as NO_BARRIER.
+
+ 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
+ Check that asm insn starts on a new cycle. Add nops after asm
+ insn to end bundle.
+ (bundling): Move insn type evaluation from the loop. Call
+ issue_nops_and_insn with the new parameter. Ignore changing
+ position for nops after asm insn.
+
+ 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * optabs.c: Comment that gen_add2_insn and others may actually
+ return emitted insns, if the gen functions turn out to return
+ emitted insns.
+ * reload1.c (reload_cse_move2add): Cope with emitted insns from
+ gen_add2_insn.
+
+ 2003-04-09 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
+ but not tls_symbolic_operand.
+ (ia64_expand_load_address): Remove scratch operand.
+ (ia64_expand_tls_address): Split out from ia64_expand_move.
+ (ia64_expand_move): Split symbolics only after reload.
+ (ia64_emit_cond_move): New.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
+ (symbolic splitter): Accept SImode operands too.
+ (cmove splitter): Use ia64_emit_cond_move.
+
+ 2003-04-09 Nick Clifton <nickc@redhat.com>
+
+ * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
+ newer.
+ * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
+ instead of -mno-fpu.
+ * config/arm/semi.h (ASM_SPEC): Likewise.
+ * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
+ but only if -msoft-float is specified pass. Otherwise pass
+ -mfpu=softvfp.
+
+ 2003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * function.c (purge_addressof): Use free_INSN_LIST_node instead of
+ free_EXPR_LIST_node.
+
+ 2003-04-08 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold): Use "fold" following build in more places.
+ Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
+ pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
+
+ 2003-04-08 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (fold_builtin): Constant fold expressions as x*0.5
+ instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
+ log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
+ pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
+ Delete function scope "fcode" variable to avoid shadowing.
+
+ 2003-04-08 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
+ Take into account DWARF_INITIAL_LENGTH_SIZE.
+
+ 2003-04-08 Hans-Peter Nilsson <hp@axis.com>
+
+ * reorg.c (fill_slots_from_thread): When considering changing the
+ insn following a reg-to-reg copy insn to use the source reg of the
+ copy, bail out if there's overlap between the registers.
+
+ 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * function.c (postponed_insns): New.
+ (purge_addressof_1): Postpone processing of insns if addressofs
+ are not put into stack.
+ (purge_addressof): Process postponed insns.
+
+ 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
+ this is FP_MODE_DOUBLE .
+ * sh.c (ra.h): #include.
+ (push_regs): Add second parameter. Changed all callers.
+ If necessary, set fpscr before saving floating point registers.
+ (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
+ do saves / restores with SZ == 1.
+ (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
+ (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
+ registers are being restored, restore FPSCR only after restoring them.
+
+ 2003-04-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
+ regardless of architecture.
+ (spe_init_builtins): Change V2SI and V2SF types to opaque types.
+
+ 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (push_regs, calc_live_regs): Return int. Take single
+ HARD_REG_SET * parameter. Changed all callers.
+
+ Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
+ GOTOFF operand.
+ (legitimize_pic_address): Move plus outside the unspec.
+ * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
+ for validity.
+
+ 2003-04-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcov-io.h (gcov_save_position): Remove __inline__ from
+ declaration.
+
+ 2003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * doc/install.texi: Use @command and @samp for single- and
+ multi-word commands respectively.
+ * doc/makefile.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+
+ 2003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+ Richard Henderson <rth@redhat.com>
+
+ PR c/9516
+ * expr.c (safe_from_p): Rearrange to avoid deep recursion in
+ favour of looping and tail recursion for TREE_LIST and binops.
+
+ 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
+ for insns without luid.
+
+ 2003-04-07 Glen Nakamura <glen@imodulo.com>
+
+ PR opt/8634
+ * explow.c (maybe_set_unchanging): Don't flag non-static const
+ aggregate type initializers with RTX_UNCHANGING_P.
+
+ 2003-04-07 Richard Henderson <rth@redhat.com>
+
+ PR opt/8634
+ * function.c (purge_addressof_1): Don't try arithmetics for
+ unchanging memories.
+
+ 2003-04-07 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test Suites): Document testing support for
+ gcov and profile-directed optimizations; describe gcc.misc-tests.
+
+ Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR target/10077
+ * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
+
+ 2003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/rtl.texi (Comparison operations): Update to
+ record the allowed comparison modes.
+
+ 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
+ V2SI_type_node to opaque_V2SI_type_node. Rename all
+ V2SF_type_node to opaque_V2SF_type_node.
+ (rs6000_init_builtins): Define opaque_V2SI_type_node and
+ opaque_V2SF_type_node.
+ (is_ev64_opaque_type): The types opaque_V2SI_type_node and
+ opaque_V2SF_type_node are opaque types.
+
+ 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * gcse.c (replace_store_insn): Use single_set.
+
+ 2003-04-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ Change gcov file interface to single file at a time.
+ * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
+ Convert to C89 prototypes.
+ (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
+ gcov_error, gcov_modified): New static variables.
+ (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
+ functions.
+ (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
+ gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
+ (gcov_read_summary, gcov_write_summary): Adjust.
+ (gcov_save_position, gcov_reserve_length, gcov_write_length):
+ Adjust.
+ (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
+ (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
+ (da_file_position, da_file_seek, da_file_write, da_file_read):
+ Remove.
+ (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
+ * gcov.c (gcov_type): Don't typedef here.
+ (IN_GCOV): #define
+ (read_graph_file, read_count_file): Adjust.
+ * gcov-dump.c (gcov_type): Don't typedef here.
+ (IN_GCOV): #define.
+ (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
+ Remove FILE parameter, adjust.
+ (struct tag_format): Adjust proc member.
+ (dump_file): Adjust.
+ * libgcov.c (IN_LIBGCOV): #define.
+ (gcov_exit): Adjust.
+ * loop-init.c: Don't #include gcov-io.h
+ * profile.c (struct counts_entry): New structure to hold counter
+ values.
+ (struct section_reference, struct da_index_entry): Remove.
+ (bbg_file, da_file): Remove.
+ (htab_counts_index_hash, htab_counts_index_eq,
+ htab_counts_index_del): Replace with ...
+ (htab_counts_entry_hash, htab_counts_entry_eq,
+ htab_counts_entry_del): ... these.
+ (cleanup_counts_index, index_counts_file): Remove.
+ (read_counts_file): New function.
+ (get_exec_counts): Adjust.
+ (compute_branch_probabilities): Don't free the exec counts here.
+ (branch_prob): Adjust.
+ (init_branch_prob): Adjust.
+ (end_branch_prob): Adjust.
+
+ 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ -mfloat-gprs.
+
+ * config/rs6000/rs6000.c: Delete rs6000_fprs.
+ Declare rs6000_float_gprs.
+ Declare rs6000_float_gprs_string.
+ (rs6000_parse_float_gprs_option): New.
+ (rs6000_override_options): Genericize rs6000_parse_* calls to use
+ rs6000_parse_yes_no_option.
+ Change check for cpu=8540, to use TARGET_E500.
+ (rs6000_parse_isel_option): Delete.
+ (rs6000_parse_spe_option): Delete.
+ (rs6000_parse_vrsave_option): Delete.
+
+ * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
+ Define rs6000_float_gprs_string.
+ (TARGET_OPTIONS): Add rs6000_float_gprs option.
+
+ * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
+
+ * config/rs6000/eabispe.h: Set rs6000_float_gprs.
+
+ Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR opt/10024
+ * cfglayout.c (cfg_layout_redirect_edge):
+ Redirect any branch edges unified with the fallthru one.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
+ case fallthru edges when called via cfglayout.c
+
+ 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * c-typeck.c (output_init_element): Check for type == error_mark_node.
+
+ 2003-04-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
+ split.
+ (a splitter): Do zero-extension via HImode.
+
+ 2003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
+
+ * doc/invoke.texi: Eliminate extra white-space caused by
+ @gccoptlist{ on its own line.
+ * doc/invoke.texi: Ensured there are two spaces between each option.
+ * doc/invoke.texi: Re-wrapped option lines that were too wide.
+ Added @gol to options that didn't have them.
+
+ 2003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
+
+ * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
+
+ 2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
+ at the sizes of the relevant structures, rather than relying
+ on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
+ sizes of any such we don't know about. Use
+ lang_hooks.identifier_size for IDENTIFIER_NODE.
+
+ (initializer_zerop): Use CONSTRUCTOR_ELTS.
+ * tree.def: Update commentary. Make fourth element of
+ the definition for all 'c' and 'x' nodes zero.
+
+ * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
+ * langhooks-def.h: Update to match.
+ * langhooks.c: New default, lhd_tree_size.
+
+ * c-common.def (SRCLOC): Kill.
+ * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
+ Remove entirely - was already #if-ed out.
+
+
+ 2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * mklibgcc.in: Use a here document to avoid running afoul of
+ shells that generate control-A from "echo \1".
+
+ 2003-04-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
+ option.
+
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
+ rs6000_spe.
+
+ * config/rs6000/eabi.h (TARGET_E500): Define.
+
+ * config/rs6000/rs6000.h (TARGET_E500): Define.
+ (TARGET_OPTIONS): Add spe= option.
+ Declare rs6000_spe and rs6000_spe_string extern.
+
+ * config/rs6000/rs6000.c (branch_positive_comparison_operator):
+ Change TARGET_SPE to TARGET_E500.
+ (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
+ !TARGET_FPRS.
+ (print_operand): Same.
+ (rs6000_generate_compare): Same.
+ (output_cbranch): Same.
+ (rs6000_spe): Declare.
+ (rs6000_spe_string): Declare.
+ (rs6000_override_options): Call rs6000_parse_spe_option.
+ (rs6000_parse_spe_option): New.
+
+ 2003-04-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * hashtable.c (gcc_obstack_init): Delete this function
+ and everything related to it.
+ * hashtable.h: Remove prototype.
+ * bitmap.c (bitmap_element_allocate): Cleanup redundant
+ defines. Cleanup some unnecessary whitespace.
+ * defaults.h (obstack_chunk_alloc): Redefine with
+ appropriate casts for libiberty obstacks.
+ (obstack_chunk_free): Ditto.
+ (OBSTACK_CHUNK_SIZE): Define, default to 0.
+ (gcc_obstack_init): Define as a call to _obstack_begin.
+ * tree.c (print_obstack_statistics): Delete this unused
+ function.
+ * tree.h (obstack): Don't forward-declare.
+ (print_obstack_statistics): Delete prototype.
+ (print_obstack_name): Ditto.
+ (gcc_obstack_init): Ditto.
+ * rtl.h (gcc_obstack_init): Ditto.
+ * java/jv-scan.c (gcc_obstack_init): Delete this
+ function, its prototype and related defines.
+ * java/jvgenmain.c (gcc_obstack_init): Delete this
+ function, and related defines.
+ * java/parse-scan.y (obstack_chunk_alloc): Don't define.
+ (obstack_chunk_free): Ditto
+
+ 2003-04-06 Geoffrey Keating <geoffk@apple.com>
+
+ * dbxout.c (dbxout_handle_pch): Move prototype out from
+ #if defined DBX_DEBUGGING_INFO.
+
+ 2003-04-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcov.c (struct arc_info): Replace local_span with cycle.
+ (struct block_info): Replace u.span with u.cycle. Add is_call_return.
+ (solve_flow_graph): Set is_call_return.
+ (add_line_counts): Adjust. In block mode, blocks attach to last line.
+ (accumulate_line_counts): Find graph cycles, not spanning tree.
+ (output_branch_count): Adjust.
+ (output_lines): Adjust.
+ * doc/gcov.texi: Update.
+
+ 2003-04-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
+ the second alternative to "#".
+
+ 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
+ (single_zero_operand): Likewise.
+
+ 2003-04-05 Daniel Berlin <dberlin@dberlin.org>
+
+ * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
+ * df.c: Include alloc-pool.h, not obstack.h.
+ (df_ref_obstack): Remove.
+ (df_ref_pool, df_link_pool): Add pools.
+ (df_alloc): Init the new pools.
+ (df_free): And free them.
+ (df_link_create): Use the pools.
+ (df_ref_create): Ditto.
+
+ 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * simplify-rtx.c: Fix formatting.
+
+ 2003-04-05 Andrew Pinski <apinski@apple.com>
+
+ * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
+ reg with reg1 == reg2 and offset1 = -8.
+
+ 2003-04-05 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
+ multiply costs. Correct Power4 divide costs.
+ * config/rs6000/power4.md: Restore multiply and FP latency.
+
+ 2003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * alias.c (find_base_term): Export.
+ * rtl.h (find_base_term): Declare.
+ * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
+ instead of flag_exceptions. Move test for parameter passing ...
+ (store_killed_in_insn): ... here.
+
+ 2003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ PR bootstrap/10267
+ * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
+ for configuring.
+
+ 2003-04-04 Geoffrey Keating <geoffk@apple.com>
+
+ * dbxout.c (scope_labelno): Add GTY.
+ (have_used_extensions): Add GTY.
+ (source_label_number): Add GTY.
+ (lastfile): Add GTY.
+ (lastfile_is_base): New.
+ (base_input_file): New.
+ (dbxout_handle_pch): New.
+ (dbx_debug_hooks): Add handle_pch.
+ (xcoff_debug_hooks): Likewise.
+ (dbxout_function_end): Remove scope_labelno.
+ (dbxout_init): Set base_input_file.
+ (dbxout_handle_pch): New.
+ (dbxout_source_file): Honour lastfile_is_base.
+ * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
+ * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
+ * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
+ * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
+ * debug.h (struct gcc_debug_hooks): Add handle_pch.
+ * c-pch.c (pch_init): Don't call start_source_file, but do call
+ handle_pch.
+ (c_common_write_pch): Call handle_pch.
+ (c_common_read_pch): Don't call start_source_file,
+ or end_source_file.
+
+ Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
+
+ * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
+ use of default attributes to agree MEM_ALIGN macro.
+
+ Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
+
+ * dbxout.c (dbxout_type): When printing type index of range type
+ whose bounds are printed in octal format, print type of parent type if
+ it exists so enumerated type descriptions are not transformed
+ into unsigned types.
+
+ 2003-04-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300-protos.h: Add a prototype for
+ compute_a_shift_cc.
+ * config/h8300/h8300.c (shift_one): Update the CC status.
+ (shift_two): Likewise.
+ (output_a_shift_cc): Set cc_inline and cc_special.
+ (compute_a_shift_cc): New.
+ * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
+
+ 2003-04-04 Richard Henderson <rth@redhat.com>
+
+ * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
+
+ 2003-04-04 Loren James Rittle <ljrittle@acm.org>
+
+ * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
+ * fixinc/fixincl.x: Rebuilt.
+ * fixinc/tests/base/stdio.h: Regenerated.
+
+ 2003-04-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcov.c (accumulate_line_counts): Fix span tree merge bug.
+
+ Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
+ (NORMAL_MODE).
+ * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
+
+ 2003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add entries for Wolfgang
+ Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
+ Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
+ Danny Smith, and Ulrich Weigand.
+ Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
+ entry.
+
+ 2003-04-04 Nick Clifton <nickc@redhat.com>
+
+ * config/sparc/sol2-bi.h: Revert previous delta.
+ * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
+
+ 2003-04-04 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.c (expand_prologue): Only use register save
+ helper functions if long calls are not being used.
+ Add a clobber of r11 id using long calls.
+ (pattern_is_ok_for_prologue): Account for the extra clobber.
+ (construct_save_jarl): Likewise.
+ * config/v850/v850.md (prolog pattern): Do not use this pattern
+ for v850e's.
+
+ 2003-04-04 Andreas Schwab <schwab@suse.de>
+
+ * stor-layout.c (layout_decl): Avoid syntax error in last change
+ when PCC_BITFIELD_TYPE_MATTERS is defined but not
+ EMPTY_FIELD_BOUNDARY.
+
+ 2003-04-03 Jason Merrill <jason@redhat.com>
+
+ PR c/10175
+ * jump.c (never_reached_warning): Revert patch of 2002-11-02.
+ Look backwards for a line note.
+
+ 2003-04-03 Neil Booth <neil@daikokuya.co.uk>
+
+ * fix-header.c (read_scan_file): Defer switch processing.
+
+ 2003-04-03 Matt Austern <austern@apple.com>
+
+ * cpppch.c (reset_ht): Remove.
+ (cpp_read_state): Remove loop to reset hashtable identifiers.
+ * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
+ after pch file is written.
+ * ggc.h (gt_pch_fixup_stringpool): Declare.
+ * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
+ hashnode's value to another hashtable, then clear the original.
+ (saved_ident_hash): Define.
+ (gt_pch_save_stringpool): Create saved_ident_hash, use it to
+ store definitions in ident_hash, and clear ident_hash.
+ (gt_pch_fixup_stringpool): Define. Restore definitions from
+ saved_ident_hash to ident_hash, then destroy saved_ident_hash.
+
+ Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
+
+ 2003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/10157
+ * gcse.c (can_copy_p): Rename it to can_copy.
+ (can_copy_init_p): Remove.
+ (compute_can_copy): Use can_copy instead of can_copy_p.
+ (can_copy_p): New exported function. Call compute_can_copy.
+ (hash_scan_set): Use it.
+ (gcse_main): Don't call compute_can_copy.
+ (bypass_jumps): Don't call compute_can_copy.
+ * rtl.h (can_copy_p): Declare.
+ * loop.c (scan_loop): Don't move the source and add a reg-to-reg
+ copy if the mode doesn't support copy operations.
+
+ 2003-04-03 Jason Merrill <jason@redhat.com>
+
+ * Makefile.in (unstrap): Also remove stage_last.
+
+ * dwarf2out.c (lookup_filename): Don't check for "<internal>".
+ (dwarf2out_source_line): Don't do anything if line==0.
+
+ * stor-layout.c (do_type_align): New fn, split out from...
+ (layout_decl): ...here. Do all alignment calculations for
+ FIELD_DECLs here.
+ (update_alignment_for_field): Not here.
+ (start_record_layout, debug_rli): Remove unpadded_align.
+ * tree.h (struct record_layout_info_s): Remove unpadded_align.
+ * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
+ or DECL_MODE on the CONST_DECLs.
+ (finish_struct): Don't mess with DECL_ALIGN.
+
+ Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
+
+ Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
+ function is an interrupt handler.
+
+ * sh.c (sh_expand_epilogue): Avoid clash of temp register for
+ restoring target registers with EH_RETURN_STACKADJ_RTX; use
+ multiple registers in round-robin fashion.
+
+ 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
+ * system.h (CHAR_BITFIELD): New.
+
+ 2003-04-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): Generalize to accept GT
+ and LE.
+ (another peephole2): Likewise.
+
+ 2003-04-03 Nick Clifton <nickc@redhat.com>
+
+ * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
+ (DEF_ARCH64_SPEC): Likewise.
+
+ Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (constant_address_p): Use legitimate_constant_p.
+ (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
+
+ 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300-protos.h: Add a prototype for
+ gtle_operator.
+ * config/h8300/h8300.c (gtle_operator): New.
+ * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
+ gtle_operator.
+ * config/h8300/h8300.md (a peephole2): Generalize to accept GT
+ and LE.
+
+ 2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * libgcc-std.ver (_Unwind_GetCFA): New.
+ * unwind-dw2.c (_Unwind_GetCFA): New.
+ * unwind-libunwind.c (_Unwind_GetCFA): New.
+ * unwind-sjlj.c (_Unwind_GetCFA): New.
+ * unwind.h: Declare it.
+
+ Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR inline-asm/8088
+ * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
+ when MMX/SSE is not available.
+
+ 2003-04-02 Mike Stump <mrs@apple.com>
+
+ * doc/install.texi (Specific): Update pointers to apple.com.
+
+ Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (override_options): Disable red zone by default on i386.
+ (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
+ Do not test TARGET_64BIT together with TARGET_RED_ZONE
+
+ 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): Tighten the condition.
+
+ 2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
+
+ 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): New.
+
+ 2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * except.c (sjlj_find_directly_reachable_regions): Recognize when
+ must-not-throw region has been deleted.
+
+ 2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
+ optimization when flag_exceptions not enabled.
+
+ 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/rs6000/rs6000.c
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
+ macros.
+ (rs6000_issue_rate): Add case for 8540.
+ (rs6000_use_sched_lookahead): New function.
+
+ * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
+ units into MU ones.
+ (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
+ reservation before retirement.
+ (ppc8540_multiply, ppc8540_load, ppc8540_store,
+ ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
+ Remove additional cycle in the reservation before retirement.
+ (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
+ reservation of ppc8540_issue.
+
+ 2003-04-02 Andreas Schwab <schwab@suse.de>
+
+ * real.c (decode_ieee_single): Fix decoding of SNaN bit.
+
+ 2003-04-01 Richard Henderson <rth@redhat.com>
+
+ * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
+ notes for nothrow calls if flag_forced_unwind_exceptions.
+ (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
+ (sjlj_find_directly_reachable_regions): Likewise.
+ (reachable_handlers): Likewise.
+ (can_throw_external): Likewise.
+ (collect_one_action_chain): Record cleanups after catch-all and
+ must-not-throw if flag_forced_unwind_exceptions.
+ * flags.h (flag_forced_unwind_exceptions): Declare.
+ * toplev.c (flag_forced_unwind_exceptions): New.
+ (lang_independent_options): Add it.
+ * doc/invoke.text: Add it.
+
+ 2003-04-01 David Mosberger <davidm@hpl.hp.com>
+
+ * config/ia64/crti.asm: Clean up trailing whitespace.
+ Remove trailing hashes (#) from identifiers.
+
+ * config/ia64/crtn.asm: Ditto.
+
+ * config/ia64/crtend.asm: Remove trailing hashes (#) from
+ identifiers.
+ (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
+ directives. Drop explicit bundling---it just makes the code
+ harder to read. Don't save/restore gp needlessly.
+
+ * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
+ identifiers (they're only needed if the identifier would clash
+ with a register name otherwise).
+ (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
+ directives. Drop explicit bundling---it just makes the code
+ harder to read.
+ (__do_jv_register_classes): Ditto.
+ (.fini_array): Remove "progbits" (newer
+ assemblers don't like wrong section-types).
+ (.init_array): Ditto.
+
+ 2003-04-01 Roger Sayle <roger@eyesopen.com>
+
+ PR fortran/9974
+ * gcse.c (reg_killed_on_edge): New function to test whether the
+ given reg is overwritten by any instruction queued on an edge.
+ (bypass_block): Ignore substitutions killed on incoming edges.
+ Don't bypass outgoing edges that have queued instructions.
+
+ 2003-04-01 Alexandre Oliva <aoliva@redhat.com>
+
+ * real.h (EXP_BITS): Make room for...
+ (struct real_value): ... added canonical bit.
+ (struct real_format): Added pnan.
+ (mips_single_format, mips_double_format, mips_extended_format,
+ mips_quad_format): New.
+ * real.c: Copy p to pnan in all formats.
+ (get_canonical_qnan, get_canonical_snan): Set canonical bit.
+ (real_nan): Use pnan to compute significand's shift.
+ (real_identical): Disregard significand in canonical
+ NaNs.
+ (real_hash): Likewise. Take signalling into account.
+ (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
+ Disregard significand bits in canonical NaNs. Set all bits of
+ canonical NaN if !qnan_msb_set.
+ (encode_ibm_extended, decode_ibm_extended): Likewise. Use
+ qnan_msb_set to tell the base double format.
+ (ibm_extended_format): Use 53 as pnan.
+ (mips_single_format, mips_double_format, mips_extended_format,
+ mips_quad_format): Copied from the corresponding ieee/ibm
+ formats, with qnan_msb_set false.
+ * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
+ * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
+ * config/mips/mips.c (override_options): Use mips_single_format
+ and mips_double_format. Default TFmode to mips_quad_format.
+ * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
+ * config/mips/t-irix6: Likewise.
+ * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
+ * config/fp-bit.c (pack_d, unpack_d): Obey it.
+
+ 2003-04-01 Geoffrey Keating <geoffk@apple.com>
+
+ * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
+ (live_image_destructor): Reset image to initial state.
+ (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
+
+ 2003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (input_operand): Accept bare
+ CONSTANT_P_RTX operands.
+
+ 2003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * gcse.c (struct ls_expr): Added pattern_regs field.
+ (ldst_entry): Initialize it.
+ (extract_mentioned_regs, extract_mentioned_regs_helper): New.
+ (store_ops_ok): Use regs precomputed by them.
+ (find_loads, store_killed_in_insn, load_kills_store): Change return
+ type to bool.
+ (store_killed_before, store_killed_after): Take position of register
+ set in account.
+ (reg_set_info): Store position of the setter.
+ (gcse_main): Enable store motion.
+ (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
+ (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
+ sharing.
+ (simple_mem): Enable store motion of non-symbol mems.
+ (regvec): Type changed.
+ (LAST_AVAIL_CHECK_FAILURE): New.
+ (compute_store_table_current_insn): New.
+ (build_store_vectors): Computation of availability and anticipatability
+ moved ...
+ (compute_store_table, find_moveable_store): ... here.
+ (delete_store): Remove senseless comment.
+ (store_motion): Reorganize.
+
+ 2003-04-01 Kevin Buettner <kevinb@redhat.com>
+
+ * config/mips/mips.c (override_options): Provide mappings for
+ HI_REGNUM and LO_REGNUM.
+ * config/mips/mips.h (MD_DBX_FIRST): Define.
+
+ 2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * combine.c (merge_outer_ops): Fix typo.
+
+ * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
+
+ 2003-04-01 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
+ power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
+ imul_compare. Add lmul_compare.
+ * config/rs6000/power4.md: Bump some latencies. Model extra cycle
+ in second pair of dispatch slots. Model stores more accurately.
+ Tweak multiply model. Add bypasses for CR instructions dependent
+ on complicated compares.
+ * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
+ (muldi3): Add lmul_compare patterns.
+ * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
+ and FPSTORE_UX to split instructions and add COMPARE,
+ DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
+ (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
+ (rs6000_rtx_costs): Separate POWER4 multiply case.
+
+ 2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_fixup_clobbered_return_reg):
+ Do nothing if __builtin_return_address was not used.
+
+ Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (test patterns): Allow memory operand in operand1.
+
+ 2003-02-31 Aldy Hernandez <aldyh@redhat.com>
+
+ * testsuite/gcc.c-torture/execute/simd-3.c: New.
+
+ * expr.c (expand_expr): Handle VECTOR_CST.
+ (const_vector_from_tree): New.
+
+ * varasm.c (output_constant): Handle VECTOR_CST.
+
+ * c-typeck.c (digest_init): Build a vector constant from a
+ VECTOR_TYPE.
+
+ * config/rs6000/rs6000.c: Remove prototype for
+ easy_vector_constant.
+ (easy_vector_constant): Add mode parameter. Rewrite to handle
+ more easy constants.
+ (rs6000_emit_move): Pass mode to easy_vector_constant.
+ Call emit_easy_vector_insn for SPE V2SI vector constant moves.
+ (emit_easy_vector_insn): New.
+ (easy_vector_same): New.
+ (EASY_VECTOR_15): New macro.
+ (EASY_VECTOR_15_ADD_SELF): New macro.
+ (bdesc_2arg): Rename to xorv2si3.
+ (easy_vector_constant_add_self): New.
+ (input_operand): Allow vector constants.
+
+ * config/rs6000/rs6000.h (PREDICATE_CODES): Add
+ easy_vector_constant, easy_vector_constant_add_self.
+ (EXTRA_CONSTRAINT): Add 'W'.
+
+ * config/rs6000/rs6000-protos.h: Add prototype for
+ easy_vector_constant, emit_easy_vector_insn.
+
+ * config/rs6000/altivec.md (xorv8hi3): New.
+ (xorv16qi3): New.
+ Remove all _const0 patterns.
+ (movv4si_internal): Rewrite to use code. Add vector constant to
+ vector alternative. Add splitter.
+ (movv8hi_internal): Same.
+ (movv16qi_internal): Same.
+ (movv4sf_internal): Same.
+ Change the unspecs for vspltis* to use constants.
+
+ * config/rs6000/spe.md ("xorv4hi3"): New.
+ ("spe_evxor"): Rename to xorv2si3.
+ ("xorv1di3"): New.
+ Remove all _const0 patterns.
+ (movv2si_internal): Rewrite to use code. Add vector constant to
+ alternatives. Add splitter.
+ (movv4hi_internal): Add vector constant to alternatives.
+ (movv1di_internal): Same.
+ (movv2sf_internal): Same.
+
+ 2003-03-31 Mark Mitchell <mark@codesourcery.com>
+
+ PR c/9936
+ * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
+ variably-sized arrays in parameters.
+ (set_save_expr_context): New function.
+ (c_expand_body): Use it, via walk_tree.
+
+ 2003-03-31 Eric Christopher <echristo@redhat.com>
+
+ * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
+ (combinable_i3pat): Remove call to expand_field_assignment and
+ #if 0'd code.
+
+ 2003-03-31 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10278
+ * c-common.c (finish_label_address_expr): Handle the
+ error_mark_node.
+
+ 2003-03-31 Richard Henderson <rth@redhat.com>
+
+ * real.c (real_identical): Reorg so as to not compare
+ signalling for normals.
+
+ 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
+
+ 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
+ notes as they are boggus.
+ (m68hc11_gen_movqi): Likewise.
+
+ 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
+ save the soft registers after the frame pointer so that gdb can unwind
+ the frame more easily.
+ (expand_epilogue): Likewise in opposite order; allow to use X register
+ as scratch if the return value is by reference.
+
+ 2003-03-31 Jason Merrill <jason@redhat.com>
+
+ PR java/10145
+ * stor-layout.c (update_alignment_for_field): Respect
+ DECL_USER_ALIGN for zero-length bitfields, too.
+ * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
+ fields.
+
+ 2003-03-31 Matt Austern <austern@apple.com>
+
+ * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
+ (count_defs): Keep track of number of defs as well as total size.
+ (write_defs): Put every definition in cpp_savedstate's defs array.
+ (comp_hashnode): Define. Comparison function for qsort.
+ (cpp_write_pch_deps): Sort definitions before writing them.
+ (struct ht_node_list): Define. Like cpp_savedstate but simpler.
+ (collect_ht_nodes): Define.
+ (cpp_valid_state): When verifying that undefined identifiers in
+ the pch file are still undefined, read a sorted list of undefined
+ identifiers, collect all defined identifiers into a sorted list,
+ and walk through both lists to make sure there's no match.
+
+ 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): New.
+
+ 2003-03-31 Michael Matz <matz@suse.de>
+
+ * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
+
+ 2003-03-31 Segher Boessenkool <segher@koffie.nl>
+
+ PR target/10177
+ * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
+ * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
+ all call-clobbered registers as used.
+
+ 2003-03-31 Michael Matz <matz@suse.de>
+
+ * cppexp.c (cpp_classify_number): Accept '.' after "0x".
+ * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
+
+ 2003-03-31 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcov.c: Add -a & -u options.
+ (struct arc_info): Add local_span, is_call_non_return,
+ is_nonlocal_return, is_unconditional flags, remove is_call flag.
+ (struct block_info): Add flags, is_call_site, is_nonlocal_return
+ members. Make encodings a union with span member.
+ (struct function_info): Add blocks_executed, line, src, line_next
+ members.
+ (struct coverage_info): Make branches a union with blocks member.
+ (struct source_info): Add functions member.
+ (object_summary, program_count): New global variables.
+ (flag_all_blocks, flag_unconditional): New flags.
+ (find_source, output_branch_count): New functions.
+ (print_usage): Adjust.
+ (options): Adjust.
+ (process_args): Adjust.
+ (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
+ <GCOV_TAG_BLOCKS>: Read flags.
+ <GCOV_TAG_LINES>: Adjust.
+ (read_count_file): Process SUMMARY tags.
+ (solve_flow_graph): Set is_unconditional and clear is_call_site
+ appropriately.
+ (add_branch_counts): Adjust. Don't count unconditional branches.
+ (add_line_counts): Deal with all-blocks mode, accumulate block
+ coverage.
+ (accumulate_line_counts): Adjust, generate local spanning tree for
+ all-blocks mode.
+ (output_lines): Adjust.
+ * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
+ * doc/gcov.texi: Document.
+
+ 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md: Organize peephole2's that transform
+ (compare (reg:HI) (const_int)).
+
+ 2003-03-31 Roger Sayle <roger@eyesopen.com>
+
+ * emit-rtl.c (dconstm2, dconsthalf): New real constants.
+ (init_emit_once): Initialize dconstm2 and dconsthalf here.
+ * real.h (dconstm2, dconsthalf): Add prototypes here.
+ * real.c (real_sqrt): Use dconsthalf rather than local copy.
+ * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
+ exp(x/2.0) remember to fold the division if possible.
+ Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
+ pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
+ 1.0/(x*x) and pow(x,0.5) as sqrt(x).
+
+ 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a new peephole2): New.
+
+ 2003-03-31 Richard Sandiford <rsandifo@redhat.com>
+
+ * gcse.c (simple_mem): Return false for floating-point accesses
+ if flag_float_store is true.
+
+ 2003-03-30 Roger Sayle <roger@eyesopen.com>
+
+ * gcse.c (gcse_constant_p): New function to identify constants
+ suitable for constant propagation, including COMPARE with two
+ integer constant arguments.
+ (hash_scan_set): Use gcse_constant_p.
+ (find_avail_set): Likewise.
+ (cprop_insn): Likewise.
+ (do_local_cprop): Likewise.
+ (find_implicit_sets): Likewise.
+ (find_bypass_set): Likewise.
+
+ 2003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * except.h: Remove definition of varray_type.
+
+ 2003-03-30 Richard Henderson <rth@redhat.com>
+
+ PR opt/10011, opt/10252:
+ * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
+ before post-gcse cse pass.
+
+ 2003-03-30 Roger Sayle <roger@eyesopen.com>
+
+ * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
+
+ 2003-03-30 DJ Delorie <dj@redhat.com>
+
+ * profile.c (instrument_edges): Make sure any newly created
+ jump insns have correct jump label info.
+
+ 2003-03-30 Richard Henderson <rth@redhat.com>
+
+ * cfgbuild.c (make_edges): Use tablejump_p.
+ * cfgcleanup.c (label_is_jump_target_p): Likewise.
+ * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
+ * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
+ (try_redirect_by_replacing_jump): Likewise.
+ (redirect_edge_and_branch): Likewise.
+ * cse.c (fold_rtx): Likewise.
+ * jump.c (delete_related_insns): Likewise.
+ * rtlanal.c (get_jump_table_offset): Likewise.
+ * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
+
+ 2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
+ (STRICT2_WARN): Likewise.
+
+ 2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR other/6955
+ * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
+ * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
+
+ 2003-03-30 Richard Henderson <rth@redhat.com>
+
+ PR c/10083
+ * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
+ don't zero_extend const inputs.
+
+ 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reload1.c (reload_cse_move2add): Fix a comment typo.
+
+ 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): Remove useless code.
+
+ 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*iorsi3_and_ashift): New.
+ (*iorsi3_and_lshiftrt): Likewise.
+ (*iorsi3_zero_extract): Likewise.
+
+ 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*insv_si_8_8): New.
+ (*insv_si_8_8_lshiftrt_8): Likewise.
+ (a peephole2): Likewise.
+
+ 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
+ Uniformly use bugfix instead of bug fix.
+
+ 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ PR doc/895
+ * ONEWS: Remove those items that already appear in the EGCS
+ release notes on our web pages.
+
+ 2003-03-29 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
+ TARGET_HARD_FLOAT. Reformat.
+ (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
+
+ 2003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
+
+ * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
+ work on Solaris 2.5.1.
+
+ 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
+ section of h8300.md
+ (*addsi3_and_nor_r_1): Likewise.
+
+ 2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
+ set up before any trapping memory access if flag_non_call_exceptions.
+
+ 2003-03-29 Alan Modra <amodra@bigpond.net.au>
+
+ * reload1.c (reload_as_needed): Allow a USE in asm reloads.
+
+ * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
+
+ 2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * configure.in: Clarify comments.
+ * configure: Regenerate.
+
+ 2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("literal_pool_31"): Output pool anchor
+ label even if pool empty when generating PIC.
+ ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
+
+ 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
+ Dhananjay Deshpande <dhananjayd@kpit.com>
+
+ PR target/10205
+ * config/h8300/h8300.c (h8300_initial_elimination_offset):
+ Correct the offset computation when TARGET_NORMAL.
+
+ 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/10067
+ * config/sparc/sparc.md (jump pattern): Correct order
+ when issuing the annuling marker.
+
+ 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/8281
+ * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
+ (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
+
+ 2003-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
+ globalize_label.
+ * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ * config/v850/v850.c (v850_output_aligned_bss): Likewise.
+
+ 2003-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
+ (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
+ notes after hoisting.
+ (load_mems): Adjust replace_loop_mems call.
+
+ 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/10114 and PR target/10084
+ * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
+
+ 2003-03-27 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
+
+ 2003-03-27 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_inf_compare): New function to simplify FP
+ comparisons against +Infinity or -Infinity.
+ (fold): Optimize floating point comparisons against Infs and NaNs.
+
+ 2003-03-27 Janis Johnson <janis187@us.ibm.com>
+
+ * libgcov.c: Provide only dummy functions if libc is not available.
+
+ 2003-03-27 Richard Henderson <rth@redhat.com>
+
+ * real.h (struct real_value): Add signalling.
+ (EXP_BITS): Decrement.
+ * real.c (get_canonical_qnan): Don't set MSB-1.
+ (get_canonical_snan): Likewise. Set signalling.
+ (real_identical): Compare signalling.
+ (round_for_format): Remove force-one-bit on code.
+ (real_nan): Likewise. Set signalling.
+ (encode_ieee_single): Add force-one-bit code; honor signalling.
+ (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
+ (decode_ieee_single): Set signalling.
+ (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
+
+ 2003-03-27 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/9953
+ * ada/Makefile.in (gnatlib configuration for HPUX): Split
+ the general section for HPUX into specific sections for
+ HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
+ 11 case.
+
+ 2003-03-27 Glen Nakamura <glen@imodulo.com>
+
+ PR opt/10087
+ * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
+ while incrementing giv.
+ (record_biv): Check for duplicate biv locations and
+ set (struct induction *) v->same if found.
+
+ 2003-03-27 David Mosberger <davidm@hpl.hp.com>
+
+ * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
+ v0.9 API change: replace read of UNW_REG_HANDLER with
+ unw_get_proc_info().
+ (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
+ with unw_get_proc_info().
+ (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
+ unw_get_proc_info().
+
+ 2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/rs6000/8540.md: Use presence_set instead of absence_set.
+
+ 2003-03-26 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
+
+ 2003-03-26 Roger Sayle <roger@eyesopen.com>
+
+ PR bootstrap/10051, PR bootstrap/10169.
+ * mips-tfile.c (init_file): Don't provide a static initializer.
+ (initialize_init_file): Initialize the contents of init_file.
+ (add_file): Call initialize_init_file if not already initialized.
+
+ 2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
+ registers used for global asm variables.
+ (s390_frame_info, s390_arg_frame_offset): Likewise.
+ (s390_emit_prologue, s390_emit_epilogue): Likewise.
+
+ 2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/rs6000/8540.md: New file.
+
+ * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
+ power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
+ reservations for imul.
+
+ * config/rs6000/rs6000.md: Include 8540.md. Change
+ delayed_compare onto mult_compare for insns generating
+ multiplication.
+ (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
+ New type attribute values.
+
+ * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
+ fpsimple instead of fp.
+ (*divsf3_gpr): Use type vecfdiv instead of fp.
+ (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
+ instead of vecfloat.
+ (spe_evfsdive): Use type vecfdiv instead of vecfloat.
+ (spe_brinc): Use type brinc instead of veccomplex.
+ (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
+ veccomplex.
+ (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
+ (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
+ *movv2sf_internal): Define type attribute values for all
+ alternatives.
+ (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
+ of fpcompare.
+ (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
+ instead of fpcompare.
+
+ 2003-03-26 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/power4.md: Allow delay between dispatch and
+ function units for simple instructions. Correct store units.
+ Allow branch to occupy as many dispatch slots as necessary.
+
+ 2003-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
+ (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
+ zero extend old to it.
+ * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
+ operand.
+
+ 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/7784
+ * reload.c (find_reloads_address): Handle
+ (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
+ all base registers.
+
+ 2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
+
+ PR other/10203
+ * version.c: Reference the GCC web site in the URL.
+
+ 2003-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * c-incpath.c (add_standard_paths): Add both "translated" and
+ non-translated header paths.
+
+ 2003-03-25 Loren James Rittle <ljrittle@acm.org>
+
+ * doc/install.texi (*-*-freebsd*): Update with known status.
+
+ 2003-03-21 Jason Merrill <jason@redhat.com>
+
+ PR optimization/10171
+ * unroll.c (unroll_loop): Don't delete the jump at the end unless
+ we also delete a jump at the beginning.
+
+ 2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
+
+ * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
+ contributor.
+
+ Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
+ constants are not expensive.
+
+ Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ PR opt/10056
+ * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
+ jump jumping to the next instruction.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+
+ 2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/passes.texi (Passes): Properly document that we do not
+ perform jump2 any longer; remove command-line option -dJ.
+
+ 2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/8746
+ * config/i386/i386.md (and promoting splitters): Disable HImode to
+ SImode promoting when the sign bit matters and is not preserved, or
+ when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
+ for size.
+
+ 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): Extend to support loads
+ in QImode and HImode.
+
+ 2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
+ _return_far
+ (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
+ (MULTILIB_EXCEPTIONS): Likewise.
+ * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
+ by calling some board support routine.
+ ("call_value"): Likewise.
+ ("*return_void"): Likewise for return.
+ ("*return_16bit"): Likewise.
+ ("*return_32bit"): Likewise.
+ * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
+ for 68HC11 too.
+ (DWARF2_ADDR_SIZE): Use 4 so that addresses can
+ * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
+ -mlong-calls for 68HC11.
+ * config/m68hc11/larith.asm (declare_near): New macro.
+ (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
+ (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
+ (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
+ (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
+ (__mulhi32): Likewise.
+ (ret): Update macro for 68HC11.
+ (__far_trampoline): Implement for 68HC11.
+ (__call_a16, __call_a32, __return_void, __return_16): New support
+ routines for 68HC11 memory bank switching calling support.
+ (__return_32): Likewise.
+
+ 2003-03-24 Neil Booth <neil@daikokuya.co.uk>
+
+ * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
+
+ 2003-03-24 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Testing): Mention test result links from build
+ status pages.
+
+ 2003-03-24 Mark Mitchell <mark@codesourcery.com>
+
+ * function.c (put_var_into_stack): Change bool parameter to int.
+ (gen_mem_addressof): Likewise.
+ * rtl.h (gen_mem_addressof): Likewise.
+ * tree.h (put_var_into_stack): Likewise.
+ * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
+ gen_mem_addressof or put_var_into_stack.
+ * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+ * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
+
+ 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): New.
+
+ 2003-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
+
+ 2003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Update Janis Johnson.
+
+ 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/10072
+ * combine.c (simplify_if_then_else): Check that the mode
+ has MODE_INT class before applying the (OP Z (mult COND C2))
+ transformation.
+
+ 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9414
+ * config/sparc/sparc.md (widening peepholes): Use
+ widen_memory_access instead of change_address.
+
+ 2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * c-typeck.c (c_mark_addressable): Adjust calls to
+ put_var_into_stack.
+ * expr.c (expand_expr): Likewise.
+ * function.c (put_var_into_stack): Add rescan parameter. Do not
+ call fixup_var_refs when rescan is false.
+ (gen_mem_addressof): Likewise.
+ (assign_parms): Adjust calls to put_var_into_stack.
+ (setjmp_protect): Likewise.
+ (setjmp_protect_args): Likewise.
+ * rtl.h (gen_mem_addressof): Change prototype.
+ * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
+ * tree.h (put_var_into_stack): Change prototype.
+
+ 2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
+
+ PR middle-end/9967
+ * builtins.c (expand_builtin_fputs): When optimizing for size,
+ don't transform fputs into fwrite.
+
+ 2003-03-23 Glen Nakamura <glen@imodulo.com>
+
+ PR c/8224
+ * fold-const.c (extract_muldiv_1): Don't pass through type conversions
+ when signedness changes for division or modulus.
+
+ 2003-03-24 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
+ globalize_label.
+
+ 2003-03-23 Roger Sayle <roger@eyesopen.com>
+
+ PR c/10178
+ * stmt.c (expand_end_case_type): Check for overflow in range when
+ determining whether to use a bit-test implementation.
+
+ 2003-03-23 Richard Henderson <rth@redhat.com>
+
+ * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
+ before flow2.
+ * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
+
+ 2003-03-23 Richard Henderson <rth@redhat.com>
+
+ PR opt/10116
+ * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
+ from then_bb or else_bb after flow2.
+
+ 2003-03-23 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.in: Check whether it is necessary to link against
+ libm to use ldexp.
+ * configure: Regenerate.
+ * Makefile.in: Add LDEXP_LIB substitution variable.
+
+ 2003-03-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md: Fix comment typos.
+
+ 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (output_cbranch): Fix typo in comment.
+
+ 2003-03-22 Richard Henderson <rth@redhat.com>
+
+ * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
+ after reload.
+
+ 2003-03-22 DJ Delorie <dj at redhat dot com>,
+ Bruce Korb <bkorb at gnu dot org>
+
+ * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
+ buggy Solaris 2.6 mutex/cond initializers.
+ (solaris_mutex_init): Rename to solaris_mutex_init_2.
+ * fixinc/fixincl.x: Regenerate.
+ * fixinc/tests/base/pthread.h: Update.
+ * fixinc/fixincl.c(initialize): be explicit about the default case
+ and indicate verbose level when being very, very verbose.
+ * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
+
+ 2003-03-22 Andreas Jaeger <aj@suse.de>
+
+ * config/i386/i386.c (ix86_init_machine_status): Return value.
+
+ 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
+ conditional branch to the following instruction. Use next_real_insn
+ instead of next_active_insn.
+ (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
+ instead of next_active_insn.
+
+ 2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
+ instead of 'm' constraint in forced-split alternatives.
+ ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
+ VALIDATE_ADDRESS parameter to operand_subword.
+
+ 2003-03-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (notice_update_cc): Correctly handle
+ the case where the set destination is STRICT_LOW_PART.
+
+ 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
+ c30 instead of a c40 processor.
+
+ 2003-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
+
+ 2003-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * c-common.c: Include intl.h.
+ (shadow_warning): Rewrite to allow better diagnostic translations.
+ * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
+ * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
+ use it throughout.
+ * Makefile.in (c-common.o): Add intl.h.
+
+ 2003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Remove 'float_format'.
+
+ * fixproto: Define NULL and size_t in generated stdlib.h and
+ unistd.h. Kill unused required_stdlib_h, required_unistd_h.
+ Rearrange file generation loop for readability. Generate time.h,
+ string.h if missing.
+ * tsystem.h: Include <string.h>, unconditionally.
+ * config.gcc: Blow away POSIX defines.
+
+ 2003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * tree.c (substitute_in_expr, case 'e'): Only make recursive call
+ on operands if it has a PLACEHOLDER_EXPR.
+
200303210250.int | crafty.peak+0.815306% | | | |
+ 2003-03-20 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (extract_muldiv_1): Revert changing order of
+ operands in case MULT_EXPR of 2003-02-16 patch.
+
+ 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
+ Merge changes from new-regalloc-branch
+
+ From Michael Matz <matz@suse.de>
+ * df.c (df_ref_record_1): Move init of loc to safe point.
+ Only recurse on interesting things in parallels.
+ Handle CLASS_CANNOT_CHANGE_MODE smarter.
+ (df_uses_record): Ditto.
+
+ * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
+ it's already okay to use memory operands in (IE doesn't require
+ adding another insn or anything).
+
+ 2003-03-20 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/6348
+ * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
+ different from word_mode.
+
+ 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
+ source operand to those that can be extracted with bld.
+
+ 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
+
+ PR 10066
+ * arm.md (UNSPEC_PIC_BASE): New constant.
+ (pic_add_dot_plus_four): Wrap with unspec.
+ (pic_add_dot_plus_eight): Likewise.
+
+ 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*insv_si_1_n): New.
+ (*insv_si_1_n_lshiftrt): Likewise.
+
200303201823.int | | | | crafty.peak+0.124204% |
+ 2003-03-20 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_mathfn_compare): New function to simplify
+ comparisons against built-in math functions. Fold comparisons
+ of sqrt against constants.
+ (fold): Call fold_mathfn_compare when appropriate.
+
+ 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
+ information.
+
+ 2003-03-20 Per Bothner <pbothner@apple.com>
+
+ Various cleanups to help compile server.
+
+ * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
+ and pass that to _cpp_init_hashtable.
+ (cpp_read_main_file): Drop hash_table* argument; don't call
+ _cpp_init_hashtable.
+ * cpplib.h: Update declarations to match.
+ * c-opts.c (c_common_init_options): Pass ident_hash to
+ cpp_create_reader.
+ (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
+ * fix-header.c (read_scan_file): Likewise pass NULL table to
+ cpp_create_reader rather than cpp_read_main_file.
+
+ * cppfiles.c (cpp_rename_file): Generalized and renamed
+ to cpp_change_file.
+ * cpplib.h: Update declaration to match.
+ * c-opts.c (push_command_line_line, finish_options): Change
+ cpp_rename_file calls to cpp_change_file.
+
+ * line-map.c (add_line_map): Allow leaving the outermost file.
+ Allowing entering an outermost-file after the initial time.
+
+ * toplev.c (pop_srcloc): Allow popping from initial file.
+
+ 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
+
+ * fold-const.c (fold): Fold A - (A & B) into ~B & A.
+
+ 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): New.
+
+ 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*addsi3_and_r_1): New.
+ (*addsi3_and_not_r_1): Likewise.
+
200303200126.int | gap.base+1.88288% | vortex.base-1.26694% | eon.peak-0.247864% vortex.peak-0.101477% | |
+ 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
+ langhooks-def.h (lhd_tree_dump_dump_tree),
+ langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
+ Change return type from 'int' to 'bool'. Replace 0 and 1 with
+ true and false in return statements.
+
+ 2003-03-19 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
+ (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
+ DWARF_INITIAL_LENGTH_SIZE.
+ (output_compilation_unit_header, output_pubnames, output_aranges)
+ (output_line_info): Output 0xffffffff escape value for 64-bit
+ DWARF extension.
+ * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
+
+ 2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_preferred_reload_class): Do not
+ force constants to the pool unless necessary.
+ (s390_decompose_address): Prefer to use pointer as base,
+ not index register.
+ * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
+ Q alternative.
+ ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
+ "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
+ ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
+ "*zero_extendqisi2_31", "*zero_extendqihi2_31",
+ "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
+
+ Wed Mar 19 11:28:45 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (machine_function): New fields use_fast_prologue_epilogue.
+ * i386.c (use_fast_prologue_epilogue): Remove.
+ (ix86_frame): New field save_regs-using_mov;
+ (ix86_compute_frame_layout): Decide on fast prologues;
+ allocate saved registers in red zone.
+ (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
+
200303171408.int | | eon.base-2.57284% | eon.peak-0.2631% eon.base-0.266751% | |
+ 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
+ (c_common_init): Set EBCDIC in cpp options.
+ * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
+ not conditional compilation.
+ * cpplib.h (struct cpp_options): New entry EBCDIC.
+
+ 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
+
+ * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
+
+ 2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
+ argument to 0 for redirect_jump.
+
+ 2003-03-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8805
+ * except.c (eh_region_u_cleanup): Add prev_try.
+ (expand_eh_region_end_cleanup): Set it.
+ (reachable_handlers): Use it to skip over cleanup blocks.
+
+ 2003-03-17 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
+
+ 2003-03-17 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
+ (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
+ (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
+ (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
+
200303170539.int | vortex.base+1.30055% | twolf.peak-0.968575% | | |
+ 2003-03-16 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx (simplify_binary_operation): Don't abort for
+ SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
+
+ 2003-03-16 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
+ optimize_size as well.
+
+ 2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
+ for D register to specify the low part of it, aka B.
+ (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
+ the register if we are loading 1 or -1 to it; avoid using temp
+ register when moving X/Y to Y/X.
+ (m68hc11_gen_movqi): Likewise.
+ (m68hc11_check_z_replacement): Fix last insn setting for compare case.
+
+ 2003-03-14 Mark Mitchell <mark@codesourcery.com>
+
+ PR optimization/9016
+ * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
+ into the constant pool.
+
+ 2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR target/9164
+ * tree.c (get_narrower): For extensions with unchanged bit number,
+ return the unsignedness of the outer mode.
+
200303150649.int | | | | gcc.base+0.197343% |
+ 2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ PR optimization/9387
+ * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
+ for conditional returns.
+
+ 2003-03-14 Jason Merrill <jason@redhat.com>
+
+ PR optimization/6871
+ * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
+
+ 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-opts.c (finish_options): New.
+ (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
+ (missing_arg): Handle OPT_include and OPT_imacros.
+ (c_common_init, c_common_parse_file): Use finish_options.
+ (handle_deferred_opts): Update.
+ * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
+ (cpp_finish_options): Don't handle -imacros here.
+ (no_fil): Remove.
+ (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
+
+ 2003-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
+ rs6000_maybe_dead if !fromprolog.
+
+ 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in: Update.
+ * c-common.h (fe_file_change, pp_file_change): New.
+ * c-lex.c (init_c_lex): Don't set cb_file_change.
+ (c_common_parse_file): Move to c-opts.c.
+ (cb_file_change): Rename fe_file_change.
+ * c-opts.c: Include debug.h.
+ (warn_unused_macros, include_cursor): New.
+ (push_command_line_include, cb_file_change): New.
+ (COMMAND_LINE_OPTIONS): Handle -include.
+ (c_common_decode_option): Use local warn_unused_macros.
+ Handle OPT_include.
+ (c_common_post_options): Set file change callback.
+ (handle_deferred_opts): Skip -include. Don't free the array.
+ (c_common_init): Call cpp_finish_options here, and push an
+ initial -include file.
+ * c-ppoutput.c (cb_file_change): Rename pp_file_change.
+ (preprocess_file): Don't call cpp_finish_options.
+ (init_pp_output): Don't set the file change callback.
+ (pp_file_change): Return if no line commands or no output.
+ * cpphash.h (next_include_file, first_unused_line): Remove.
+ * cppinit.c (include_head, include_tail): Remove.
+ (cpp_destroy): Don't free -include chain.
+ (cpp_finish_options): Don't handle -include, or worry about
+ -Wunused-macros.
+ (_cpp_maybe_push_include_file): Remove.
+ (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
+ * cpplib.c (_cpp_pop_buffer): Don't handle -include.
+ * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
+ Used flag is set based upon the state of the warn_unused_macros
+ flag, and so use of first_unused_line is unnecessary.
+
+ Thu Mar 13 18:39:42 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * cselib.c (clear_table): Do not take argument; always clear just
+ used slots.
+ (cselib_process_insn): Update call of clear_table
+ (cselib_init): Do not call clear_table.
+ (cselib_finish): Clear table.
+
+ * cse.c (count_reg_usage): Do not check side_effects_p.
+ * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
+ like noop.
+ (find_reg_equal_equiv_note): Do not use find_reg_note.
+
200303121057.int | gap.base+0.81176% vortex.peak+1.63166% bzip2.peak+0.855635% | | mcf.peak-0.109174% gap.base-0.111101% | gzip.peak+0.22541% vpr.peak+0.646658% crafty.peak+0.405258% parser.peak+0.100857% eon.peak+0.685281% perlbmk.peak+0.574976% vortex.peak+0.373455% bzip2.peak+1.36364% twolf.peak+0.430923% |
+ 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/9928
+ * c-decl.c (duplicate_decls): Discard the initializer of the new decl
+ only if it is a VAR_DECL.
+
+ 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9888
+ * config/i386/i386.md (jcc_1): Fix range.
+ (jcc_2): Likewise.
+ (jump): LIkewise.
+ (doloop_end_internal): Likewise.
+
+ 2003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
+ Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
+ (DLL_EXPORT_PREFIX): New define. Use throughout instead of
+ DLL_IMPORT_EXPORT_PREFIX and "i."
+ (i386_pe_dllexport_name_p): Here.
+ (i386_pe_dllimport_name_p): Here.
+ (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
+ not 9 chars when getting identifier name.
+ (i386_pe_mark_dllimport): Here.
+ (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
+ not 9 chars when getting identifier name. Correct comment.
+ (i386_pe_strip_name_encoding): Here. Add comments for different
+ cases.
+ (gen_fastcall_suffix): Break down xmalloc() argument to
+ components.
+ (gen_stdcall_suffix): Likewise.
+ Update copyright year.
+
+ 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9888
+ * config/i386/i386.md (movsi_1): Remove special alternatives
+ for %eax register.
+ (movsi_1_nointernunit): Likewise.
+ (movhi_1): Likewise.
+ * config/i386/i386.c (memory_address_length): Do not use
+ short displacement when there is no base.
+ (ix86_attr_length_address_default): Handle LEA instructions.
+
+ 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-cppbuiltin.c (builtin_define_std): Make non-static.
+
+ 2003-03-11 Loren James Rittle <ljrittle@acm.org>
+
+ * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
+ (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
+ (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
+ * config/freebsd.h (CPP_PREDEFINES): Remove.
+ (TARGET_OS_CPP_BUILTINS): New.
+ * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
+ instead of TARGET_OS_CPP_BUILTINS.
+ * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
+
+ 2003-03-11 Geoffrey Keating <geoffk@apple.com>
+
+ * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
+
+ 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_stack_info): Remove
+ insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
+
+ * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
+
+ Tue Mar 11 21:19:03 2003 Alexandre Oliva <aoliva@redhat.com>
+
+ * toplev.c (independent_decode_option): Return success for --help,
+ --target-help and --version.
+
200303082148.int | | | gzip.peak-0.51972% | vpr.peak+0.588559% perlbmk.peak+0.111963% |
+ 2003-03-08 Roger Sayle <roger@eyesopen.com>
+
+ * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
+ a complex or vector type, using a load in the original mode.
+
+ Sat Mar 8 19:22:30 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
+ * gt-cgraph.h: New GC file.
+ * cgraph.c (known_fns): New static variable.
+ (cgraph_node): Add the decl into varray.
+
+ 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
+
+ 2003-03-08 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
+ (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
+ (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
+ (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
+ All callers changed.
+ * arm.md, arm.h, arm-protos.h: Updated.
+
+ * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
+ (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
+ * arm.c (arm_regno_class, f_register_operand): Updated.
+
+ 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/cris/cris.h: Remove EGCS references.
+ (CPP_SPEC): Remove "-$".
+ (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
+
+ 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
+ preference to CPP_PREDEFINES.
+
+ 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
+
+ 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*extzv_16_8): New.
+
+ Sat Mar 8 14:13:35 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
+ * cgraph.h: (cgraph_local_info): Add can_inline_once
+ (cgraph_global_info): Add inline_once.
+ (cgraph_node): Add previous.
+ (cgraph_remove_node): New.
+ * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
+ function.
+ (cgraph_optimize): Call it.
+ (cgraph_finalize_function): Set inlinable flags.
+ (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
+ (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
+ (cgraph_expand_function): Likewise.
+ * cgraph.c
+ (cgraph_node): Put nodes into doubly linked chain.
+ (cgraph_remove_node): New function.
+ * flags.h (flag_inline_functions_called_once): Declare.
+ * tree-inline.c: Include cgraph.h
+ (inlinable_functions_p): Add extra argument to bypass limits.
+ (expand_call_inline): Obey cgraph flag.
+ * tree-inline.h (tree_inlinable_function_p): Update prototype.
+
200303081319.int | | gap.base-1.78717% vortex.peak-1.55227% | bzip2.peak-0.302115% | gap.peak+0.253293% twolf.peak+0.692182% twolf.base+0.251952% |
+ 2003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
+ irreducible loops.
+
+ * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
+ loops info correctly.
+
200303070314.int | | | gzip.peak-0.149269% gzip.base-0.185381% bzip2.peak-0.263653% twolf.peak-0.278163% twolf.base-0.103637% | eon.base+0.234114% |
+ 2003-03-06 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in (c-ppoutput.o): Update.
+ * c-common.h (init_pp_output): New.
+ (preprocess_file): Update.
+ * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
+ Register builtins.
+ * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
+ Make call to cpp_read_main_file common to whether preprocessing
+ or not. Don't register builtins.
+ * c-ppoutput.c: Include c-pragma.h.
+ (setup_callbacks): Rename init_pp_output.
+ (preprocess_file): No longer setup callbacks or call
+ cpp_read_main_file.
+ * cpphash.h (_cpp_init_mbchar): New.
+ * cppinit.c (init_library): Call _cpp_init_mbchar.
+ * cpplex.c (_cpp_init_mbchar): New.
+
+ 2003-03-06 Roger Sayle <roger@eyesopen.com>
+
+ * emit-rtl.c (gen_lowpart): When requesting the low-part of a
+ MEM, try loading the MEM into a register and taking the low-part
+ of that, to help CSE see the use of the MEM in its true mode.
+
+ 2002-03-05 Tom Tromey <tromey@redhat.com>
+
+ * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
+ Define.
+
+ 2002-03-05 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
+ operand 2.
+ ("*ineqbranchsi"): Likewise.
+
+ 2002-03-05 Andrew Haley <aph@cambridge.redhat.com>
+
+ * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
+ mem_fake_push_rtx. Instead construct a SEQUENCE to show the
+ register store followed by a stack increment.
+
+ 2002-03-05 Chris Moller <cmoller@redhat.com>
+
+ * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
+ to inhibit saving CARRY_REGS.
+
+ * config/stormy16/stormy16.c (xs_hi_general_operand):
+ added predicate to detect and error-out on out-of-range
+ const_ints for movhi.
+ * config/stormy16/stormy16.md (movhi): use
+ xs_hi_general_operand.
+
+ * config/stormy16/stormy16.c (xstormy16_expand_prologue):
+ added a check for local vbl size overflow.
+ * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
+ added predicate to detect and error-out on out-of-range
+ const_ints for addhi and subhi.
+ * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
+ subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
+
+ * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
+ add a term to accept PRE_MODIFY addresses.
+ * config/stormy16/stormy16.c (xstormy16_expand_move):
+ add code to expand PRE_MODIFY addresses to an add followed
+ by a move.
+
+ 2003-03-06 Jason Merrill <jason@redhat.com>
+
+ * tree-inline.c (inlinable_function_p): Revert earlier change
+ pending investigation.
+
200303061909.int | gzip.base+0.896303% | | twolf.peak-0.113197% | |
+ 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a new peephole2): New.
+
+ Thu Mar 6 14:20:15 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
+
200303051012.int | perlbmk.peak+1.96796% | gzip.peak-0.933474% | gzip.peak-0.223404% vpr.peak-0.848771% perlbmk.peak-0.368944% | |
+ Wed Mar 5 02:04:04 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Deffer RTL compilation only when
+ RTL inlining is done.
+
+ * cgraphunit.c (cgraph_mark_local_functions): New local function.
+ (cgraph_optimize): Mark local functions.
+ * i386-protos.h (init_cumulative_args): Update prototype.
+ * i386.c (init_cumulative_args): Use register passing convention for
+ local functions.
+
+ * cgraph.c (cgraph_global_info_ready): New global variable
+ (cgraph_local_info, cgraph_global_info): New functions.
+ * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
+ structures.
+ (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
+ Declare.
+ * cgraphunit.c (cgraph_finalize_function): Set inline_many.
+ (cgraph_mark_functions_to_output): Use inline_many.
+ (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
+ (cgraph_expand_functions): Expand inline functions last.
+ (cgraph_optimize): Do not emit uneeded functions.
+
+ 2003-03-04 Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (convert_modes): Check for legal hard register.
+
200303041710.int | vpr.peak+3.77321% crafty.peak+1.10847% | parser.peak-1.18338% perlbmk.peak-2.29271% | gzip.peak-6.35875% parser.peak-8.81091% | vpr.peak+3.76984% gcc.peak+8.54813% crafty.peak+1.91512% perlbmk.peak+2.57224% gap.peak+4.05412% vortex.peak+2.31884% bzip2.peak+0.113122% twolf.peak+0.717418% |
+ 2003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/9262
+ * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
+ (c_finish_case): Rechain the next statements to the SWITCH_STMT.
+
+ Tue Mar 4 11:30:04 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
+ * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
+ for -O3.
+
+ 2003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * configure.in: Delete three unused variables. Move a variable
+ definition closer to its use. Simplify use_collect2 logic. Start to
+ organize. Simplify tests for in-tree gas and ld.
+ * configure: Regenerate.
+
+ 2003-03-04 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in: Update.
+ * c-common.c (flag_no_line_commands, flag_no_output,
+ flag_dump_macros, flag_dump_includes): New.
+ * c-common.h (flag_no_line_commands, flag_no_output,
+ flag_dump_macros, flag_dump_includes, preprocess_file): New.
+ (init_c_lex): Update prototype.
+ * c-lex.c (init_c_lex): Update prototype; move some code to
+ c_common_init.
+ * c-opts.c (preprocess_file): Subsume into c_common_init.
+ (c_common_decode_option): Update flags.
+ (c_common_init): Move code from preprocess_file and init_c_lex.
+ (sanitize_cpp_opts): Update.
+ * c-ppoutput.c: New, cppmain.c almost verbatim.
+ * cpphash.h (struct printer): Remove.
+ (struct cpp_reader): Remove print.
+ * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
+ cpp_preprocess_file): Remove.
+ (struct cpp_options): Remove no_output, no_line_commands, dump_macros
+ and dump_includes.
+ * cppmain.c: Remove.
+ * doc/passes.texi: Update.
+
+ 2003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
+ (assign_stack_local_1): Perform overall stack alignment only when
+ STACK_ALIGNMENT_NEEDED is non-zero.
+ * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
+
+ * pa.c (compute_frame_size): Rename fsize to size. Account for
+ alignment to a word boundary before general register save block. Only
+ account for double-word alignment before floating point register save
+ block if one or more are saved. Don't allocate space for %r3 when
+ frame pointer is needed.
+ (hppa_expand_prologue): Include alignment to word boundary in local
+ frame size.
+ * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
+ (STACK_ALIGNMENT_NEEDED): Define.
+
200303040839.int | eon.peak+6.67859% | | | eon.peak+0.294592% |
+ 2003-03-04 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
+ global register variables.
+
+ 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (reload_adjust_reg_for_mode): New function.
+ (subst_reloads): Call it.
+ (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
+ * reload.h (reload_adjust_reg_for_mode): Declare.
+ * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
+ Call it.
+
+ 2003-03-03 James E Wilson <wilson@tuliptree.org>
+
+ * optabs.c (add_equal_note): Delete SUBREG_REG use.
+ Fixes PR c/7872.
+
+ 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
+ (*ixorsi3_lshiftrt_16): New.
+ (*iorsi3_ashift_16): Remove.
+
+ 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
+ pattern.
+
+ 2003-03-03 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/install.texi (Specific): Update entry for powerpc-darwin.
+
+ 2003-03-03 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
+
+ 2003-03-03 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
+ (rs6000_variable_issue): Do not return negative value.
+ (rs6000_issue_rate): Uniformly set issue rate to 1 for first
+ scheduling pass.
+
+ 2003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
+ prune_unused_types calls.
+
+ 2003-03-03 Jason Merrill <jason@redhat.com>
+
+ * tree-inline.c (find_builtin_longjmp_call): Save and restore
+ lineno and input_filename.
+ (find_alloca_call): Likewise.
+ (inlinable_function_p): Run the langhook earlier.
+
+ * calls.c (compute_argument_addresses): Give the new MEMs a
+ minimum alignment of PARM_BOUNDARY.
+
+ Mon Mar 3 20:45:25 2003 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
+ subtarget_asm_isa_spec.
+ (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
+ (ASM_SPEC): Define as SH_ASM_SPEC.
+ (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
+ Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
+ * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
+ (SUBTARGET_ASM_ISA_SPEC): Undef / define.
+
+ * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
+ and align_jumps if not set.
+ Force align_jumps to be at least 2.
+ When relaxing, force align_functions to be at least the maximum of
+ align_loops, align_jumps and 4.
+ * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
+ (sh_loop_align): Honour align_loops_log.
+
+ * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
+ to check for indirect_jump_scratch.
+ (indirect_jump_scratch): Add second set.
+ * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
+ when looking for indirect_jump_scratch.
+ Extract scratch register taking new structure of indirect_jump_scratch
+ into account.
+ (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
+
+ * calls.c (rtx_for_function_call): Take the address as an argument
+ (expand_call): Do not modify the expression.
+
200303011204.int | | | crafty.peak-9.52939% crafty.base-10.9124% | |
+ 2003-02-28 Richard Henderson <rth@redhat.com>
+
+ * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
+
200303010328.int | | | mcf.peak-0.109055% crafty.peak-0.323219% crafty.base-0.359074% | mcf.base+0.12821% gap.peak+0.2201% bzip2.peak+0.188893% twolf.peak+0.804487% |
+ 2003-02-28 scott snyder <snyder@fnal.gov>
+
+ * flags.h: Add flag_eliminate_unused_debug_types.
+ * toplev.c: Add flag_eliminate_unused_debug_types.
+ (f_options): Add -feliminate-unused-debug-types.
+ * dwarf2out.c (struct file_table): Add emitted member.
+ (splice_child_die): Fix the parent pointer for the child being
+ spliced.
+ (lookup_filename): Maintain file_table.emitted array. Don't
+ output .file directive here.
+ (maybe_emit_file): (new)
+ (init_file_table): Set up file_table.emitted.
+ (dwarf2out_source_line): Use maybe_emit_file.
+ (dwarf2out_start_source_file): Use maybe_emit_file.
+ (dwarf2out_init): Use maybe_emit_file.
+ (prune_unused_types_walk_attribs): (new)
+ (prune_unused_types_mark): (new)
+ (prune_unused_types_walk): (new)
+ (prune_unused_types_prune): (new)
+ (prune_unused_types): (new)
+ (dwarf2out_finish): Call prune_unused_types if
+ flag_eliminate_unused_debug_types is set.
+ * doc/invoke.texi (Option Summary): Add
+ -feliminate-unused-debug-types.
+ (Debugging Options): Likewise.
+
+ 2003-02-28 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi: Change .pch to .gch.
+ * cppfiles.c (open_file_pch): Likewise.
+ * gcc.c (default_compilers): Likewise.
+
+ 2003-02-28 Aldy Hernandez <aldyh@redhat.com>
+
+ * floatlib.c: Remove.
+
+ 2003-02-28 Jason Merrill <jason@redhat.com>
+
+ * stor-layout.c (variable_size): Leave a "minus 1" outside the
+ SAVE_EXPR.
+
+ 2003-02-28 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/power4.md: Add compare bypass.
+
+ 2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config/netbsd.h: Update copyright years.
+ (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
+ -pthread is specified on the command line.
+
+ 2003-02-28 Dale Johannesen <dalej@apple.com>
+
+ * loop.c (struct movable): Add insert_temp, shrink savemode.
+ (scan_loop): Accept invariants that require copying; mark as
+ insert_temp.
+ (combine_movables): Don't combine insert_temp movables.
+ (move_movables): Insert copies for insert_temp movables.
+ Don't record the info based on regno for insert_temp's.
+
+ 2003-02-28 Joel Sherrill <joel@OARcorp.com>
+
+ PR 9638/other
+ * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
+ this constant defaults to 1.
+
+ 2003-02-28 Bob Wilson <bob.wilson@acm.org>
+
+ * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
+
200302261522.int | crafty.peak+3.74551% parser.peak+1.37925% | eon.peak-5.54901% | gzip.peak-13.0945% vpr.peak-8.86285% gcc.peak-9.75398% mcf.peak-10.0983% crafty.peak-9.14568% parser.peak-21.8844% eon.peak-1.59784% perlbmk.peak-6.7626% gap.peak-6.47592% vortex.peak-2.20819% bzip2.peak-23.5192% twolf.peak-10.2155% | crafty.base+0.109343% |
200302261522 - unit at a time mode for -O3 (Jan Hubicka)
200302260646.int | | gap.base-0.916871% | | |
200302251332.int | | | | gzip.peak+0.151649% |
+ Tue Feb 25 12:35:34 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (lcm.o): Add dependency on function.h
+ * lcm.c (function.h): Include.
+ * i386.c (machine_function, ix86_stack_locals,
+ * ix86_save_varrargs_registers) : Move to
+ ...
+ * i386.h (machine_function, ix86_stack_locals,
+ ix86_save_varrargs_registers): ... here; add optimize_mode_switching
+ (ix86_optimize_mode_switching): New.
+ * i386.md (fix patterns): Set ix86_optimize_mode_switching
+
+ 2003-02-25 Nick Clifton <nickc@redhat.com>
+
+ * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
+ of fourth arg is 'fndecl' not 'indirect'. Update comment
+ describing the function's parameters.
+
200302230114.int | crafty.base+0.74655% | crafty.peak-0.885418% | mcf.base-0.128046% eon.peak-0.171054% eon.base-0.109944% | gzip.base+0.232264% vpr.peak+0.110862% gcc.peak+0.117454% crafty.base+0.120515% parser.base+0.103901% gap.peak+0.189636% gap.base+0.196394% bzip2.base+0.129366% twolf.peak+0.140881% |
+ 2003-02-23 Andreas Schwab <schwab@suse.de>
+
+ * config.gcc: Delete references to m68k/t-linux and
+ m68k/t-linux-aout.
+ * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
+
+ Sat Feb 22 20:22:19 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Apply fotgotten hunk
+ of track scheduling patch.
+
+ Sat Feb 22 19:29:28 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * config/linux.h (TARGET_HAS_F_SETLKW): Define.
+ * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
+
200302211501.int | | gap.base-1.68207% twolf.base-1.41723% | vpr.peak-2.97483% gcc.peak-8.26292% crafty.peak-1.49739% perlbmk.peak-2.80979% gap.peak-4.0315% vortex.peak-2.09141% twolf.peak-0.812506% | gzip.peak+5.725% gzip.base+19.4338% gcc.base+0.595497% parser.peak+10.0975% bzip2.peak+6.15998% |
+ Fri Feb 21 11:05:44 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
+ (commit_edge_insertions): Call find_many_sub_basic_blocks
+
+ * reg-stack.c (convert_regs): Cleax aux for blocks.
+
+ Fri Feb 21 10:29:52 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (parse_options_and_default_flags): Undo accidental commit.
+
+ 2003-02-21 Glen Nakamura <glen@imodulo.com>
+
+ PR optimization/8613
+ * builtins.c (expand_builtin): Emit postincrements before expanding
+ builtin functions.
+
200302210615.int | vpr.base+2.74066% | perlbmk.peak-10.8099% | gzip.peak-5.47239% gzip.base-16.4269% gcc.base-0.616224% parser.peak-9.2258% gap.base-0.117705% bzip2.peak-5.74812% | vpr.peak+3.1375% gcc.peak+8.94231% mcf.base+0.25675% crafty.peak+1.52126% perlbmk.peak+2.92165% gap.peak+4.07214% vortex.peak+2.15344% twolf.peak+0.743467% twolf.base+0.118689% |
+ 2003-02-21 Ben Elliston <bje@redhat.com>
+
+ PR other/5634
+ * doc/install.texi (Configuration): Explain using $HOME instead of
+ the ~ metacharacter when referring to home directories.
+
+ 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (TARGET_SYSTEM_ROOT): Set default to
+ ${exec_prefix}/${target_alias}/sys-root. Match explicit
+ '${exec_prefix}' (in addition to the expansion thereof) as
+ relocatable.
+ * configure: Rebuilt.
+
+ 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (addhi3_incdec): Change the name to
+ *addhi3_incdec.
+ (addsi3_incdec): Change the name to *addsi3_incdec.
+
+ 2003-02-20 Roger Sayle <roger@eyesopen.com>
+
+ * explow.c (force_reg): Avoid useless REG_EQUAL notes.
+
+ 2003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/9038
+ * c-opts.c (sanitize_cpp_opts): Add Fortran front end
+ options to be ignored.
+ (c_common_decode_option): Ignore them when preprocessing.
+
+ Thu Feb 20 21:41:19 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
+ global variables.
+ (lang_independent_options): Add -fsched2-use-superblocks
+ -fsced2-use-traces.
+ (rest_of_compilation): Deal with it.
+ * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
+ * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
+ Declare.
+ * rtl.h (reg_to_stack): Update prototype.
+ * reg-stack.c (reg_to_stack): Return when something has changed;
+ update liveness when executing after superblock scheduling.
+
+ * combine.c (simplify_shift_const): Simplify few special cases
+ into constants.
+
+ 2003-02-20 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
+ (add.,subf.,neg.): Change attribute to fast_compare.
+ All DFA descriptions updated.
+
200302200406.int | gap.base+1.3995% | crafty.peak-1.29329% | | gzip.peak+0.151925% vpr.peak+0.111062% gcc.peak+0.14493% gcc.base+0.142146% parser.peak+0.10781% perlbmk.peak+0.183162% twolf.peak+0.1598% |
+ 2003-02-19 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
+ addition in the presence of signaling NaNs.
+
+ 2003-02-19 Krister Walfridsson <cato@df.lth.se>
+
+ * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
+
+ 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (output_logical_op): Optimize or.l when
+ ORing with 0xffff??00 with the highest bit of the ?? part set.
+ (compute_logical_op_length): Update.
+ (compute_logical_op_cc): Likewise.
+
+ 2003-02-19 Josef Zlomek <zlomekj@suse.cz>
+
+ * bb-reorder.c (find_traces_1_round): Fixed condition for small
+ destination block with multiple predecessors.
+ (connect_traces): Check whether the block is a start of trace.
+
+
200302172341.int | | perlbmk.base-3.04323% | | perlbmk.base+1.43568% |
+ Mon Feb 17 16:16:54 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * recog.c (split_all_insns): Fix memory overflow.
+
200302161547.int | | crafty.peak-1.01453% | | |
+ 2003-02-16 Arend Bayer <arend.bayer@web.de>
+ Richard Henderson <rth@redhat.com>
+
+ PR c/8068
+ * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
+ rearrange mult arguments for less recursion.
+ (extract_muldiv): New. Prevent runaway recursion.
+
+ 2003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
+ MASK_ALIGN_DOUBLE.
+
200302160743.int | | gap.base-2.13885% | | gzip.peak+0.365955% gzip.base+0.700372% vpr.peak+0.180803% vpr.base+0.236462% gcc.peak+0.357172% gcc.base+0.751894% mcf.peak+0.492626% mcf.base+0.257411% crafty.peak+0.690929% crafty.base+0.784975% parser.base+0.417339% perlbmk.peak+0.166422% gap.peak+0.355549% gap.base+0.618525% bzip2.base+0.324465% twolf.base+0.163585% |
+ 2003-02-15 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
+ to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
+ (ext_80387_constants_table): Global table of 80387 special constants
+ guarded by ext_80387_constants_init flag when not initialized.
+ (init_ext_80387_constants): New function to initialize this table.
+ (standard_80387_constant_p): Extend to recognize extra 80387
+ constants, in XFmode, on processors where this is a win.
+ (standard_80387_constant_opcode): New function to return the
+ opcode associated with standard_80387_constant_p.
+ (standard_80387_constant_rtx): New function to return the XFmode
+ CONST_DOUBLE associated with standard_80387_constant_p.
+ (ix86_rtx_costs): Give the new constants the same cost as 1.0.
+
+ * config/i386/i386-protos.h (standard_80387_constant_opcode):
+ Prototype here.
+ (standard_80387_constant_rtx): Likewise.
+
+ * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
+ *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
+ *movtf_integer): Simplify using new standard_80387_constant_opcode.
+
+ 2003-02-15 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi (Optimize Options): Correct @option syntax.
+
+ 2003-02-15 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (cfglayout.o): Depend on TARGET_H.
+ * cfglayout.c: Include target.h.
+ (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
+ * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
+ * target.h (struct gcc_target): Add cannot_copy_insn_p.
+
+ * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
+ (TARGET_CANNOT_COPY_INSN_P): New.
+ (override_options): Revert 2003-02-08 hack.
+
+ 2003-02-15 Richard Henderson <rth@redhat.com>
+
+ * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
+ (bypass_conditional_jumps): Accept computed_jump_p insns as well.
+
+ 2003-02-15 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.h (processor_type): Add PPC440.
+ * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ TARGET_SCHED_VARIABLE_ISSUE): Define.
+ (rs6000_use_dfa_pipeline_interface): New function.
+ (rs6000_multipass_dfa_lookahead): New Function.
+ (rs6000_variable_issue): New function.
+ (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
+ (rs6000_issue_rate): Add PPC440.
+ * config/rs6000/rs6000.md (unspec list): Correct typo.
+ (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
+ store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
+ cmp, delayed_cr, mfcr, mtcr.
+ (automata_option): Set "ndfa".
+ (extendMMNN2): Update attributes.
+ (movcc_internal1): Discourage move to non-cr0. Update
+ attributes.
+ (movMM_update): Update attributes.
+ (cmpMM_internal): Update attributes.
+ (sCC CR materialization): Update attributes.
+ (branch patterns): Do not discourage non-cr0.
+ (cr logical patterns): Prefer destructive register allocation.
+ Update attributes.
+ (movesi_from_cr): Update attribute.
+ (mtcrf_operation): Update attribute.
+ (mtcrfsi): Update attribute.
+ * config/rs6000/40x.md: New file.
+ * config/rs6000/603.md: New file.
+ * config/rs6000/6xx.md: New file.
+ * config/rs6000/7450.md: New file.
+ * config/rs6000/7xx.md: New file.
+ * config/rs6000/mpc.md: New file.
+ * config/rs6000/power4.md: New file.
+ * config/rs6000/rios1.md: New file.
+ * config/rs6000/rios2.md: New file.
+ * config/rs6000/rs64.md: New file.
+ [Some DFA descriptions based on work by Michael Hayes]
+
+ 2003-02-15 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
+ successors with multiple predecessors.
+ (connect_traces): Try harder to copy traces of length 1.
+
+ * function.h (struct function): Add computed_goto_common_label,
+ computed_goto_common_reg.
+ * function.c (free_after_compilation): Zap them.
+ * stmt.c (expand_computed_goto): Use them to produce one
+ indirect branch per function.
+
+ 2003-02-15 Richard Henderson <rth@redhat.com>
+
+ * cfgcleanup.c: Include params.h.
+ (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
+ too many outgoing edges from a block.
+ * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
+ * params.def (max-crossjump-edges): New.
+ * doc/invoke.texi: Document it.
+
+ 2003-02-15 Richard Henderson <rth@redhat.com>
+
+ * recog.c (split_all_insns): Include new blocks in life update;
+ do a global life update.
+
200302142300.int | gzip.peak+99.7831% vpr.peak+99.5789% gcc.peak+99.9827% mcf.peak+100.106% crafty.peak+100.146% parser.peak+99.8591% parser.base+100.06% eon.peak+99.3342% eon.base+99.8173% perlbmk.peak+100.375% perlbmk.base+99.9142% gap.peak+100.14% gap.base+99.955% vortex.peak+100.175% vortex.base+99.9889% bzip2.peak+99.8802% bzip2.base+99.7553% twolf.peak+100.462% twolf.base+101.171% | | | |
+ 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
+ (x - (x & y)) is found.
+
+ 2003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure.in: Fix typo.
+ * configure: Regenerate.
+
+ 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
+
+ 2003-02-13 Adam Nemet <anemet@lnxw.com>
+
+ PR opt/2391
+ * combine.c: Fix spelling in comment.
+ (cached_nonzero_bits): New function.
+ (cached_num_sign_bit_copies): New function.
+ (nonzero_bits_with_known): New macro.
+ (num_sign_bit_copies_with_known): New macro.
+ (nonzero_bits1): Rename from nonzero_bits. Add three new
+ arguments. Change calls from nonzero_bits to
+ nonzero_bits_with_known.
+ (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
+ three new arguments. Change calls from num_sign_bit_copies to
+ num_sign_bit_copies_with_known.
+ (nonzero_bits): New macro.
+ (num_sign_bit_copies): New macro.
+ (update_table_tick): Don't traverse identical subexpression more
+ than once.
+ (get_last_value_validate): Likewise.
+
+ 2003-02-13 Zack Weinberg <zack@codesourcery.com>
+
+ * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
+ * function.h (struct emit_status): Length of regno_pointer_align
+ and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
+ not regno_pointer_align_length (i.e. length actually used, not
+ length as allocated)
+
+ * config/i386/i386.c (struct stack_local_entry): New.
+ (struct machine_function): Replace huge array with alist.
+ (assign_386_stack_local): Change to match.
+
+ 2003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
+
+ * inclhack.def (hpux_long_double): Tighten select and add bypass
+ regexp.
+ * fixincl.x: Rebuilt.
+
200302130951.int | | gzip.peak-50.0525% vpr.peak-50.1077% gcc.peak-50.0837% mcf.peak-50.0206% crafty.peak-50.0362% parser.peak-49.9988% parser.base-22.5975% eon.peak-50.1033% eon.base-49.9595% perlbmk.peak-50.0748% perlbmk.base-49.9557% gap.peak-50.0028% gap.base-49.985% vortex.peak-49.9759% vortex.base-49.9978% bzip2.peak-50.0075% bzip2.base-50.3021% twolf.peak-50.0588% twolf.base-50.1651% | | |
+ 2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
+
+ 2003-02-12 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
+ (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
+
+ * reg-stack.c (subst_stack_regs_pat): Add support for binary
+ UNSPEC instructions (e.g. "fpatan").
+
+ 2003-02-12 Mike Stump <mrs@apple.com>
+
+ * varray.c (element_size): Remove.
+ (uses_ggc): Remove.
+ (element): Add.
+ (varray_init): Use new interface.
+ (varray_grow): Use new interface.
+ (varray_clear): Use new interface.
+
200302121625.int | | | | eon.base+4.92425% |
+ Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (estimate_probability): Fix roundoff error.
+
+ 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): Don't handle 65535.
+ (two peephole2): New.
+
+ 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (several peephole2): Replace
+ find_regno_note with peep2_reg_dead_p.
+
+ 2003-02-11 Richard Henderson <rth@redhat.com>
+
+ * gcse.c (lookup_set): Remove unused argument PAT. Update
+ both callers.
+
200302112258.int | | | | eon.peak+0.427656% |
+ Tue Feb 11 19:03:22 MET 2003 Jan Hubicka <jh@suse.cz>
+
+ * combine.c (combine_simplify_rtx): Fix folding of
+ nested float_truncates.
+
+ 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (a peephole2): Fix a typo.
+
+ 2003-02-11 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
+ register number.
+
+ 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300-protos.h: Add a prototype for
+ gtuleu_operator.
+ * config/h8300/h8300.c (gtuleu_operator): New.
+ * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
+ * config/h8300/h8300.md (a peephole2): New.
+
+ Tue Feb 11 13:32:12 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
+
200302110559.int | crafty.peak+1.60556% perlbmk.base+1.383% gap.peak+11.6587% twolf.peak+1.93562% | gzip.peak-1.64279% vpr.base-1.48778% | mcf.base-0.12854% | gzip.peak+2.1813% gzip.base+0.516016% vpr.peak+1.21107% vpr.base+0.834855% gcc.peak+1.50596% gcc.base+1.16818% mcf.peak+0.594667% crafty.peak+0.701341% crafty.base+0.685923% parser.peak+0.992977% parser.base+0.788682% perlbmk.peak+2.73096% perlbmk.base+2.36735% gap.peak+1.46399% gap.base+0.970007% vortex.peak+2.71206% vortex.base+2.62836% bzip2.peak+0.406032% bzip2.base+0.390879% twolf.peak+1.3535% twolf.base+1.29551% |
200302110559 - New BB reordering (Josef Zlomek)
200302090200.int | | | | gcc.peak+0.184072% perlbmk.peak+0.188849% |
+ 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
+ * config/h8300/crti.asm: Likewise.
+ * config/h8300/crtn.asm: Likewise.
+ * config/h8300/ctzsi2.c: Likewise.
+ * config/h8300/fixunssfsi.c: Likewise.
+ * config/h8300/h8300-protos.h: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/h8300/h8300.h: Likewise.
+ * config/h8300/h8300.md: Likewise.
+ * config/h8300/paritysi2.c: Likewise.
+ * config/h8300/popcountsi2.c: Likewise.
+ * config/h8300/rtems.h: Likewise.
+
+ 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * doc/invoke.texi: Documentation for my previous commit.
+ * doc/passes.texi: Ditto.
+
+ 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
+ duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
+ Declare.
+ (DLTHE_FLAG_UPDATE_FREQ): New.
+ * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
+ loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
+ rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
+ fix_bb_placement, fix_bb_placements, place_new_loop,
+ scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
+ New static functions.
+ (fix_loop_placement, can_duplicate_loop_p,
+ duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
+ New functions.
+
+ * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
+ unswitch_loops): Declare.
+ * loop-init.c: New file.
+ * loop-unswitch.c: New file.
+ * Makefile.in (loop-init.o, loop-unswitch.o): New.
+ * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
+ * toplev.c (DFI_loop2): New dump.
+ (flag_unswitch_loops): New.
+ (lang_independent_options): Add it.
+ (rest_of_compilation): Call new loop optimizer.
+ (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
+
+ 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/clzsi2.c: New.
+ * config/h8300/ctzsi2.c: Likewise.
+ * config/h8300/paritysi2.c: Likewise.
+ * config/h8300/popcountsi2.c: Likewise.
+ * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
+
200302080835.int | vortex.peak+2.27523% | | gcc.peak-0.228999% gcc.base-0.15371% crafty.peak-0.289823% crafty.base-0.310688% eon.peak-0.1068% | vortex.peak+0.201298% vortex.base+0.186045% |
+ 2003-02-07 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
+ * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
+ (ctzsi2): New pattern.
+ (ffssi2): Use clz instead of unspec.
+ (clzdi2): Rename from cntlzd2.
+ (ctzdi2): New pattern.
+ (ffsdi2): Use clz instead of unspec.
+
+ 2003-02-07 Loren James Rittle <ljrittle@acm.org>
+
+ * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
+ * config/ia64/freebsd.h (LINK_SPEC): Likewise.
+ * config/sparc/freebsd.h (LINK_SPEC): Likewise.
+ * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
+
+ 2003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+ * doc/trouble.texi: Document pitfalls of two-stage name lookup.
+
+ 2003-02-07 Richard Henderson <rth@redhat.com>
+
+ PR 9226
+ * gcse.c (local_cprop_find_used_regs): New.
+ (local_cprop_pass): Use it.
+
+ 2003-02-07 Fred Fish <fnf@intrinsity.com>
+
+ * mips-tfile.c (parse_def): Parenthesize assignments to fix
+ precedence bugs.
+
+ 2003-02-07 Segher Boessenkool <segher@koffie.nl>
+
+ * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
+
+ 2003-02-07 Roger Sayle <roger@eyesopen.com>
+
+ * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
+ (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
+ (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
+ * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
+ builtin functions (and their __builtin_* variants).
+ * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
+ (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
+ when not optimizing.
+
+ * doc/extend.texi: Document new pow and atan2 builtins, and
+ their float and long double variants. Realphabetize builtins.
+
+ Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (sse2_nandv2di3): Fix.
+
+ 2003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
+ * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
+ definition.
+ * config/i386/i386.h (ix86_return_in_memory): Return aggregate
+ types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
+
+ Fri Feb 7 22:22:40 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
+
+ 2003-02-07 Daniel Berlin <dberlin@dberlin.org>
+
+ * cfg.c (dump_flow_info): Add back accidently deleted line.
+
+ 2003-02-07 Andrey Petrov <petrov@netbsd.org>
+
+ * optabs.c (expand_float): Search wider integer modes first.
+
+ 2003-02-07 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
+ based on preprocessor flag.
+
+ 2003-02-07 Roger Sayle <roger@eyesopen.com>
+ Richard Henderson <rth@redhat.com>
+
+ * gcse.c (implicit_sets): New.
+ (compute_hash_table_work): Include them in hash table.
+ (find_implicit_sets, fis_get_condition): New.
+ (one_cprop_pass): Allocate and free implicit_sets; call
+ find_implicit_sets before building hash table.
+
200302020401.int | | | | crafty.peak+0.957595% crafty.base+1.2129% |
+ 2003-02-01 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2out.c (gen_type_die): Check for typedefs before calling
+ for TYPE_MAIN_VARIANT.
+
+ 2003-02-01 Richard Henderson <rth@redhat.com>
+
+ * libgcc2.c: Include auto-host.h.
+ (ATTRIBUTE_HIDDEN): New.
+ (__clz_tab): Don't declare here for clz and ctz.
+ (__clzsi2, __clzdi2): Use count_leading_zeros.
+ (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
+ (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
+ (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
+ * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
+
+ 2003-02-01 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
+ to the conditional.
+ (ashlsi3_1_zext splitter): Likewise.
+
+ 2003-02-01 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
+ * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
+ __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
+ return type to Wtype.
+
+ * libgcc-std.ver (GCC_3.4): Fix inheritance.
+
+ * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
+ expander input constraint.
+
+ 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
+ OTI_parity.
+ (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
+ * optabs.c (widen_clz, expand_parity): New.
+ (expand_unop): Handle clz and parity. Hardcode SImode as outmode
+ for libcalls to clz, ctz, popcount, and parity.
+ (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
+ parity_optab, and set up libfunc handlers.
+ * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
+ __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
+ __popcount_tab): New.
+ * libgcc2.h: Declare them.
+ * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
+ * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
+ and parity_optab.
+ * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
+ * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
+ BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
+ BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
+ BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
+ BUILT_IN_PARITYLL): New.
+ * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
+ and add optab argument.
+ (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
+ * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
+ * expr.c (expand_expr): Handle them.
+ * fold-const.c (tree_expr_nonnegative_p): Likewise.
+ * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
+ * reload1.c (eliminate_regs): Handle them.
+ (elimination_effects): Likewise.
+ * function.c (instantiate_virtual_regs_1): Likewise
+ * genattrtab.c (check_attr_value): Likewise.
+ * simplify-rtx.c (simplify_unary_operation): Likewise.
+ * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
+ * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
+ (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
+ * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
+ * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
+ __builtin_arm_clz.
+ * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
+ * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
+ * doc/extend.texi (Other Builtins): Add new builtins.
+ * doc/md.texi (Standard Names): Add new patterns.
+
200301280621.int | gzip.base+1.39655% | | | |
+ 2003-01-27 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (cse.o): Depend on TARGET_H.
+ * cse.c (rtx_cost): Use targetm.rtx_costs.
+ * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
+ * doc/tm.texi: Update.
+
+ * target.h (targetm.rtx_costs): New.
+ * target-def.h (TARGET_RTX_COSTS): New.
+ * hooks.c (hook_bool_rtx_int_int_intp_false): New.
+ * hooks.h: Update.
+
+ * config/alpha/alpha.c (alpha_rtx_cost_data): New.
+ (alpha_rtx_costs, TARGET_RTX_COSTS): New.
+ * config/alpha/alpha.h (PROCESSOR_MAX): New.
+ (CONST_COSTS, RTX_COSTS): Remove.
+
+ * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
+ config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
+ config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
+ config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
+ config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
+ config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
+ config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
+ config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
+ config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
+ config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
+ config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
+ config/mn10200/mn10200.h, config/mn10300/mn10300.c,
+ config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
+ config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
+ config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
+ config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
+ config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
+ config/stormy16/stormy16.c, config/stormy16/stormy16.h,
+ config/v850/v850.c, config/v850/v850.h,
+ config/xtensa/xtensa.c, config/xtensa/xtensa.h
+ (CONST_COSTS, RTX_COSTS): Move code ...
+ (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
+
+ * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
+ (arm_rtx_costs, TARGET_RTX_COSTS): New.
+ * config/arm/arm-protos.h: Update.
+ * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
+
+ * config/avr/avr.h (CONST_COSTS): Move code ...
+ * config/avr/avr.c (avr_rtx_costs): ... here.
+ (default_rtx_costs): Make static.
+ * config/avr/avr-protos.h: Update.
+
+ * config/h8300/h8300.c (const_costs): Make static.
+ (h8300_and_costs, h8300_shift_costs): Likewise.
+ * config/h8300/h8300-protos.h: Update.
+
+ * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
+ (CONST_COSTS): Move code ...
+ * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
+ default_rtx_costs; update for signature change.
+ * config/ip2k/ip2k-protos.h: Update.
+
+ * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
+ (CONST_COSTS): Move code ...
+ * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
+ (TARGET_RTX_COSTS): New.
+ (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
+ * config/m68hc11/m68hc11-protos.h: Update.
+
+ * config/m68k/m68k.c (const_int_cost): Make static.
+ * config/m68k/m68k-protos.h: Update.
+
+ * config/mcore/mcore.c (mcore_const_costs): Make static.
+ (mcore_and_cost, mcore_ior_cost): Likewise.
+ * config/mcore/mcore-protos.h: Update.
+
+ * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
+ (mmix_rtx_cost_recalculated): Remove.
+ * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
+ * config/mmix/mmix-protos.h: Update.
+
+ * config/sh/sh.c (shiftcosts): Make static.
+ (addsubcosts, andcosts, multcosts): Likewise.
+ * config/sh/sh-protos.h: Update.
+
+ * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
+ (sparc_rtx_costs): Make static; update for change in signature.
+ * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
+ * config/sparc/sparc-protos.h: Update.
+
+ * config/v850/v850.c (const_costs): Make static.
+ * config/v850/v850-protos.h: Update.
+
+ * config/vax/vax.h (RTX_COSTS): Remove.
+ (CONST_COSTS): Move code ...
+ * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
+ from vax_rtx_cost.
+ (vax_rtx_costs, TARGET_RTX_COSTS): New.
+
+ 2003-01-27 Richard Henderson <rth@redhat.com>
+
+ * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
+ * config/vax/vax-protos.h: Update. Really.
+
+ 2003-01-28 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
+ (UNITS_PER_FPVALUE): Defined as the width of a long double, or
+ zero if no hardware floating point.
+ (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
+ (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+ (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
+ (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
+ * config/mips/mips.c (mips_arg_info): Pass TFmode values in
+ even FP registers on N32 and N64.
+ (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
+ (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
+ (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
+ even-register-like alignment to 128-bit arguments.
+ (save_restore_insns): Use UNITS_PER_HWFPVALUE.
+ (mips_function_value): Likewise. Return TFmode in $f0 and $f2
+ on N32 or N64.
+ * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
+ * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
+ (TPBIT): Set to tp-bit.c.
+ (tp-bit.c): Create out of fp-bit.c.
+
+ 2003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * c-parse.in: Remove '%expect 32' directive in objc mode.
+
+ 2003-01-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
+ (LIBGCOV): New variable.
+ (libgcc.mk): Add LIBGCOV.
+ (LIBGCC_DEPS): Add libgcov.c.
+ (libgcov.a): New target.
+ (clean): Remove libgcov.a.
+ (install-libgcc): Do libgcov too.
+ (stage1-start, stage2-start, stage3-start, stage4-start): Deal
+ with libgcov.a.
+ * libgcc2.c (L_gcov): Move into ...
+ * libgcov.c: ... here. New file.
+ * mklibgcc.in: Add libgcov rules.
+ * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
+
+ * doc/invoke.texi (profile-arcs, test-coverage): Update and
+ clarify.
+
+ * profile.c (index_counts_file): Remove duplicate check for open file.
+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |