OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 486ee8d..98769b2 100644 (file)
@@ -1,3 +1,321 @@
+2004-12-15 Jan Beulich  <jbeulich@novell.com>
+
+       * mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
+
+2004-12-15  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
+       *floatsisf2_i387, *floatsisf2_sse, floatdisf2,
+       *floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
+       floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
+       floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
+       *floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
+       Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
+       TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+       (*float?i?f_i387): Rename to *float?i?f2_mixed.
+       (*float?i?f2_1): Rename to *float?i?f2_i387.
+       (*float?i?f2_i387_only): Rename to *float?i?f2_i387.
+       (float?ixf2): Penalize integer register operand.
+
+2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR c++/17242
+       * configure.ac: Add GAS check for HP-UX .nsubspa comdat.
+       * configure, config.in: Rebuilt.
+       * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
+       defines.
+       * config/pa/pa.c (pa_select_section): Allow uninitialized variables in
+       one-only (comdat) subspaces.
+       * config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
+       (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
+       true.
+       (MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
+
+2004-12-14  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * combine.c (combine_validate_cost): Consider cost of
+       undobuf.other_insn rather than always allowing the recombination
+       if it is set.
+
+2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa-host.c (MAP_FAILED): Define if not defined.
+       (pa_gt_pch_use_address): Handle short reads.
+
+2004-12-14  Richard Henderson  <rth@redhat.com>
+
+       PR target/17990
+       * config/i386/i386.c (x86_use_bt): New.
+       (ix86_expand_unary_operator): Use MEM_P.
+       (ix86_expand_fp_absneg_operator): New.
+       * config/i386/i386.h (x86_use_bt): Declare.
+       (TARGET_USE_BT): New.
+       * config/i386/i386-protos.h: Update.
+       * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
+       (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
+       (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
+       negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
+       abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
+       absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
+       (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
+       absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New.  Merge all
+       neg and abs splitters.  Handle DFmode in general regs in 64-bit mode.
+       (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
+       (btsq, btrq, btcq): New.  Add peepholes as well.
+       (movv4sf_internal splitter): Postpone til after reload.
+       (movv2di_internal splitter): Likewise.
+       * config/i386/predicates.md (const_0_to_63_operand): New.
+       (absneg_operator): New.
+
+2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
+       Check register number and that reg_renumber is nonzero before using it.
+
+2004-12-14  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/invoke.texi (IA-64 options): Add existing options that
+       weren't already listed.
+
+2004-12-14  Jeff Law  <law@redhat.com>
+
+       * tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
+       partition to conflict_graph_merge_regs.
+
+2004-12-14  Uttam Pawar  <uttamp@us.ibm.com>
+           Janis Johnson  <janis187@us.ibm.com>
+
+       * rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
+       for vector types with invalid component types.
+
+2004-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/18951
+       * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
+       expand_builtin_mathfn_3): Avoid using arguments passed to
+       save_expr after that call.
+
+       * fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
+       LOAD_EXTEND_OP is not defined.
+       (fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.
+
+2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * tree.def, doc/c-tree.texi: Correctly document restrictions on the
+       shift width.
+
+2004-12-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
+
+2004-12-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/18973
+       arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
+       (arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
+       property to flags.
+
+2004-12-14  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-gimple.c (get_base_address): Update documentation.
+
+2004-12-13  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/17930
+       * passes.c (rest_of_clean_state): Fix computation of
+       preferred_incoming_stack_boundary.
+
+2004-12-13  Wolfgang Bangerth <bangerth@dealii.org>
+
+       * reload.h: Remove struct needs and its only use.
+
+2004-12-13  Roger Sayle  <roger@eyesopen.com>
+
+       PR rtl-optimization/18928
+       * simplify_rtx.c (plus_minus_operand_p): New function to encode
+       the test for suitable operands for calls to simplify_plus_minus.
+       Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
+       (simplify_binary_operation): Use plus_minus_operand_p.
+
+2004-12-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-opt/16951
+       * tree-inline.c (setup_one_parameter): Don't directly map a
+       parameter to the address of another variable of the same
+       function.
+
+2004-13-12  Steven Bosscher  <stevenb@suse.de>
+
+       * basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
+       can never create autoinc insns after reload.
+
+2004-12-13  Jeff Law  <law@redhat.com>
+           Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
+       PHI argument is set from a PHI_RESULT in the same block and the
+       PHI argument is not the same as the PHI result.
+
+2004-12-13  David Edelsohn  <edelsohn@gnu.org>
+
+       * xcoffout.c (xcoffout_declare_function): Always strip storage
+       class encoding.
+
+2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/18964
+       * config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
+       problem, adding a space at the end of the string before concatenation.
+
+2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c (fname_as_string): Free namep if we are returning
+       cstr.text.
+
+       * tree-ssa-dom.c (record_edge_info): Fix memory leak.
+
+2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
+
+2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
+       doing a pointer comparison.
+
+       * tree-ssa-dom.c (record_equivalences_from_phis): Add a
+       comment.
+
+       * defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
+       typos.
+
+2004-12-13  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+       * config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
+       the list rather than replacing the existing value.
+
+2004-12-13  Richard Henderson  <rth@redhat.com>
+
+       * cfg.c (dump_flow_info): Don't dump pseudo info after reload.
+
+2004-12-13  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (insn-preds.o): Depend on REGS_H.
+       * genpreds.c (write_insn_preds_c): Include regs.h.
+       * config/i386/predicates.md (index_register_operand): Use
+       REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
+
+       * config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
+       * config/i386/i386.md (lea_general_1, lea_general_1_zext,
+       lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
+       adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
+       ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
+       ashlqi3_1_lea): Use 'l' for index register operand.
+       (ashldi3_1_rex64 splitter): Use index_register_operand.
+       (ashlsi3_1 splitter): Be more careful with modes.
+
+2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/18459
+       * defaults.h (TARGET_USE_JCR_SECTION): New macro.
+       * doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
+       * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
+       default.
+
+2004-12-13 Uros Bizjak <uros@kss-loka.si>
+
+       PR target/14941
+       PR target/18503
+       * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd):
+       Fix wrong vec_merge selector bitmask.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/17186
+       * reg-stack.c (move_nan_for_stack_reg): New.
+       (subst_stack_regs_pat): Use it.
+       (move_for_stack_reg): Handle source register not live with a nan.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch
+       errors across operations.
+
+2004-12-12  Di-an Jan  <dianj@freeshell.org>  
+
+       * doc/passes.texi (Pass Manager): Correct list of source files.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_move_change_mode): New.
+       (emit_move_via_alt_mode): Use it.
+
+2004-12-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+           John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/17564
+       * dojump.c (do_compare_and_jump): Only canonicalize function pointers
+       in a comparison if both sides are function pointers.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+       PR target/18932
+       * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
+       and compare_operator to propagate the input CC mode to the output.
+       * config/i386/predicates.md (compare_operator): New.
+
+2004-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/18040
+       * expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
+       CONVERT_EXPR cases.
+       (handled_component_p): Likewise.
+
+2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reg-stack.c (convert_regs_2): Free stack.
+
+       * tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
+       comment typos.
+
+2004-12-12  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
+       * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
+       inner loop.
+
+2004-12-12  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-gimple.c (get_base_address): Update documentation.
+
+2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * lcm.c (optimize_mode_switching): Free ptr even when mode_set
+       is NULL_RTX.
+
+2004-12-12  Roger Sayle  <roger@eyesopen.com>
+
+       * reg-stack.c (change_stack): Avoid placing the new top-of-stack in
+       its correct location during popping if we need to permute the stack
+       afterwards.  Attempt to preserve the original stack ordering.
+
+2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * lcm.c (optimize_mode_switching): Free insert and delete in
+       the "for" loop.
+
+2004-12-11  David Edelsohn  <edelsohn@gnu.org>
+           Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/18641
+       * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
+       constants into all register classes intersecting with FLOAT_REGS
+       via memory.
+       * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
+       * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
+       choosing register preferences.
+       (movdi_internal64): Same.
+
 2004-12-11  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX