OSDN Git Service

2005-05-09 Adrian Straetling <straetling@de.ibm.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 66fa361..abc2104 100644 (file)
@@ -1,5 +1,307 @@
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("INT"): New mode macro.
+       ("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
+       Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("GPR", "P"): New mode macros.
+       ("cmpdi", "cmpsi"): Merge.
+       ("strlendi", "strlensi"): Merge.
+       ("*strlendi", "*strlensi"): Merge.
+       ("movmemdi", "movmemsi"): Merge.
+       ("clrmemdi", "clrmemsi"): Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("HQI"): New mode macro.
+       ("icm_lo", "icm_hi", "max_uint"): New mode attributes.
+       ("*tmhi_full", "*tmqi_full"): Merge.
+       ("*tsthiCCT", "*tstqiCCT"): Merge.
+       ("*tsthi", "*tstqi"): Merge.
+       ("*tsthi_cconly", "tstqi_cconly"): Merge.
+       ("*sethighhisi", "*sethighqisi"): Merge.
+        
+2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * crtstuff.c, integrate.h, tree-scalar-evolution.h,
+       config/alpha/unicosmk.h, config/arc/arc.md,
+       config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
+       config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
+       config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
+       config/arm/semi.h, config/arm/uclinux-elf.h,
+       config/arm/wince-pe.h, config/fr30/fr30.c,
+       config/rs6000/altivec.h: Update copyright.
+
+2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
+       gcc_assert and gcc_unreachable as appropriate.
+       (pdp11_output_function_epilogue, output_move_double,
+       output_move_quad, print_operand_address, output_jump,
+       output_addr_const_pdp11): Likewise.
+       * config/pdp11/pdp11.h (FUNCTION_PROFILER,
+       ASM_OUTPUT_ALIGN): Likewise.
+       * config/pdp11/pdp11.md: Likewise.
+       (extendhisi2, subhi3, subqi3): Likewise.
+
+2005-05-09  David Edelsohn  <edelsohn@gnu.org>
+
+       PR middle-end/21237
+       * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
+       to NE_EXPR case.
+
+2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/ia64/ia64.c: Fix a comment typo.
+
+2005-05-09  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/21397
+       * arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
+       (arm_override_options): Use them instead of manifest constants.  Don't
+       allow -march to override the -mtune setting.
+
+2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
+       (gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
+       (function_arg_advance, function_arg, save_restore_insns,
+       iq2000_expand_prologue, iq2000_output_conditional_branch,
+       expand_one_builtin, print_operand):
+       * config/iq2000/iq2000.md (tablejump): Likewise.
+
+2005-05-09  David Ung  <davidu@mips.com>
+
+       * config/mips/mips.h (processor_type): Add names for the 24K. 
+       * config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
+       processor family.
+       * config/mips/mips.md (cnv_mode): New attribute for recording the
+       conversion types of float convert insns.
+       (cpu): Add 24k and 24kx.
+       (include): Include 24k.md file.
+       (truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
+       (fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
+       (floatdisf2): Setup cnv_mode.
+       (fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
+       setup cnv_mode.
+       * config/mips/24k.md: New file, contains 24k DFA pipeline
+       description. 
+
+2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/sh/sh.c (print_operand_address): Use gcc_assert and
+       gcc_unreachable as appropriate.
+       (print_operand, prepare_move_operands, prepare_scc_operands,
+       output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
+       gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
+       fixup_mova, gen_far_branch, sh_reorg, split_branches,
+       final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
+       sh_set_return_address, sh_setup_incoming_varargs,
+       initial_elimination_offset, sh_pch_valid_p, get_free_reg,
+       sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
+       check_use_sfunc_addr): Likewise.
+       * config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
+       * config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+       * config/sh/symbian.c (sh_symbian_mark_dllexport,
+       sh_symbian_mark_dllimport): Likewise.
+       * config/sh/sh.md: Likewise.
+       (movdicc, call_pop, call_value_pop, casesi_worker_1,
+       casesi_worker_2, casesi_shift_media, casesi_load_media,
+       return_media): Likewise.
+
+2005-05-08  Roger Sayle  <roger@eyesopen.com>
+
+       PR inline-asm/8788
+       * stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode
+       operands.
+
+2005-05-08  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (adjust_address): Fix typo last change.
+
+2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.h (REG_VALID_P): A regno must be >= 0
+       and -1 can happen in reg_renumber when no hard register is assigned.
+
+2005-05-08  Steven Bosscher  <stevenb@suse.de>
+           Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/14841, tree-optimization/15838
+       * tree-ssa-ccp.c (fold_const_aggregate_ref): New.
+       (evaluate_stmt): Call it.
+
+2005-05-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/ia64.c (ia64_override_options): Don't set
+       ia64_flag_var_tracking and clear flag_var_tracking here...
+       (ia64_file_start): ... but here.
+
+2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
+       and gcc_unreachable as appropriate.
+       (expand_prologue, expand_epilogue, m68hc11_gen_lowpart,
+       m68hc11_gen_highpart, print_operand, print_operand_address,
+       m68hc11_expand_compare, m68hc11_expand_compare_and_branch,
+       m68hc11_gen_movhi): Likewise.
+       * config/m68hc11/m68hc11.h (HARD_X_REGNUM): Reword comment.
+       * config/m68hc11/m68hc11.md: Reword comment.
+
+2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+
+       PR target/21281
+       * config/m68hc11/predicates.md (splitable_operand): An immediate is
+       allowed.
+
+2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/predicates.md (reg_or_some_mem_operand): Do not allow
+       the 68HC12 address indirect addressing mode as it is not supported by
+       bset and bclr.
+       * config/m68hc11/m68hc11-protos.h
+       (m68hc11_valid_addressing_p): Declare.
+       (m68hc11_add_mode): Declare.
+       * config/m68hc11/m68hc11.c (m68hc11_valid_addressing_p): Rename from
+       register_indirect_p and export it.
+       (m68hc11_z_replacement): Use emit_insn_after when adding the save Z
+       instruction so that it is part of the good BB.
+       (m68hc11_gen_movhi): Fix invalid generation of indexed indirect
+       addressing with movw.
+       (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
+       68HC12.
+       * config/m68hc11/m68hc11.h (ADDR_STRICT, ADDR_INCDEC, ADDR_INDEXED,
+       ADDR_OFFSET, ADDR_INDIRECT, ADDR__CONST): Moved from m68hc11.c.
+       * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
+       for 68HC11.
+       ("*movhi_68hc12"): Handle movhi_const0.
+       ("*subhi3", "subqi3"): Use general_operand for operand 1.
+       ("*subhi3_zext"): Likewise.
+
+2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+
+       PR target/19051
+       * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for
+       operand 1 and fix constraints.
+       ("mulqihi3"): Use general_operand for operand 2.
+
+2005-05-08  Julian Brown  <julian@codesourcery.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+           Paul Brook  <paul@codesourcery.com>
+
+       * configure.ac: Set ld_vers_major, ld_vers_minor and ld_vers_patch for
+       GNU linker. Support linker version x.x.x.x.x. Require GNU linker
+       20050308/2.16.0 or newer for comdat group.
+       * configure: Regenerated.
+       * config.in: Regenerated.
+       * varasm.c (default_function_rodata_section): Put .rodata section in
+       COMDAT group when necessary.
+       (default_elf_asm_named_section): Rename HAVE_GAS_COMDAT_GROUP to
+       HAVE_COMDAT_GROUP.
+       (default_unique_section_1): Don't use .gnu.linkonce when COMDAT is
+       available.
+
+2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-dfa.c (referenced_vars, add_referenced_var): Use VEC
+       instead of VARRAY.
+       * tree-flow.h (num_referenced_var, referenced_var): Likewise.
+       * tree-into-ssa.c (mark_def_site_blocks): Likewise.
+       * tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
+
+2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+
+       PR target/16925
+       * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
+       64-bit constants on 64-bit hosts.
+       (m68hc11_split_logical): Simplify.
+       (m68hc11_split_move): Likewise.
+
+2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.in (cs-tconfig.h): Pass USED_FOR_TARGET to mkconfig.sh
+       * aclocal.m4 (GCC_TARGET_TEMPLATE, AH_TEMPLATE): New.
+       * configure.ac (enable_checking): Fix typos in runtime_checking.
+       (ENABLE_RUNTIME_CHECKING): Mark as target template.
+       (xm_file): Prepend auto-host.h
+       (HAVE_GAS_HIDDEN, HAVE_LD_EH_FRAME_HDR): Mark as target template.
+       * mkconfig.sh: Do not automatically define USED_FOR_TARGET in
+       tconfig.h.
+       * crtstuff.c: Do not include auto-host.h.
+       (IN_LIBGCC2): Do not define.
+       * gcov-io.h: Include tconfig.h, not auto-host.h.
+       * libgcc2.c: Do not include auto-host.h.
+       (abort): Do not undefine.
+       * libgcov.c: Remove unneeded comment about config.h.
+       * unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
+       * config.in, configure: Regenerated.
+       
+2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+           Falk Hueffner  <falk@debian.org>
+
+       * config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
+       and gcc_unreachable as appropriate.
+       (get_aligned_mem, get_unaligned_address,
+       alpha_emit_set_long_const, alpha_emit_conditional_branch,
+       alpha_emit_setcc, alpha_emit_conditional_move,
+       alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
+       alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
+       alpha_expand_unaligned_load, alpha_expand_block_move,
+       alpha_expand_zap_mask, get_trap_mode_suffix,
+       get_round_mode_suffix, get_some_local_dynamic_name,
+       print_operand_address, function_arg, alpha_return_in_memory,
+       function_value, alpha_expand_builtin,
+       alpha_initial_elimination_offset, alpha_expand_epilogue,
+       summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
+       alphaev5_next_group, alpha_align_insns,
+       unicosmk_initial_elimination_offset, unicosmk_unique_section,
+       unicosmk_ssib_name): Likewise.
+       * config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+       * config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
+       ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
+       * config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
+       ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+       * config/alpha/alpha.md (*divmodsi_internal_er,
+       *divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
+       call_nt, call_umk, call_vms, call_value, sibcall_value,
+       call_value_osf, call_value_nt, call_value_vms, call_value_umk,
+       *call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
+       * config/alpha/predicates.md (input_operand): Likewise.
+
+2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
+       gcc_unreachable, as appropriate.
+       (frv_function_prologue, frv_alloc_temp_reg,
+       frv_initial_elimination_offset, frv_expand_block_move,
+       frv_expand_block_clear, frv_print_operand_jump_hint,
+       frv_legitimize_tls_address, unspec_got_name, frv_emit_move,
+       frv_emit_movsi, frv_split_cond_move, frv_split_minmax,
+       frv_ifcvt_modify_insn, frv_ifcvt_modify_final,
+       frv_adjust_field_align, frv_insn_unit, frv_cond_flags,
+       frv_sort_insn_group, frv_reorder_packet, frv_matching_accg_mode,
+       frv_in_small_data_p, frv_asm_out_constructor,
+       frv_asm_out_destructor, frv_output_dwarf_dtprel): Likewise.
+       * config/frv/frv.md (reload_incc_fp, *cond_exec_si_binary1,
+       *cond_exec_si_binary2, *cond_exec_si_divide, *cond_exec_si_unary1,
+       *cond_exec_sf_conv, *cond_exec_sf_add, call, sibcall, call_value,
+       sibcall_value, casesi): Likewise.
+
+       * config/mn10300/mn10300.c (print_operand): Use gcc_assert and
+       gcc_unreachable as appropriate.
+       (print_operand_address, mn10300_print_reg_list, expand_prologue,
+       expand_epilogue, notice_update_cc, initial_offset,
+       mn10300_address_cost_1): Likewise.
+       * config/mn10300/mn10300.md: Likewise.
+       (absdf2, abssf2, negdf2, negsf2): Likewise.
+
 2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
 
+       PR target/21416
        * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
        comparisons.
        * config/mips/mips.md (swapped_fcond): New code macro and attribute.