OSDN Git Service

* tree-outof-ssa.c (_elim_graph): Change the type of nodes and
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index fa94448..562498f 100644 (file)
@@ -1,3 +1,342 @@
+2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * 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  <joseph@codesourcery.com>
+
+       PR other/21052
+       * doc/extend.texi (Type Attributes): Correct example syntax.
+
+2005-05-09  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/21160
+       * doc/invoke.texi (-Wuninitialized): Update documentation.
+
+2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.c (const_ok_for_arm): Use a faster algorithm.
+
+2005-05-09  David Edelsohn  <edelsohn@gnu.org>
+
+        PR target/21477
+        * config/rs6000/rs6000.md (add_op2): New.
+        (add<mode>3): Use it.
+
+2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * 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  <roger@eyesopen.com>
+
+       * 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  <mark@codesourcery.com>
+
+       PR 18655
+       * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
+       before outputting DWARF_FRAME_RETURN_COLUMN.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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<mode>_full"):
+       Adapt calls for 's390_tm_ccmode' to the new signature.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * 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  <stevenb@suse.de>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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:<MODE> 33)' by '(reg:<MODE>
+       CC_REGNUM)'.
+       ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
+       '(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
+       ("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
+       REG_SC)'.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <straetling@de.ibm.com>
+
+       * 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  <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