OSDN Git Service

* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a725fcb..0b8fd43 100644 (file)
@@ -1,3 +1,392 @@
+2005-03-08  Julian Brown  <julian@codesourcery.com>
+
+       * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
+       from being used for symbols with vague linkage when
+       HAVE_GAS_COMDAT_GROUP is true.
+
+2005-03-08  J"orn Rennecke <joern.rennecke@st.com>
+
+       * jump.c (invert_jump_1): Don't call redirect_jump_1 with
+       nlabel == JUMP_LABEL (jump).
+
+2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
+       gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
+       tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
+       tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
+
+2005-03-08  Alexey Neyman  <alex.neyman@auriga.ru>
+
+       PR c/14411
+       * calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
+       * c-common.c (handle_returns_twice): New function.
+       (c_common_attribute_table): Declare eturns_twice' attribute.
+       * doc/extend.texi: Document eturns_twice' attribute.
+       * tree.h (DECL_IS_RETURNS_TWICE): New macro.
+       (struct tree_decl): Add returns_twice_flag.
+
+2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-phiopt.c: Fix a comment typo.
+
+       * c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
+       loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
+       config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
+       copyright.
+
+2005-03-08  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (code_for_builtin): Replace special-case
+       builtin codes with ctzdi2, clzdi2, popcountdi2.
+       (struct alpha_builtin_def): Add is_const.
+       (zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
+       (alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
+       (alpha_init_builtins): Init them.  Set nothrow and const attributes
+       on builtins.
+       (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot, 
+       alpha_fold_builtin_extxx, alpha_fold_builtin_insxx, 
+       alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh, 
+       alpha_fold_vector_minmax, alpha_fold_builtin_perr,
+       alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
+       alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
+       alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
+       alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
+       (TARGET_FOLD_BUILTIN): New.
+       * config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
+       (UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
+       (ffsdi2): Use ctz.
+       (cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
+
+2005-03-08  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/20122
+       * tree-vect-analyze.c (vect_object_analysis): Analyze initial
+       condition of access function instead of base.
+
+2005-03-07  Jeff Law  <law@redhat.com>
+           Steven Bosscher  <stevenb@suse.de>
+
+       * tree-cfg.c (find_taken_edge_computed_goto): New function.
+       (find_taken_edge): Call find_taken_edge_computed_goto as
+       appropriate.  Allow any gimple invariant rather than just
+       INTEGER_CST for VAL.
+       (cleanup_control_flow): Cleanup a computed goto which has turned
+       into a simple goto.
+       (tree_merge_blocks): If block B has any forced labels, move
+       them to the start of block A.
+       * tree-ssa-dom.c (thread_across_edge): Allow threading across
+       computed gotos as well.
+       * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Handle
+       removal of unnecessary computed gotos too.
+       (lookup_redirection_data): Fix type of INSERT argument.  Callers
+       updated.
+
+2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-phiopt.c: Update copyright.  Fix indentations.
+       Remove trailing spaces.
+
+       * gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
+       unshare_all_trees): Make them static.
+       * tree-gimple.h: Remove the corresponding prototypes.
+
+       * diagnostic.h: Remove unused prototype
+       debug_output_buffer.
+       * modulo-sched.c: Remove unused prototype
+       set_row_column_for_ps.
+
+       * tree-ssa-phiopt.c (tree_ssa_phiopt,
+       replace_phi_edge_with_variable): Remove unused variable i.
+
+2005-03-07  Per Bothner  <per@bothner.com>
+
+       * tree.h (DECL_IS_BUILTIN): Reverted my patch from earlier today.
+
+2005-03-06  Andrew Pinski  <pinskia@physics.uc.edu>
+       
+       PR tree-opt/17671
+       * tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
+       bbs on the COND_EXPR instead of the PHI_NODEs.
+       (candidate_bb_for_phi_optimization): Remove.
+       (replace_phi_with_stmt): Rename to ...
+       (replace_phi_edge_with_variable): this and change so that we
+       replace the phi argument instead of removing the PHI.
+       (conditional_replacement): Change so we deal with PHI with more
+       than two arguments.
+       (value_replacement): Likewise.
+       (abs_replacement): Likewise.
+
+2005-03-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
+       output_e500_flip_gt_bit.
+
+       * config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
+       as bit 31.
+       (rs6000_generate_compare): Fix logic to look at the correct bits.
+       (output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
+       Look at GT bit.
+       (rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
+       gen_e500_flip_gt_bit.  Rename gen_move_from_CR_eq_bit to
+       gen_move_from_CR_gt_bit.
+
+       * config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
+       ("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
+       (UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
+
+       * config/rs6000/spe.md ("e500_cr_ior_compare"): New.
+       (E500_CR_IOR_COMPARE): New constant.
+
+2005-03-08  Earl Chew <earl_chew@agilent.com>
+           David Billinghurst <David.Billinghurst@riotinto.com>
+
+       * config/i386/host-cygwin.c: New file to support precompiled
+       headers on cygwin
+       * config/i386/x-cygwin: Use host-cygwin.c on cygwin host
+       * config.host: Use above files for cygwin host.
+
+2005-03-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * fold-const.c (fold_binary_op_with_conditional_arg): Fix typo
+       ordering ops from earlier change.
+
+2005-03-07  Per Bothner  <per@bothner.com>
+
+       Various fixes to allow us to again build if --enable-mapped-location:
+       * c-decl.c (finish_function): Use SET_EXPR_LOCATION instead of
+       unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
+       * tree-cfg.c (remove_bb): If USE_MAPPED_LOCATION, change type of
+       local variable loc. Change logic appropriately.
+       * tree-vect-transform.c (vect_finish_stmt_generation): Use
+       EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.    
+       * c-parser.c (c_parser_for_statement): Initialize loc variable.
+       * tree.h (DECL_IS_BUILTIN): Temporarily revert definition of
+       DECL_IS_BUILTIN in the USE_MAPPED_LOCATION because of jc1 issues.
+
+2005-03-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR rtl-optimization/19683
+       * reload1.c (choose_reload_regs): Pass the number of bits, not the
+       number of bytes, to smallest_int_for_mode.  Fix arguments to
+       REG_CANNOT_CHANGE_MODE_P.
+
+2005-03-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * reorg.c (relax_delay_slots): Check that the jump is
+       conditional before trying to invert it.
+
+2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bb-reorder.c (max_entry_frequency, max_entry_frequency):
+       Make them static.
+
+       * calls (stack_arg_under_construction): Make it static.
+
+       * flow.c (regs_live_at_setjmp): Make it static.
+       * flow.h: Remove the corresponding prototype.
+
+       * reload1.c (reload_startobj, reload_firstobj,
+       something_needs_operands_changed, reload_inherited,
+       reload_inheritance_insn, reload_override_in,
+       reload_spill_index): Make them static.
+
+       * recog.c (verify_changes): Make it static.
+       * recog.h: Remove the corresponding prototype.
+
+       * cfgbuild.c (find_sub_basic_blocks): Remove.
+       * basic-block.h: Remove the corresponding prototype.
+       * cfgexpand.c, cfgrtl.c: Don't mention find_sub_basic_blocks
+       in comments.
+       * doc/cfg.texi: Don't mention find_sub_basic_blocks.
+
+       * tree-ssa-operands.c (check_build_stmt): Remove.
+
+       * stor-layout.c (set_alignment): Remove.
+       * tree.h: Remove the corresponding prototype.
+
+       * tree-ssa-pre.c (has_abnormal_preds): Make it static.
+
+       * tree-ssa-dce.c (control_dependence_map,
+       visited_control_parents): Make them static.
+
+       * cfghooks.c (verify_flow_info): Remove local variable
+       num_bb_notes.
+
+       * cfgrtl.c (rtl_verify_flow_info_1): Remove local variable
+       last_bb_seen.
+
+       * loop-unswitch.c (unswitch_loop): Remove local variable src.
+
+2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
+
+       * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
+
+2005-03-07  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/ia64/hpux.h (LINK_SPEC): Add -z.
+       * config/ia64/ia64.c (ia64_function_value): Return a REG not a
+       PARALLEL for an empty structure.
+
+2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
+
+       * fold-const.c (fold_binary): Unroll the very first "for"
+       loop.
+
+2005-03-06  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (branch_comparison_operator): Remove
+       redundant match_code test.
+       (scc_comparison_operator): Swap match_operand and match_code
+       tests.
+       (branch_positive_comparison_operator): Same.
+       (trap_comparison_operator): Use comparison_operator and swap with
+       match_code test.
+
+2005-03-06  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       PR target/20288
+       * config/avr/avr.c (print_operand): Add 'p' and 'r'.
+       (out_movhi_r_mr): Read low byte of volatile MEM first.
+       (out_movhi_mr_r): Write high byte of volatile MEM first.
+
+2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cselib.c (reg_values, reg_values_size): Make them static.
+
+       * cse.c (cse_reg_info_table): Make it static.
+
+       * fold-const.c (fold_unary): Use build1 instead of copy_node.
+
+2005-03-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cse.c (find_best_addr): Use canon_for_address.
+
+2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (fold_rtx_subreg, fold_rtx_mem): New.
+       (fold_rtx): Call fold_rtx_subreg and fold_rtx_mem to handle
+       SUBREG and MEM, respectively.
+
+       * fold-const.c (fold_binary): Use code instead of t.
+
+       * fold-const.c (optimize_minmax_comparison): Take decomposed
+       arguments code, type, op0, and op1 instead of t.
+       (fold_binary): Update a call to optimize_minmax_comparison.
+
+       * fold-const.c (fold_range_test): Take decomposed arguments
+       code, type, op0, and op1 instead of t.
+       (fold_binary): Update a call to fold_range_test.
+
+       * fold-const.c (fold_binary_op_with_conditional_arg): Take
+       decomposed arguments code, type, op0, and op1 instead of t.
+       (fold_binary): Update a call to fold_range_test.
+
+2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c (fold_binary): Avoid directly using the original
+       expression t as much as possible.
+
+2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-semantics.c (build_stmt): Use TYPE_P instead of
+       IS_NON_TYPE_CODE_CLASS.
+       * tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
+       (NON_TYPE_CHECK): Use TYPE_P instead of
+       IS_NON_TYPE_CODE_CLASS.
+
+       * fold-const.c (fold): Remove handling of binary expressions.
+
+2005-03-05  James A. Morrison  <phython@gcc.gnu.org>
+
+       * doc/c-tree.texi: Wrap comments in @r{}.
+       * doc/cpp.texi: Likewise.
+       * doc/cppinternals.texi: Likewise.
+       * doc/extend.texi: Likewise.
+       * doc/md.texi: Likewise.
+       * doc/objc.texi: Likewise.
+       * doc/sourcebuild.texi: Likewise.
+       * doc/tm.texi: Likewise.
+       * doc/tree-ssa.texi
+
+2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * predict.c (apply_return_prediction): Standardize PHI chain
+       walking.
+       * tree-ssa.c (ssa_redirect_edge): Likewise.
+
+       * genattrtab.c, genemit.c, genoutput.c, genrecog.c,
+       gensupport.c, jump.c, tree-phinodes.c, unwind-dw2-fde-glibc.c:
+       Update copyright.
+
+       * tree-phinodes.c (remove_phi_node): Drop the last argument.
+       * tree-flow.h: Adjust the prototype for remove_phi_node.
+       * lambda-code.c (perfect_nestify): Adjust a call to
+       remove_phi_node.
+       * tree-cfg.c
+       (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
+       * tree-outof-ssa.c (eliminate_virtual_phis, remove_ssa_form):
+       Likewise.
+       * tree-ssa-dce.c (remove_dead_phis): Likewise.
+       * tree-ssa-loop-ivopts.c (remove_statement): Likewise.
+       * tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
+       * tree-ssa.c (kill_redundant_phi_nodes): Likewise.
+
+       * combine.c (simplify_and_const_int): Use gen_int_mode instead
+       of GEN_INT (trunc_int_for_mode (...)).
+       * loop-iv.c (iv_number_of_iterations): Likewise.
+       * postreload.c (reload_cse_move2add): Likewise.
+       * simplify-rtx.c (simplify_const_unary_operation,
+       simplify_const_binary_operation): Likewise.
+       * stor-layout.c (get_mode_bounds): Likewise.
+
+       * fold-const.c (fold_binary): New.
+       (fold): Call fold_binary on binary expressions.
+
+2005-03-05  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
+       * config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
+       (TARGET_SWITCHES): Add -msym32 and -mno-sym32.
+       (ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
+       (ASM_SPEC): Pass down -msym32 and -mno-sym32.
+
+2005-03-04  Devang Patel  <dpatel@apple.com>
+       
+       PR tree-optimization/18815
+       * tree-if-conv.c (combine_blocks): Adjust loop header edges for
+       loops with zero exit edges.
+
+2005-03-04  Devang Patel  <dpatel@apple.com>
+
+       * doc/invoke.texi: Remove reference to webpage that does not exist.
+       
+2005-03-04  John David Anglin  <dave.danglin@nrc-cnrc.gc.ca>
+           Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c++/19797
+       * pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
+       (ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
+       * pa-protos.h (pa_hpux_asm_output_external): Add prototype.
+       * pa.c (get_plabel): Change argument to symbol_ref.  Call
+       maybe_get_identifier instead of get_identifier.
+       (pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
+       (struct deferred_plabel): Replace name field with symbol field.
+       (TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
+       ASM_OUTPUT_EXTERNAL_REAL is defined.
+       (output_global_address): Use output_addr_const for output of all
+       symbol_refs.
+       (output_deferred_plabels): Use symbol_ref instead of name for address
+       output.
+       * pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
+       ASM_OUTPUT_SYMBOL_REF): New macros.
+       * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw.  Update
+       comment.
+       (ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
+       label.
+
 2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
 
        * config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for