X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=5377d7ce56a58fd713367a8ec67634b714e0001c;hb=6bc11008824b06fe4098cb7a0f76c51395079c7f;hp=c440da33089ee777bec3185cf3fb51bcd88151bf;hpb=27a9551bcafbdb7854ecd6e9479fbdcbe6436fa6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c440da33089..5377d7ce56a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,828 @@ +2004-02-05 Kelley Cook + + PR/13485 + Makefile.in (srcextra): Add a level of indirection to ... + (gcc.srcextra): ... here. + (po-generated): Delete. + (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on + options.c. + (start.encap): Remove superfluous lang.srcextra dependency. + objc/Make-lang.in (po-generated): Delete. + +2004-02-05 Kazu Hirata + + * config/ia64/ia64.c (REG_GP): Remove. + +2004-02-05 Rainer Orth + + * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define. + +2004-02-05 Devang Patel + + * dwarf2out.c (force_type_die): Look up input type itself + instead of root_type() of type. + +2004-02-05 Andreas Krebbel + + * config/s390/s390.md ("*tmqidi_ext"): New insn. + ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old + pre-reload splitters are transformed to post-reload + define_insn_and_split patterns. + ("*tmqisi_ext"): Renamed old "*tmqi_ext". + +2004-02-05 Kazu Hirata + + * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with + TARGET_PROMOTE_PROTOTYPES. + +2004-02-05 Rainer Orth + + PR middle-end/13750 + Revert: + 2004-01-15 Geoffrey Keating + PR pch/13361 + * c-typeck.c (constructor_asmspec): Delete. + (struct initializer_stack): Delete field 'asmspec'. + (start_init): Delete saving of asmspec. + (finish_init): Don't update constructor_asmspec. + * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. + * stmt.c (expand_asm): Duplicate strings from tree. + (expand_asm_operands): Likewise. + * tree.c (tree_size): Update computation of size of STRING_CST. + (make_node): Don't make STRING_CST nodes. + (build_string): Allocate string with tree node. + * tree.def (STRING_CST): Update comment. + * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. + (tree_string): Place contents of string in tree node. + * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string + from tree. + +2004-02-05 Joseph S. Myers + + * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to + msgid. + +2004-02-05 Dorit Naishlos + + * config/rs6000/altivec.md (*movv4si_internal): At least one + operand must be altivec_register_operand. + (*movv8hi_internal1): Likewise. + (*movv16qi_internal1): Likewise. + (*movv4sf_internal1): Likewise. + +2004-02-05 David Edelsohn + + * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr. + * configure: Regenerate. + +2004-02-05 Jonathan Wakely + + * doc/install.texi: Update description of --gxx-include-dir to + give correct default value. + +2004-02-05 Kazu Hirata + + * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace + 8 with MAC_REG. + +2004-02-05 Kazu Hirata + + * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with + gen_rtx_PARALLEL. + +2004-02-05 Kazu Hirata + + * emit-rtl.c: Update the comment about the file. + +2004-02-05 Joseph S. Myers + + * sourcebuild.texi (Test Idioms): Update testcase naming + conventions. + +2004-02-04 Per Bothner + + Partially revert/redo 2003-10-01 change; fix -fworking-directory. + * c-ppoutput.c (pp_dir_change): New function. + * c-common.h (pp_dir_change): New declaration. + * cpplib.h (struct cpp_options): Remove working_directory field. + * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to + (cpp_read_main_file): as before 10-01. Call _cpp_stack_file. + Don't handle -fworking_directory here, but in c_common_post_options. + (read_original_directory): Don't back up when done. + Don't clear no-longer used working_directory flag. + * cpplib.h: Update declarations to match. + * c-lex.c (cb_dir_change): Move to c-opts.c. + (init_c_lex): Don't set dir_change callback here, since we want + to set it even if flag_preprocess_only. + * c-opts.c (cb_dir_change): Function moved from c-lex.c. + (c_common_post_options): Set dir_change callback. + Call pp_dir_change if approporiate. + (finish_options): Don't call cpp_find_main_file here. Hence remove + unneeded parameter and result. Do LC_RENAME for . + (c_common_post_options): Call cpp_read_main_file here instead. + (c_common_init): Update accordingly. + (push_command_line_include): Don't cpp_push_main_file. + Do LC_RENAME rather than LC_LEASE to get back to main file. + Compared to pre-10-01 version, inline cpp_rename_to_main_file. + (c_common_parse_file): Call cpp_read_main_file for subsequent main + files, but call finish_options for all files. + * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory. + * fix-header.c (read_scan_file): Call cpp_read_main_file instead of + cpp_find_main_file + cpp_push_main_file. + * c-lex.c (fe_file_change): Don't set main_input_filename here. + * opts.c (handle_options): Only set main_input_filename first time. + +2004-02-05 Ian Lance Taylor + + * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma. + +2004-02-04 Geoffrey Keating + + * reload.c (find_equiv_reg): When checking for register overlap, + don't index hard_regno_nregs with a pseudo-reg. + +2004-02-04 Ulrich Weigand + + * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx(). + +2004-02-04 David Edelsohn + + * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno, + against FIRST_PSEUDO_REGISTER. + +2004-02-04 Rainer Orth + + * Makefile.in: Move target, host overrides after per-language + fragments. + + * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear. + (GNATLIBCFLAGS): Remove -g. + +2004-02-04 Kazu Hirata + + * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c, + config/i386/i386.c, config/i386/i386.h, config/i386/i386.md, + config/ia64/ia64.c, config/ia64/unwind-ia64.c, + config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c, + config/pdp11/pdp11.c, config/rs6000/rs6000.c, + config/sparc/sparc.c, config/vax/vax.c: Revert the + replacements of "FALLTHRU" with "Fall through" done in the + previous patch. + +2004-02-04 Kazu Hirata + + * config/darwin.c, config/darwin.h, config/freebsd-spec.h, + config/arm/arm.c, config/arm/arm.md, + config/cris/cris-protos.h, config/fr30/fr30.c, + config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h, + config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c, + config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h, + config/ip2k/ip2k.md, config/ip2k/libgcc.S, + config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h, + config/m68k/m68k.c, config/m68k/netbsd-elf.h, + config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md, + config/ns32k/netbsd.h, config/ns32k/ns32k.c, + config/ns32k/ns32k.h, config/pdp11/pdp11.h, + config/rs6000/darwin-ldouble.c, config/s390/s390.h, + config/s390/s390.md, config/sparc/netbsd-elf.h, + config/sparc/openbsd.h, config/sparc/sparc.c, + config/xtensa/lib2funcs.S: Fix comment formatting. + +2004-02-04 Kazu Hirata + + * config/alpha/alpha.c, config/arc/arc.c, + config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h, + config/arm/arm1026ejs.md, config/arm/arm1136jfs.md, + config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c, + config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md, + config/i386/i386.c, config/i386/i386.h, config/i386/i386.md, + config/ia64/ia64.c, config/ia64/unwind-ia64.c, + config/iq2000/iq2000.c, config/m32r/m32r.c, + config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h, + config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c, + config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c, + config/rs6000/rs6000.h, config/sparc/sparc.c, + config/vax/vax.c: Fix comment typos. Follow spelling + conventions. + +2004-02-04 Kazu Hirata + + * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h, + caller-save.c, df.h, genconfig.c, global.c, lcm.c, + ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c, + sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md, + config/arm/fpa.md, config/arm/iwmmxt.md, + config/arm/netbsd-elf.h, config/arm/netbsd.h, + config/m68hc11/m68hc11.md, config/mips/iris5.h, + config/mn10300/mn10300.md, config/rs6000/altivec.md, + config/sparc/netbsd-elf.h: Update copyright. + +2004-02-04 Eric Botcazou + + * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1 + for all modes whose size is greater than 8 bytes if ARCH32. + (sparc_va_arg): Handle all modes whose size is greater than 8 bytes + by reference if ARCH32. + +2004-02-04 Aldy Hernandez + + * cgraphunit.c (cgraph_postorder): Fix typo in comment. + +2004-02-04 Ulrich Weigand + + * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move + to before adddi3 insn patterns. + ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31", + "reload_insi"): Move to before addsi3 insn patterns. + +2004-02-04 Mark Mitchell + + * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P + parameter. Use it instead of current_function_is_thunk. + * function.h (struct function): Update documentation for is_thunk. + * tree.h (CALL_FROM_THUNK_P): New macro. + * config/alpha/alpha.c (alpha_sa_mask): Do not check + no_new_pseudos when testing current_function_is_thunk. + * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse. + +2004-02-04 Kazu Hirata + + * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with + TARGET_SETUP_INCOMING_VARARGS. + +2004-02-04 Kazu Hirata + + * emit-rtl.c (gen_rtx): Remove. + * genattrtab.c: Don't mention gen_rtx in a comment. + * rtl.h: Remove the prototype for gen_rtx. + * doc/md.texi: Replace gen_rtx with gen_rtx_REG. + +2004-02-04 Kazu Hirata + + * config/arc/arc.h, config/fr30/fr30.h + (SETUP_INCOMING_VARARGS): Remove the target-independent + comments. + * doc/tm.texi: Don't mention deprecated target macros. + +2004-02-04 Kazu Hirata + + * config/fr30/fr30.h (FUNCTION_VALUE): Remove the + target-independent comment. + +2004-02-04 Kazu Hirata + + * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't + mention deprecated target macros. + +2004-02-04 Kazu Hirata + + * config.gcc: Remove obsolete ports and configurations. + * config/linux-aout.h, config/netware.h, + config/t-linux-gnulibc1, config/d30v/abi, + config/d30v/d30v-protos.h, config/d30v/d30v.c, + config/d30v/d30v.h, config/d30v/d30v.md, + config/d30v/libgcc1.asm, config/d30v/t-d30v, + config/dsp16xx/dsp16xx-modes.def, + config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c, + config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md, + config/i370/README, config/i370/i370-c.c, + config/i370/i370-protos.h, config/i370/i370.c, + config/i370/i370.h, config/i370/i370.md, config/i370/linux.h, + config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370, + config/i386/freebsd-aout.h, config/i386/linux-aout.h, + config/i386/moss.h, config/i386/netware.h, + config/i386/svr3.ifile, config/i386/svr3dbx.h, + config/i386/svr3gas.h, config/i386/svr3z.ifile, + config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h, + config/i960/i960-c.c, config/i960/i960-coff.h, + config/i960/i960-modes.def, config/i960/i960-protos.h, + config/i960/i960.c, config/i960/i960.h, config/i960/i960.md, + config/i960/rtems.h, config/i960/t-960bare, + config/m68k/hp310.h, config/m68k/hp320.h, + config/m68k/hp320base.h, config/m68k/m68kv4.h, + config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320: + Remove. + * doc/extend.texi, doc/install.texi, doc/invoke.texi, + doc/md.texi: Remove mentions of obsolete ports. + +2004-02-04 Jan Hubicka + + * alias.c (find_base_term, get_addr): Do not dereference NULL + pointer when all VALUE's locations has been invalidated. + (rtx_equal_for_memref_p): Simplify checking of VALUEs. + +2004-02-03 Wolfgang Bangerth + + * doc/invoke.texi (x86 options): Fix spelling/wording. + +2004-02-03 Richard Sandiford + + * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to + put the original string in a comment. + * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument. + * config/mips/mips.c (mips_output_ascii): Likewise. + * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly. + +2004-02-03 Kazu Hirata + + * system.h (GIV_SORT_CRITERION): Poison. + * config/avr/avr.h (GIV_SORT_CRITERION): Remove. + * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise. + +2004-02-03 Roger Sayle + + PR target/9348 + * expr.c (expand_expr_real) : When performing widening + multiplies with a multiplication of the wrong signedness, its the + signedness of the multiplication that we've performed that needs to + be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move + if expand_mult_highpart_adjust places the result in target. + +2004-02-03 Richard Henderson + + * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings. + +2004-02-03 J"orn Rennecke + + * config.gcc (sh[234]l): Use little endian fragments. + +2004-02-03 Paul Koning + + * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls. + * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add. + * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f, + encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11 + floating point format. + (pdp11_f_format, pdp11_d_format): New real_format descriptors for + the above functions. + (output_move_quad): Output float values in correct target format. + (legitimate_const_double_p): New function. + * config/pdp11/pdp11.h: Fix typos. + (FLOAT_WORDS_BIG_ENDIAN): Add definition. + (TARGET_FLOAT_FORMAT): Ditto. + (pdp11_f_format, pdp11_d_format): Add external declarations. + (MAX_REGS_PER_ADDRESS): Corrected. + (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p(). + (PRINT_OPERAND): Output float literals in target format. + +2004-02-03 Mark Mitchell + + PR c++/13975 + * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and + TI_PRIVATE. + (access_public_node): Redefine. + (access_protected_node): Likewise. + (access_private_node): Likewise. + * tree.c (build_common_tree_nodes): Create access_public_node, + access_protected_node, and access_private_node. + +2004-02-03 Steve Ellcey + + * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value. + (MASK_INLINE_INT_DIV_THR): Ditto. + (MASK_INLINE_SQRT_LAT): Ditto. + (MASK_INLINE_SQRT_THR): Ditto. + (MASK_DWARF2_ASM): Ditto. + (MASK_EARLY_STOP_BITS): Ditto. + +2004-02-02 Paul Brook + + Merge from csl-arm-branch. + + 2004-01-30 Paul Brook + + * aof.h (REGISTER_NAMES): Add vfp reg names + (ADDITIONAL_REGISTER_NAMES): Ditto. + * aout.h (REGISTER_NAMES): Ditto. + (ADDITIONAL_REGISTER_NAMES): Ditto. + * arm-protos.h: Update/Add Prototypes. + * arm.c (init_fp_table): Rename from init_fpa_table. Update users. + Only allow 0.0 for VFP. + (fp_consts_inited): Rename from fpa_consts_inited. Update users. + (values_fp): Rename from values_fpa. Update Users. + (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa. + Update users. Only check valid constants for this hardware. + (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users. + Only allow consts for FPA. + (arm_float_add_operand): Rename from fpa_add_operand. Update users. + Only allow consts for FPA. + (use_return_insn): Check for saved VFP regs. + (arm_legitimate_address_p): Handle VFP DFmode addressing. + (arm_legitimize_address): Ditto. + (arm_general_register_operand): New function. + (vfp_mem_operand): New function. + (vfp_compare_operand): New function. + (vfp_secondary_reload_class): New function. + (arm_float_compare_operand): New function. + (vfp_print_multi): New function. + (vfp_output_fstmx): New function. + (vfp_emit_fstm): New function. + (arm_output_epilogue): Output VPF reg restore code. + (arm_expand_prologue): Output VFP reg save code. + (arm_print_operand): Add 'P'. + (arm_hard_regno_mode_ok): Return modes for VFP regs. + (arm_regno_class): Return classes for VFP regs. + (arm_compute_initial_elimination_offset): Include space for VFP regs. + (arm_get_frame_size): Ditto. + * arm.h (FIXED_REGISTERS): Add VFP regs. + (CALL_USED_REGISTERS): Ditto. + (CONDITIONAL_REGISTER_USAGE): Enable VFP regs. + (FIRST_VFP_REGNUM): Define. + (LAST_VFP_REGNUM): Define. + (IS_VFP_REGNUM): Define. + (FIRST_PSEUDO_REGISTER): Include VFP regs. + (HARD_REGNO_NREGS): Handle VFP regs. + (REG_ALLOC_ORDER): Add VFP regs. + (enum reg_class): Add VFP_REGS. + (REG_CLASS_NAMES): Ditto. + (REG_CLASS_CONTENTS): Ditto. + (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs. + (REG_CLASS_FROM_LETTER): Add 'w'. + (EXTRA_CONSTRAINT_ARM): Add 'U'. + (EXTRA_MEMORY_CONSTRAINT): Define. + (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs. + (SECONDARY_INPUT_RELOAD_CLASS): Ditto. + (REGISTER_MOVE_COST): Ditto. + (PREDICATE_CODES): Add arm_general_register_operand, + arm_float_compare_operand and vfp_compare_operand. + * arm.md (various): Rename as above. + (divsf3): Enable when TARGET_VFP. + (divdf3): Ditto. + (movdfcc): Ditto. + (sqrtsf2): Ditto. + (sqrtdf2): Ditto. + (arm_movdi): Disable when TARGET_VFP. + (arm_movsi_insn): Ditto. + (movsi): Only split with general regs. + (cmpsf): Use arm_float_compare_operand. + (push_fp_multi): Restrict to TARGET_FPA. + (vfp.md): Include. + * vfp.md: New file. + * fpa.md (various): Rename as above. + * doc/md.texi: Document ARM w and U constraints. + + 2004-01-15 Paul Brook + + * config.gcc: Add with_fpu. Allow with-float=softfp. + * config/arm/arm.c (arm_override_options): Rename *-s to *s. + Break out of loop when we find a float-abi. Fix typo. + * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu". + Set -mfloat-abi=. + * doc/install.texi: Document --with-fpu. + + 2003-01-14 Paul Brook + + * config.gcc (with_arch): Add armv6. + * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s. + * config/arm/arm.c (arm_overrride_options): Ditto. + + 2004-01-08 Richard Earnshaw + + * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT. + (FL_ARCH6): Renamed from FL_ARCH6J. + (arm_arch3m): Renamed from arm_fast_multiply. + (arm_arch6): Renamed from arm_arch6j. + * arm.h: Update all uses of above. + * arm-cores.def: Likewise. + * arm.md: Likewise. + + * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j, + not arm6j. Add entry for arch armv6. + + 2004-01-07 Richard Earnshaw + + * arm.c (arm_emit_extendsi): Delete. + * arm-protos.h (arm_emit_extendsi): Delete. + * arm.md (zero_extendhisi2): Also handle zero-extension of + non-subregs. + (zero_extendqisi2, extendhisi2, extendqisi2): Likewise. + (thumb_zero_extendhisi2): Only match if not v6. + (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2) + (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi) + (thumb_extendqisi2): Likewise. + (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns. + (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns. + (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns. + (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns. + (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete. + (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete. + (arm_zero_extendhisi2addsi): Remove subreg. Add attributes. + (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise. + (arm_extendqisi2addsi): Likewise. + + 2003-12-31 Mark Mitchell + + Revert this change: + * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG + + REG addressing modes. + + * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG + + REG addressing modes. + + 2003-12-30 Mark Mitchell + + * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept + CONSTANT_P_RTX. + + 2003-30-12 Paul Brook + + * longlong.h: protect arm inlines with !defined (__thumb__) + + 2003-30-12 Paul Brook + + * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__. + + 2003-12-30 Nathan Sidwell + + * builtins.c (expand_builtin_apply_args_1): Fix typo in previous + change. + + 2003-12-29 Nathan Sidwell + + * builtins.c (expand_builtin_apply_args_1): Add pretend args size + to the virtual incoming args pointer for downward stacks. + + 2003-12-29 Paul Brook + + * config/arm/arm-cores.def: Add cost function. + * config/arm/arm.c (arm_*_rtx_costs): New functions. + (arm_rtx_costs): Remove + (struct processors): Add rtx_costs field. + (all_cores, all_architectures): Ditto. + (arm_override_options): Set targetm.rtx_costs. + (thumb_rtx_costs): New function. + (arm_rtx_costs_1): Remove cases handled elsewhere. + * config/arm/arm.h (processor_type): Add COSTS parameter. + + 2003-12-29 Nathan Sidwell + + * config/arm/arm.md (generic_sched): arm926 has its own scheduler. + (arm926ejs.md): Include it. + * config/arm/arm926ejs.md: New pipeline description. + + 2003-12-24 Paul Brook + + * config/arm/arm.c (arm_arch6j): New variable. + (arm_override_options): Set it. + (arm_emit_extendsi): New function. + * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype. + * config/arm/arm.h (arm_arch6j): Declare. + * config/arm/arm.md: Add sign/zero extend insns. + + 2003-12-23 Paul Brook + + * config/arm/arm.c (all_architectures): Add armv6. + * doc/invoke.texi: Document it. + + 2003-12-19 Paul Brook + + * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify + insn patterns to match. + * config/arm/arm-generic.md: Ditto. + * config/arm/cirrus.md: Ditto. + * config/arm/fpa.md: Ditto. + * config/amm/iwmmxt.md: Ditto. + * config/arm/arm1026ejs.md: Ditto. + * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses + for 11_loadb. + + 2003-12-18 Nathan Sidwell + + * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare. + * config/arm/arm.c (arm_adjust_cost): Check shift cost for + TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG. + (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep, + arm_no_early_mul_dep): Correctly deal with conditional execution, + parallels and single shift operations. + (arm_no_early_alu_shift_value_dep): Define. + * arm.md (attr type): Replace 'normal' with 'alu', + 'alu_shift' and 'alu_shift_reg'. + (attr core_cycles): Adjust. + (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3, + *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0, + *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp, + *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0, + *arith_shiftsi_compare0_scratch, *sub_shiftsi, + *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch, + *if_shift_move, *if_move_shift, *if_shift_shift): Set type + attribute appropriately. + * config/arm/arm1026ejs.md (alu_op): Adjust. + (alu_shift_op, alu_shift_reg_op): New. + * config/arm/arm1136.md: Add better bypasses for early + registers. Remove load[234] and store[234] bypasses. + (11_alu_op): Adjust. + (11_alu_shift_op, 11_alu_shift_reg_op): New. + + 2003-12-15 Nathan Sidwell + + * config/arm/arm-protos.h (arm_no_early_store_addr_dep, + arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare. + * config/arm/arm.c (arm_no_early_store_addr_dep, + arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define. + * config/arm/arm1026ejs.md: Add load-store bypass. + * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles. + Add bypasses between instructions. + + 2003-12-10 Paul Brook + + * config/arm/arm.c (arm_fpu_model): New variable. + (arm_fload_abi): New variable. + (target_fpe_name): Rename from target_fp_name. + (target_fpu_name): New variable. + (arm_is_cirrus): Remove. + (fpu_desc): New struct. + (all_fpus): Define. + (pf_model_for_fpu): Define. + (all_loat_abis): Define. + (arm_override_options): Set fp arch flags based on -mfpu= + and -float-abi=. + (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM. + (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM. + (*): Use new TARGET_* flags. + * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove. + (TARGET_HARD_FLOAT): No longer implies TARGET_FPA. + (TARGET_SOFT_FLOAT): Ditto. + (TARGET_SOFT_FLOAT_ABI): New. + (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies + TARGET_HARD_FLOAT. + (TARGET_VFP): No longer implies TARGET_HARD_FLOAT. + (TARGET_OPTIONS): Add -mfpu=. + (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM. + (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM. + (arm_pf_model): Define. + (arm_float_abi_type): Define. + (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE + * config/arm/arm.md: Use new TARGET_* flags. + * config/arm/cirrus.md: Ditto. + * config/arm/fpa.md: Ditto. + * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=. + * config/arm/semi.h (ASM_SPEC): Ditto. + * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp. + (FPUTYPE_DEFAULT): Set to VFP. + * doc/invoke.texi: Document -mfpu= and -mfloat-abi=. + + 2003-11-22 Phil Edwards + + PR target/12476 + * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use + 'bx' instead of 'b' to avoid branch range restrictions. Output + the thunk immediately before the thunked-to function. + * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit + .thumb_func if a thunk is being generated. Emit .code 16 along + with .thumb_func if a thunk is not being generated. + + 2003-11-15 Nicolas Pitre + + * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3, + arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns. + * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3. + (lshrdi3_iwmmxt): Renamed from lshrdi3. + * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly. + + 2003-11-12 Steve Woodford + Ian Lance Taylor + + * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new + code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__). + + 2003-11-05 Phil Edwards + + * config/arm/arm.md (insn): Add new V6 instruction names. + (generic_sched): New attr. + * config/arm/arm-generic.md: Use generic_sched here. + * config/arm/arm1026ejs.md: Do not model fetch/issue/decode + stages of pipeline. Adjust latency counts accordingly. + * config/arm/arm1136jfs.md: New file. + + 2003-10-28 Mark Mitchell + + * config/arm/arm.h (processor_type): New enumeration type. + (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S, + ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores. + (CPP_CPU_ARCH_SPEC): Likewise. + * config/arm/arm.c (arm_tune): New variable. + (all_cores): Use cores.def. + (all_architectures): Add representative processor. + (arm_override_options): Restructure way in which tuning + information is deduced. + * arm.md: Update "insn" and "type" attributes throughout. + (insn): New attribute. + (type): Compute "mult" from "insn" attribute. Add load2, + load3, load4 alternatives. + (arm automaton): Move to arm-generic.md. + * config/arm/arm-cores.def: New file. + * config/arm/arm-generic.md: Likewise. + * config/arm/arm1026ejs.md: Likewise. + +2004-02-03 Eric Botcazou + + * doc/invoke.texi (SPARC options): Remove -mflat and + all -mxxx (xxx:chip) options. + * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete. + * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise. + * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise. + * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise. + * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes. + * config/sparc/sparc.c: Likewise. + (sparc_output_function_prologue): Remove TARGET_FLAT handling. + (sparc_nonflat_function_prologue): Rename into sparc_function_prologue. + (sparc_output_function_epilogue): Remove TARGET_FLAT handling. + (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue. + (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete. + (sparc_flat_must_save_register_p): Likewise. + (sparc_flat_compute_frame_size): Likewise. + (sparc_flat_save_restore): Likewise. + (sparc_flat_function_prologue): Likewise. + (sparc_flat_function_epilogue): Likewise. + (sparc_flat_epilogue_delay_slots): Likewise. + (sparc_flat_eligible_for_epilogue_delay): Likewise. + (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling. + * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete. + (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options. + (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling. + (CONDITIONAL_REGISTER_USAGE): Likewise. + (FRAME_POINTER_REQUIRED): Likewise. + (INITIAL_ELIMINATION_OFFSET): Likewise. + (BASE_RETURN_VALUE_REG): Likewise. + (BASE_OUTGOING_VALUE_REG): Likewise. + (BASE_PASSING_ARG_REG): Likewise. + (BASE_INCOMING_ARG_REG): Likewise. + (INCOMING_REGNO): Likewise. + (OUTGOING_REGNO): Likewise. + (LOCAL_REGNO): Likewise. + (DELAY_SLOTS_FOR_EPILOGUE): Likewise. + (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. + (EPILOGUE_USES): Likewise. + * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7". + ("flat" attribute): Delete. + (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute + handling. + (call followed by jump define_peephole's): Delete. + (exception_receiver): Likewise. + (builtin_setjmp_receiver): Likewise. + * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat. + +2004-02-03 Paolo Bonzini + + PR c/11658 + PR c/13994 + * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend + on langhooks.h. + * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h. + * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c: + Include langhooks.h. Replace c_common_truthvalue_conversion + with the truthvalue_conversion language hook throughout. + (expr_no_commas): Call default_conversion before save_expr + for the first term of the production 'x ? : y'. + * c-common.c (c_common_truthvalue_conversion): Remove + obsolete block. Invoke recursively the hook instead + of this function. + * c-convert.c (convert): handle ERROR_MARK_NODE. + * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE + returned by the truthvalue_conversion language hook. + * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use + c_objc_common_truthvalue_conversion. + * c-objc-common.c (c_objc_common_truthvalue_conversion): + New function. + * c-tree.h (c_objc_common_truthvalue_conversion): Declare it. + * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use + c_objc_common_truthvalue_conversion. + +2004-02-03 Kazu Hirata + + * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead + of gen_rtx. + (LIBCALL_VALUE): Likewise. + * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use + gen_rtx_CC0 instead of gen_rtx. + * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use + gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx. + (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of + gen_rtx. + (m68hc11_emit_logical): Likewise. + +2004-02-03 Kazu Hirata + + * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c, + config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md, + config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md, + config/m32r/m32r.md, config/m68hc11/m68hc11.c, + config/mips/mips.md, config/mmix/mmix.c, + config/mn10300/mn10300.c, config/mn10300/mn10300.md, + config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c, + config/rs6000/altivec.md, config/s390/s390.c, + config/s390/s390.h, config/s390/s390.md, config/sh/sh.c, + config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c: + Use const0_rtx instead of GEN_INT (0). Do the same for other + constants that are readily available. + +2004-02-03 Kazu Hirata + + * doloop.c, optabs.c, regmove.c, sched-deps.c, + config/i386/i386.c, config/i386/i386.md: Use const0_rtx + instead of GEN_INT (0). Do the same for other constants that + are readily available. + 2004-02-03 Kazu Hirata * combine.c (simplify_set): Use gen_rtx_fmt_e instead of