X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=a8a7fe45d985077e777dcfe3128464c76bb5ad71;hb=b68eeca91b968dfcd82693320c3b751775b9b37c;hp=ea5a5708b55379ba84612e68ea80294b4d208181;hpb=0b5fb5f8b4a5bdb419fb61072749f179f76346be;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ea5a5708b55..a8a7fe45d98 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,526 @@ +2003-10-09 Bob Wilson + + * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first + FP register number to 48 and MAC16 accumulator to 0x210. + +2003-10-09 Nathanael Nerode + + * config.gcc: Remove redundant thread_file setting clauses for + various *-*-linux* targets. + +2003-10-09 Kazu Hirata + + * config/h8300/h8300.md (define_asm_attributes): New. + +2003-10-09 Roger Sayle + + * 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 + + * 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 + + 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 + + * config/sh/t-linux (SHLIB_LINK): Override to use a linker script + libgcc_s.so. + (SHLIB_INSTALL): Likewise. + +2003-10-08 Nathanael Nerode + + * doc/install.texi: Remove reference to removed 'pthreads' thread + option. + +2003-10-08 Aldy Hernandez + + * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to + operand 2. + +2003-10-08 Nathanael Nerode + + * 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 + + * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes' + definition to above SPARC_STACK_BOUNDARY_HACK. + +2003-10-08 Jason Merrill + + * c-pretty-print.c (pp_c_postfix_expression) + : Fix thinko. + +2003-10-08 Rainer Orth + + * mklibgcc.in: Don't hide undefined or typeless symbols. + +2003-10-08 John David Anglin + + 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 + Eric Botcazou + + 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 + + * 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 + + * 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 + + * 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 + + * genopinit.c (main): Output code to declare undefined + variables. + +2003-10-07 Kelley Cook + + * gengtype-lex.l: Remove -Wtraditional cruft. + * Makefile.in (gengtype-lex.c): Likewise. + +2003-10-07 Zdenek Dvorak + + * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly. + +2003-10-07 Jason Merrill + + PR c++/12519 + * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if + it isn't a decl. + +2003-10-07 Alexandre Oliva + + * gcc.c (cpp_options): Only pass -fworking-directory for -g* if + not overridden. + Fixes PR bootstrap/12173. + +2003-10-07 Zack Weinberg + + * 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 + + * 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 + + * doc/invoke.texi (Warning Options): Simplify and clarify the + descriptions of -Wnonnull and -Winit-self. + +2003-10-07 Richard Earnshaw + + * optabs.c (init_intraclass_conv_libfuncs): Fix order of array + indicees for floating-point conversersion libcalls. + +2003-10-07 Nathanael Nerode + + * Makefile.in: Add more comments separating large conceptually + separate sections. + + * configure.in: Clean up thread file logic. + * configure: Regenerate. + +2003-10-07 Danny Smith + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * config/mips/mips.c (mips_expand_prologue): Remove unused + traversal of function arguments. + +2003-10-07 Richard Sandiford + + * 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 + + * 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 + + * 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 + + * expr.c (expand_expr ): Handle the void type semantics + of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations. + +2003-10-06 Roger Sayle + Zack Weinberg + + * 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 + + PR optimization/11974 + * optabs.c (expand_unop): Promote libcall outmode according to + hard_libcall_value. + +2003-10-06 Zack Weinberg + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK, + skip any remaining register arguments. + +2003-10-06 Ulrich Weigand + + * reload.c (find_reloads_subreg_address): Use correct offset for + paradoxical MEM subregs on big-endian targets. + +2003-10-06 Andrew Haley + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs + if TARGET_EXPLICIT_RELOCS. + +2003-10-06 Mark Mitchell + + 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 + + * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter. + +2003-10-05 Andrew Pinski + + * 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 - * config/darwin.c (machopic_non_lazy_ptr_name): + * config/darwin.c (machopic_non_lazy_ptr_name): Change strcat to memcpy and add length together. (machopic_stub_name): Likewise. @@ -88,7 +608,7 @@ * gengtype-lex.l: Recognize typedef of functions without PARAMS macro. 2003-10-04 Nathanael Nerode - + * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c: Convert to ISO C90 function declarations and definitions.