OSDN Git Service

* basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0b3031b..c792108 100644 (file)
@@ -1,3 +1,361 @@
+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
+       before we release an SSA_NAME.
+
+2004-12-11  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/18921
+       * fold-const.c (fold_unwidened_comparison): Use omit_one_operand
+       instead of constant_boolean_node as arg0 may have side-effects.
+
+2004-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
+       file to anonymous private map.
+
+2004-12-10  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/18002
+       PR middle-end/18424
+       * dojump.c (do_jump): When attempting to reverse the effects of
+       fold_single_bit_test, we need to STRIP_NOPS and narrowing type
+       conversions, and handle BIT_XOR_EXPR that's used to invert the
+       sense of the single bit test.
+
+2004-12-10  Devang Patel  <dpatel@apple.com>
+
+       PR 18732
+       * gcc.c (main): Do not break out of loop when error is reported while
+       processing one source file.
+       
+2004-12-10  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-into-ssa.c (REWRITE_THIS_STMT): Define.
+       (mark_def_sites): Clear REWRITE_THIS_STMT for statements that
+       don't need any operands rewritten.
+       (rewrite_stmt): Ignore statements that don't need to be
+       rewritten.
+       (rewrite_operand): Validate that an existing SSA_NAME is
+       identical to the current reaching definition of the operand.
+
+2004-12-10  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
+       * tree-vectorizer.c (vectorizable_load): Call it.
+       * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
+       * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
+
+2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * regmove.c (combine_stack_adjustments_for_block): Free
+       memlist if it hasn't been freed.
+
+2004-12-10  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
+       pointer field is set before dereferencing it.
+
+2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/18903
+       * tree-cfg.c (remove_bb): Put the moved label at the beginning
+       of the basic block.
+
+2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-data-ref.c (free_data_refs): Free each data_reference
+       object.
+
+       * tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
+       call to is_gimple_min_invariant if we know the result.
+
+2004-12-10  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-alias.c (setup_pointers_and_addressables): Remove
+       redundant test of v_ann->mem_tag_kind.
+
+       * tree-ssa-operands.c (get_indirect_ref_operands): Remove
+       redundant conditional clearing opf_kill_def.
+
+2004-12-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/frv/frv-modes.def: Fix comment typos.
+       (CC_NZ): Define new mode.
+       * config/frv/frv-protos.h (frv_select_cc_mode): Declare.
+       (condexec_intop_cmp_operator): Delete.
+       * config/frv/frv.c (comparison_string): New function.
+       (frv_print_operand): Use it to handle 'c' and 'C'.
+       (relational_operator): Redefine in terms of integer_relational_operator
+       and float_relational_operator.
+       (signed_relational_operator, unsigned_relational_operator): Delete.
+       (integer_relational_operator): New predicate, combining the above.
+       Check the mode of the first operand but leave frv.md to check the rest.
+       (float_relational_operator): Just check the mode of the first operand
+       and leave frv.md to check the rest.
+       (intop_compare_operator): Assume the result is compared with zero
+       in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
+       the operand predicates.
+       (condexec_intop_cmp_operator): Delete.
+       (frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
+       (frv_hard_regno_mode_ok): Handle CC_NZmode.
+       (frv_select_cc_mode): New function.
+       * config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
+       (REVERSIBLE_CC_MODE): Include CC_NZmode.
+       (PREDICATE_CODES): Replace entries for signed_relational_operand and
+       unsigned_relational_operator with one for integer_relational_operator.
+       Delete entry for condexec_intop_cmp_operator.
+       * config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
+       (reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
+       (*combo_intop_compare2, *combo_intop_compare4): Delete.
+       (*combo_intop_compare1): Change mode to CC_NZ.
+       (*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
+       (branch_{un,}signed_true, branch_{un,}signed_false)
+       (*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
+       (*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
+       (*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
+       (*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
+       (*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
+       (*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
+       pattern pairs.  Use integer_relational_operator.  Remove mode from
+       icc_operand.
+
+2004-12-10  Mark Dettinger  <dettinge@de.ibm.com>
+
+       * config/s390/s390.c (struct processor_costs): New fields ml,
+       sqdbr, sqebr.
+       (s390_rtx_costs): Added the missing handling of multiply & add,
+       square root, and umulsidi.
+
+2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expmed.c (synth_mult): Initialize new_limit.latency before
+       making a recursive call.
+
+2004-12-10  Nick Clifton  <nickc@redhat.com>
+
+       * config/mn10300/mn10300.c (legitimate_address_p): Reject address
+       whose index is itself the sum of two other parts.
+
+2004-12-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
+
+2004-12-10  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
+
+2004-12-09  Richard Henderson  <rth@redhat.com>
+
+       PR c/18282
+       * attribs.c (decl_attributes): Use relayout_decl.
+       * c-common.c (handle_mode_attribute): Copy all relevant type
+       parameters from the new underlying integral type.
+
+2004-12-09  Richard Henderson  <rth@redhat.com>
+
+       * c-common.c (shorten_compare): Don't special-case min/maxval
+       for C enumerations.
+
+2004-12-09  Richard Sandiford  <rsandifo@redhat.com>
+
+       * simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
+       the request subreg is entirely contained in the requested component.
+       (simplify_gen_subreg): Return null for CONCATs that are rejected
+       by simplify_subreg.
+       * expmed.c (store_bit_field): Create a temporary when changing the
+       value to an integer mode.
+
+2004-12-09  David Edelsohn  <edelsohn@gnu.org>
+
+       * real.c (ibm_extended): Correct comment.
+
+2004-12-09  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
+       formerly in darwin-tramp.asm.
+       * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
+       * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
+       * config/rs6000/t-darwin: Add dependencies.
+
+2004-12-09  Richard Henderson  <rth@redhat.com>
+
+       PR target/17025
+       * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
+       (test_qi_1, andqi_2): Do not promote to simode.
+
 2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR tree-opt/18904