OSDN Git Service

2005-05-10 Adrian Straetling <straetling@de.ibm.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 950061c..981eda9 100644 (file)
@@ -1,3 +1,207 @@
+2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
+       ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
+       ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
+
+2005-05-10  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (dom_opt_finalize_block): Do not call
+       thread_across_edge for any abnormal edges.
+
+2005-05-10  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_atomic_op): New.
+       * config/ia64/ia64-protos.h: Declare it.
+       * config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
+       (sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
+       (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
+       (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
+       (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
+       (cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>.  Zero
+       extend result; use release semantics.
+       (cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
+       (sync_val_compare_and_swap_<IMODE>): Update to match.
+
+2005-05-10  Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (expand_compare_and_swap_loop): Don't clobber old value
+       before comparing it for success.
+
+2005-05-10  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
+       no return value pattern.
+
+2005-05-10  Grigory Zagorodnev  <grigory.zagorodnev@intel.com>
+            H.J. Lu  <hongjiu.lu@intel.com>
+
+       * libgcov.c (create_file_directory): New function. Create
+       directory for the given file name.
+       (gcov_max_filename): New static var. Keeps size of the longest
+       file name.
+       (gcov_exit): Always try to create directory for output
+       file. Relocate each filename basing on environment vars.
+       (__gcov_init): Remember the longest file name.
+       * tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
+       * doc/gcov.texi (Cross-profiling): New node documenting
+       cross-profiling management.
+       * doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
+
+2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (mem_min_alignment): Do not rely
+       on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
+
+2005-05-10  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
+       case code to avoid one move instruction.
+       (__umodsi3, __modsi3): Merge duplicated code sequences.
+
+2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
+       config/sh/sh.md, config/sh/superh.h: Fix comment typos.
+       * doc/invoke.texi: Fix typos.
+
+       * tree-data-ref.c (analyze_array_indexes, analyze_array,
+       init_data_ref, access_functions_are_affine_or_constant_p,
+       free_data_refs): Use VEC instead of VARRAY.
+       * tree-data-ref.h (data_reference): Change the type of
+       access_fns to VEC(tree,gc)*.
+       (DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
+
+2005-05-10  Gabor Loki <loki@gcc.gnu.org>
+
+       PR c/17913
+       * c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
+       * fold-const.c (fold): Expand the condition of reducing cond_expr.
+       (contains_label_1, contains_label_p): New functions for checking
+       labels in a sub-tree.
+
+2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
+
+       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  <nathan@codesourcery.com>
+
+       * crtstuff.c: Revert part of 2005-05-08 Change.
+       (IN_LIBGCC2): Define.
+
+2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * 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<V32:mode> expander): Use register_or_zero_operand.
+       (mov<V64:mode> 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  <nathan@codesourcery.com>
+
+       * 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  <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,