X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=ffdd2bbff2afbf8dfedbe289589f6ee41fef5058;hp=122233575c742703bdf6c4878b681b86656951af;hb=fea849d3ae75cee1c377ecb89c6b0876e1fb601b;hpb=0f1bff63e02b739e234e0edab9875a6bce49b2ed diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 122233575c7..ffdd2bbff2a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,709 @@ +2005-05-10 Joseph S. Myers + + PR c/21342 + * c-decl.c (pushdecl): When there is a declaration in the current + scope and the declarations are external linkage, check for + compatibility with the type in the external scope and update the + type in the external scope with the composite type information. + Do not form a composite type of the new type and the visible type + if they are incompatible. + +2005-05-10 Nathan Sidwell + + * crtstuff.c: Revert part of 2005-05-08 Change. + (IN_LIBGCC2): Define. + +2005-05-10 Eric Botcazou + + * config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and + remove redundant test. + (fp_mov_p): Accept 0. + (fp_high_losum_p): Remove redundant test. + * config/sparc/predicates.md (const_high_operand): Explicitly test + (not small_int_operand). + (fp_const_high_losum_operand): New. + * config/sparc/sparc.md (movsi_insn): Do not emit 'clr'. Reorder. + (movdi_insn_sp32_v9): Use canonical predicates. + (movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64. + (movdi_insn_sp64_novis): Delete. + (movdi_insn_sp64_vis): Rename into movdi_insn_sp64. + (movsf_insn_novis): Delete. + (movsf_insn_vis): Rename into movsf_insn. + (movsf_no_f_insn): Rename into movsf_insn_no_fpu. + (movsf_lo_sum): Use fp_const_high_losum_operand. + (movsf_high): Likewise. + (movsf_high_losum splitter): Likewise. + (mov expander): Use register_or_zero_operand. + (mov expander): Likewise. + (movdf_insn_sp32): Use register_or_zero_operand. + (movdf_no_e_insn_sp32): Use register_or_zero_operand. + Rename into movdf_insn_sp32_no_fpu. + (movdf_no_e_insn_v9_sp32): Use register_or_zero_operand. + Rename into movdf_insn_sp32_v9_no_fpu. + (movdf_insn_v9only_novis): Delete. + (movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9. + (movdf_insn_sp64_novis): Delete. + (movdf_insn_sp64_vis): Rename into movdf_insn_sp64. + (movdf_no_e_insn_sp64): Use register_or_zero_operand. + Rename into movdf_insn_sp64_no_fpu. + (movtf expander): Use register_or_zero_operand. + (movtf_insn_sp32): Delete. + (movtf_insn_vis_sp32): Use register_or_zero_operand. + Rename into movtf_insn_sp32. + (movtf_no_e_insn_sp32): Use register_or_zero_operand. + Rename into movtf_insn_sp32_no_fpu. + (movtf_insn_hq_sp64): Delete. + (movtf_insn_hq_vis_sp64): Use register_or_zero_operand. + Rename into movtf_insn_sp64_hq. + (movtf_insn_sp64): Delete. + (movtf_insn_vis_sp64): Use register_or_zero_operand. + Rename into movtf_insn_sp64. + (movtf_no_e_insn_sp64): Use register_or_zero_operand. + Rename into movtf_insn_sp64_no_fpu. + +2005-05-10 Nathan Sidwell + + * config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use + gcc_assert and gcc_unreachable as appropriate. + (xstormy16_split_cbranch, xstormy16_output_cbranch_hi, + xstormy16_output_cbranch_si, xstormy16_split_move, + xstormy16_initial_elimination_offset, + xstormy16_encode_section_info, xstormy16_print_operand_address, + xstormy16_expand_call, xstormy16_expand_arith, + xstormy16_output_shift, xstormy16_init_builtins): Likewise. + +2005-05-10 Kazu Hirata + + * tree-outof-ssa.c (_elim_graph): Change the type of nodes and + const_copies to VEC(tree,heap)*. + (new_elim_graph, delete_elim_graph, elim_graph_size, + elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC + instead of VARRAY. + +2005-05-10 Joseph S. Myers + + PR other/21052 + * doc/extend.texi (Type Attributes): Correct example syntax. + +2005-05-09 Joseph S. Myers + + PR c/21160 + * doc/invoke.texi (-Wuninitialized): Update documentation. + +2005-05-09 Richard Earnshaw + + * arm.c (const_ok_for_arm): Use a faster algorithm. + +2005-05-09 David Edelsohn + + PR target/21477 + * config/rs6000/rs6000.md (add_op2): New. + (add3): Use it. + +2005-05-09 Richard Earnshaw + + * arm.c (arm_gen_constant): Add new heuristic for generating + constant integers that can be expressed as the difference of two + valid immediates. + +2005-05-09 Roger Sayle + + * c-tree.h (parser_build_unary_op): New prototype. + * c-typeck.c (parser_build_unary_op): New function to construct + a unary operation in the C parser. + * c-parser.c (c_parser_unary_expression): Use the new function + parser_build_unary_op when appropriate. + +2005-05-09 Mark Mitchell + + PR 18655 + * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT + before outputting DWARF_FRAME_RETURN_COLUMN. + +2005-05-09 Adrian Straetling + + * config/s390/s390.c: (s390_branch_condition_mask, + s390_branch_condition_mnemonic, s390_extra_constraint_str, + s390_const_ok_for_constraint_p, s390_expand_plus_operand, + legitimize_pic_address, s390_emit_tls_call_insn, + legitimize_tls_address, legitimize_tls_address, + s390_expand_addcc, print_shift_count_operand, print_operand, + addr_generation_dependency_p, annotate_constant_pool_refs, + s390_split_branches, find_constant_pool_ref, + replace_constant_pool_ref, s390_add_constant, s390_find_constant, + s390_find_execute, s390_mainpool_start, s390_chunkify_start, + s390_output_pool_entry, s390_function_value, + s390_call_saved_register_used, s390_emit_call): Replace + conditional aborts by gcc_assert and unconditional by gcc_unreachable. + (s390_select_ccmode, s390_match_ccmode_set, s390_extract_part, + s390_cannot_force_const_mem, s390_output_dwarf_dtprel, + get_some_local_dynamic_name, s390_function_arg_size, + s390_function_arg_advance, s390_function_arg, + s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in + default case by gcc_unreachable. + * config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace + conditional abort by gcc_assert. + ("doloop_si31"): Replace abort in last else by gcc_unreachable. + ("main_pool", "pool"): Replace unconditional abort by gcc_unreachable. + +2005-05-09 Adrian Straetling + + * config/s390/s390.c: (s390_decompose_address, + tls_symbolic_operand, legitimate_pic_operand_p, + legitimate_constant_p, legitimate_reload_constant_p, + s390_expand_plus_operand, legitimate_address_p, + legitimate_la_operand_p, ): Remove 'register' from signature. + (symbolic_reference_mentioned_p, + tls_symbolic_reference_mentioned_p): Remove 'register' from local + variable declarations. + (legitimize_address): Remove 'register' from + signature and local variable declarations. + +2005-05-09 Adrian Straetling + + * config/s390/s390-protos.h: (s390_match_ccmode, + s390_match_ccmode_set, reg_used_in_mem_p, + symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p, + legitimate_la_operand_p, preferred_la_operand_p, + s390_short_displacement, addr_generation_dependency_p, + legitimate_reload_constant_p, legitimate_address_p): Change return type + into 'bool'. + (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'. + * config/s390/s390.c: (s390_match_ccmode, + symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p, + legitimate_reload_constant_p): Change return type into 'bool'. + (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p): + Likewise. Additionally adapted comment. + (s390_extra_constraint_p): Change Comment to reflect 'int' return type. + (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'. + (s390_decompose_address): Change the type of the internal flags + "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'. + (struct s390_address): Change type of "pointer" into bool. + * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm_full"): + Adapt calls for 's390_tm_ccmode' to the new signature. + +2005-05-09 Adrian Straetling + + * config/s390/s390.c: (s390_match_ccmode_set, + s390_branch_condition_mnemonic, s390_short_displacement, + s390_decompose_address, get_thread_pointer, legitimize_tls_address, + print_shift_count_operand, get_some_local_dynamic_name, + get_some_local_dynamic_name_1, reg_used_in_mem_p, + addr_generation_dependency_p, s390_split_branches, + annotate_constant_pool_refs, find_constant_pool_ref, + replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base, + s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area, + s390_register_info, s390_frame_info, s390_init_frame_layout, + s390_update_frame_layout, save_fpr, restore_fpr, save_gprs, + restore_gprs, s390_function_arg_size, s390_function_arg_float, + s390_init_machine_status, s390_assemble_integer, s390_handle_option, + s390_encode_section_info, s390_cannot_force_const_mem, + s390_delegitimize_address, s390_return_in_memory, s390_init_builtins, + s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type, + s390_adjust_priority, s390_issue_rate, + s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p, + s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode, + s390_build_builtin_va_list, s390_gimplify_va_arg, + s390_function_ok_for_sibcall, s390_call_saved_register_used, + s390_pass_by_reference, s390_fixed_condition_code_regs, + s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish, + s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish, + s390_chunkify_cancel, s390_start_pool, s390_end_pool, + s390_add_pool_insn, s390_find_pool, s390_add_constant, + s390_find_constant, s390_add_execute, s390_find_execute, + s390_execute_label, s390_execute_target, s390_dump_pool, + s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes. + Move target macro definitions to the end of the file. Move several + functions within the file to assure correct compiling. + +2005-05-09 Steven Bosscher + + * calls.c (purge_reg_equiv_notes): Remove, fold into... + (fixup_tail_calls): ...here. Only look at insns between the + start of the function and the FUNCTION_BEG insn note. + + * gcse.c (one_cprop_pass): Fix typos in dumps. + + * tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos. + +2005-05-09 Adrian Straetling + + * config/s390/s390.h: Move xxx_REGNUM definitions to s390.md. + * config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM", + "RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants. + Replace every occurrence of '(reg: 33)' by '(reg: + CC_REGNUM)'. + ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace + '(reg: 36)' by '(reg: TP_REGNUM)'. + ("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI + REG_SC)'. + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("gf") New mode attribute. + ("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2", + "fixuns_truncsfsi2"): Merge. + ("fix_truncdfdi2", "fix_truncsfdi2"): Merge. + ("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee", + "fix_truncsfsi2_ieee"): Merge. + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("FPR") New mode macro. + ("de", "dee"): New mode attributes. + ("cmpdf", "cmpsf"): Merge. + ("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge. + ("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge. + ("*cmpdf_ccs", "*cmpsf_ccs"): Merge. + ("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge. + ("floatdidf2", "floatdisf2"): Merge. + ("adddf3", "addsf3"): Merge. + ("*adddf3", "*addsf3"): Merge. + ("*adddf3_cc", "*addsf3_cc"): Merge. + ("*adddf3_cconly", "*addsf3_cconly"): Merge. + ("*adddf3_ibm", "*addsf3_ibm"): Merge. + ("subdf3", "subsf3"): Merge. + ("*subdf3", "*subsf3"): Merge. + ("*subdf3_cc", "*subsf3_cc"): Merge. + ("*subdf3_cconly", "*subsf3_cconly"): Merge. + ("*subdf3_ibm", "*subsf3_ibm"): Merge. + ("muldf3", "mulsf3"): Merge. + ("*muldf3", "*mulsf3" "): Merge. + ("*muldf3_ibm", "*mulsf3_ibm"): Merge. + ("*fmadddf", "*fmaddsf"): Merge. + ("*fmsubdf", "*fmsubsf"): Merge. + ("divdf3", "divsf3"): Merge. + ("*divdf3", "*divsf3"): Merge. + ("*divdf3_ibm", "*divsf3_ibm"): Merge. + ("negdf2", "negsf2"): Merge. + ("*negdf2_cc", "*negsf2_cc"): Merge. + ("*negdf2_cconly", "*negsf2_cconly"): Merge. + ("*negdf2", "*negsf2"): Merge. + ("*negdf2_ibm", "*negsf2_ibm"): Merge. + ("absdf2", "abssf2"): Merge. + ("*absdf2_cc", "*abssf2_cc"): Merge. + ("*absdf2_cconly", "*abssf2_cconly"): Merge. + ("*absdf2", "*abssf2"): Merge. + ("*absdf2_ibm", "*abssf2_ibm"): Merge. + ("*negabsdf2_cc", "*negabssf2_cc"): Merge. + ("*negabsdf2_cconly", "*negabssf2_cconly"): Merge. + ("*negabsdf2", "*negabssf2"): Merge. + ("sqrtdf2", "sqrtsf2"): Merge. + +2005-05-09 Adrian Straetling + + * config/s390/s390.c: (s390_adjust_priority): Adapt to changed + attribute names. + * config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs", + "x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to + ("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf", + "x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type' + attribute names. + * config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads, + fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to + "fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf, + fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf". + ("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs", + "*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm", + "*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31", + "*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf", + "*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3", + "mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm", + "*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm", + "*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc", + "*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc", + "*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc", + "*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc", + "*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename + 'type' value. + ("*divsf3"): Additionally rename second pattern to + "*divsf3_ibm". + ("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm", + "*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm", + "*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3", + "subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3", + "subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical + 'type values' and rename 'type' value. + ("*addsf3"): Additionally rename second pattern to + "*addsf3_ibm". + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("SHIFT"): New mode macro. + ("lr", "shift"): New mode attributes. + ("ashldi3", "lshrdi3"): Merge. + ("*ashldi3_31", "*lshrdi3"_31): Merge. + ("*ashldi3_64", "*lshrdi3"_64): Merge. + ("ashlsi3", "lshrsi3"): Merge. + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("DSI", "SCOND"): New mode + macros. + ("E", "g"): New mode attributes. + ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge. + ("*adddi3_alc", "*addsi3_alc"): Merge. + ("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge. + ("*subdi3_slb", "*subsi3_slb"): Merge. + ("adddicc", "addsicc"): Merge. + ("*sconddi", "*scondsi"): Merge. + ("*sconddi_neg", "*scondsi_neg"): Merge. + ("sltu", "sgtu", "sleu", "sgeu"): Merge. + ("negdi2", "negsi2"): Extract expander pattern from + "negsi2" and merge with "negdi2". + ("*negdi2"): Merge with instruction pattern of "negsi2". + ("*negdi2_cc", "*negsi2_cc"): Merge. + ("*negdi2_cconly", "*negsi2_cconly"): Merge. + ("rotldi3", "rotlsi3"): Merge. + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("hc"): New mode attribute. + ("extendhidi2", "extendqidi2"): Merge. + ("*extendhidi2", "*extendqidi2"): Merge. + ("extendhisi2", "extendqisi2"): Merge. + ("zero_extendhidi2", "zero_extendqidi2"): Merge. + ("*zero_extendhidi2", "*zero_extendqidi2"): Merge. + Merged 2 define_split. + ("*zero_extendhisi2", "*zero_extendqisi2"): Merge. + ("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge. + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("COMPARE"): New mode macro. + ("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu", + "ble", "bleu", "bunordered", "bordered", "buneq", "bunlt", + "bungt", "bunle", "bunge", "bltgt"): Merge. + +2005-05-09 Adrian Straetling + + * config/s390/s390.md: ("INT"): New mode macro. + ("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"): + Merge. + +2005-05-09 Adrian Straetling + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * config/ia64/ia64.c: Fix a comment typo. + +2005-05-09 Richard Earnshaw + + 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 + + * 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 + + * 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 + + * 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 + + PR inline-asm/8788 + * stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode + operands. + +2005-05-08 Richard Henderson + + * config/alpha/alpha.c (adjust_address): Fix typo last change. + +2005-05-08 Stephane Carrez + + * 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 + Kazu Hirata + + 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 + + * 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 + + * 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 + + PR target/21281 + * config/m68hc11/predicates.md (splitable_operand): An immediate is + allowed. + +2005-05-08 Stephane Carrez + + * 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 + + 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 + H.J. Lu + Paul Brook + + * 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 + + * 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 + + 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 + Paolo Bonzini + + * 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 + Falk Hueffner + + * 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 + + * 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 + + 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. + (sgt_, sge_): Generalize to all members of swapped_fcond, + including sunge_ and sungt_. + +2005-05-08 Richard Sandiford + + * integrate.h (get_hard_reg_initial_val): Change type of register + parameter from int to unsigned int. + (has_hard_reg_initial_val): Likewise. + * integrate.c (get_hard_reg_initial_val): Likewise. + (has_hard_reg_initial_val): Likewise. Remove cast to unsigned int. + +2005-05-08 Kazu Hirata + + * except.c (eh_status): Change the type of ttype_data to + VEC(tree,gc)*. + (add_ttypes_entry, assign_filter_values, + output_function_exception_table): Use VEC instead of VARRAY. + +2005-05-07 David Edelsohn + + * config/rs6000/rs6000.md (popcount2): Fix non-C90 constant. + 2005-05-07 Paul Brook * Makefile.in: Fix dependencies.