OSDN Git Service

* config/rs6000/rs6000.c (rs6000_override_options): Enable
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c112749..49d9638 100644 (file)
@@ -1,3 +1,432 @@
+2006-04-30  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Enable
+       TARGET_NO_FP_IN_TOC for section anchors.
+       (optimization_options): Enable section anchors for all
+       non-"Objective" languages.
+
+2006-04-28  Eric Christopher  <echristo@apple.com>
+
+       * config/darwin-c.c (darwin_ms_struct): Move this
+       (darwin_set_default_type_attributes): and this...
+       * config/darwin.c: ... here.
+       * config/darwin.h (darwin_ms_struct): Declare.
+
+2006-04-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
+
+2006-04-28  Roger Sayle  <roger@eyesopen.com>
+
+       PR c/25309
+       * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
+       (push_array_bounds): Delete prototype.  Change BOUNDS argument to
+       an unsigned HOST_WIDE_INT.
+       (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
+       array index.
+       (really_start_incremental_init): No need to call convert because
+       bitsize_zero_node is already of type bitsizetype.
+       (push_init_level): Extract the value of constructor_index as an
+       unsigned HOST_WIDE_INT quantity, using tree_low_cst.
+       (process_init_element): Likewise.
+
+2006-04-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
+       value before passing to make_relative_prefix.
+
+2006-04-28  Alan Modra  <amodra@bigpond.net.au>
+
+       PR middle-end/27260
+       * builtins.c (expand_builtin_memset): Expand val in original mode.
+
+2006-04-27  Eric Christopher  <echristo@apple.com>
+
+       * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
+       with #ifndef/#endif.
+       * config/darwin-c.c (darwin_ms_struct): New.
+       (darwin_pragma_ms_struct): Ditto.
+       (darwin_set_default_type_attributes): Ditto.
+       * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
+       * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
+       Register ms_struct pragma.
+       * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
+       (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
+       * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
+       darwin_set_default_type_attributes if TARGET_MACHO.
+
+2006-04-27  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/26854
+       * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
+       * doc/tree-ssa.texi: Update immuse iterator documentation.
+       * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
+       * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
+       first_safe_imm_use, next_safe_imm_use): Remove.
+       (end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
+       (end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
+       (move_use_after_head): New.  Helper function to sort immuses in a stmt.
+       (link_use_stmts_after): New.  Link all immuses in a stmt consescutively.
+       (first_imm_use_stmt): New.  Get first stmt in an immuse list.
+       (next_imm_use_stmt): New.  Get next stmt in an immuse list.
+       (first_imm_use_on_stmt): New.  Get first immuse on a stmt.
+       (end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
+       (next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
+       * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
+       (perfect_nestify): Use new iterator.
+       * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
+       iterator.
+       * tree-flow.h (struct immediate_use_iterator_d): Add comments.
+       (next_imm_name): New field in struct immediate_use_iterator_d.
+       (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
+       (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
+       FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
+       * tree-cfg.c (replace_uses_by): Use new iterator.
+       * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
+       * tree-ssa-operands.c (correct_use_link): Remove.
+       (finalize_ssa_use_ops): No longer call correct_use_link.
+
+2006-04-27  Stuart Hastings  <stuart@apple.com>
+
+       * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
+       * config/t-darwin (crt3.o): Use it.
+       * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
+       'pmode', use Pmode instead of SImode for SYMBOL_REF.
+       * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
+       call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
+       call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
+       support.
+
+2006-04-27  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (store_fixed_bit_field): If we're not optimizing for
+       size, force the intermediate into a new pseudo rather instead of
+       performing both a bitwise AND and a bitwise IOR in memory.
+
+2006-04-27  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/26685
+       * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
+       this one "max-flow-memory-locations".
+
+2006-04-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/25148
+       * tree-vrp.c (compare_values): Remove code dealing with
+       comparisons against type min/max value.  Honour overflow
+       and negative constants in code dealing with comparisons
+       of plus and minus expressions.
+       (value_inside_range): Use fold_binary with LE_EXPR and
+       GE_EXPR rather than compare_values.
+
+2006-04-27  Dirk Mueller  <dmueller@suse.de>
+
+       * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
+       prototype for SSE.
+
+2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * basic-block.h (safe_insert_insn_on_edge): Removed.
+       * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
+
+
+2006-04-26  David Edelsohn  <edelsohn@gnu.org>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       PR middle-end/27282
+       * combine.c (simplify_and_const_int_1): Use gen_int_mode.
+       (simplify_and_const_int): Same.
+
+2006-04-26  Aldy Hernandez  <aldyh@redhat.com>
+
+        * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
+
+2006-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/26171
+       * cgraph.c (cgraph_varpool_finalize_decl): Don't call
+       cgraph_varpool_assemble_pending_decls if -fopenmp, unless
+       cgraph_global_info_ready.
+
+       PR middle-end/26913
+       * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
+
+       PR c/25996
+       * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
+       either decl or init is error_mark_node.
+
+       PR middle-end/25989
+       * tree-flow.h (struct omp_region): Add sched_kind.
+       * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
+       instead of extracting omp for data.
+       (expand_omp_for): Save extracted sched_kind.
+
+2006-04-25  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (store_bit_field): Also check whether the bitsize is
+       valid for the machine's "insv" instruction before moving the
+       target into a pseudo for use with the insv.
+       * config/i386/predicates.md (const8_operand): New predicate.
+       * config/i386/i386.md (extv, extzv, insv): Use the new
+       const8_operand predicate where appropriate.
+
+2006-04-25  DJ Delorie  <dj@redhat.com>
+
+       * doc/install.texi (Specific): Clarify that this is not a list of
+       supported hosts or targets.
+
+2006-04-25  Richard Sandiford  <richard@codesourcery.com>
+
+       PR rtl-optimization/26725
+       * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
+       block's BB_DIRTY flag.
+
+2006-04-25  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
+       are no branches.
+
+       * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
+       to print an integer.
+
+2006-04-25  David Edelsohn  <edelsohn@gnu.org>
+
+       * varasm.c (align_variable): New function.
+       (get_block_for_decl): Apply align_variable to DECL before
+       calculating section information.
+       (assemble_variable): Split out alignment computation.
+
+2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
+       machines.
+
+2006-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
+       MODE_PARTIAL_INT mode.
+       * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
+       * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
+       for CONST_INTs.
+       (hard_regno_mode_ok): V2PDImode is ok for accumulators.
+       * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
+       V2PDImode.
+       * config/bfin/predicates.md (const01_operand, vec_shift_operand):
+       New predicates.
+       * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
+       New constants.
+       (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
+       MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
+       MACFLAG_IH): Likewise.
+       (movstricthi_1): Renamed from "*movstricthi".
+       (load_accumulator, load_accumulator_pair, movsi_insv, insv,
+       ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
+       abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
+       movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
+       movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
+       movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
+       addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
+       sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
+       addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
+       mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
+       ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
+       flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
+       flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
+       flag_macv2hi_parts, flag_macv2hi_parts_acconly,
+       flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
+
+       * doc/rtl.texi (ss_ashift): Improve wording.
+
+2006-04-24  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (verify_marks_clear): New.
+       (prune_unused_types): Call verify_marks_clear initially, not
+       prune_unmark_dies.
+
+2006-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * rtl.def (SS_ASHIFT, SS_NEG): New codes.
+       * doc/rtl.texi: Document them.
+       * simplify-rtx.c (simplify_unary_operation,
+       simplify_binary_operation_1): Don't abort when we see them.
+
+2006-04-24  Mark Mitchell  <mark@codesourcery.com>
+
+       Revert:
+       2006-04-23  Mark Mitchell  <mark@codesourcery.com>
+       * configure.ac: Completely disregard languages that are not
+       enabled.
+       * configure: Regenerated.
+
+2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
+       Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/27236
+       * tree-inline.c (copy_body_r): Make sure to copy
+       TREE_THIS_VOLATILE flag.
+
+2006-04-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/26869
+       * tree-complex.c (update_parameter_components): Don't handle
+       unused parameters which have no default def.
+
+2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
+       Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/27218
+       * tree-inline.c (expand_call_inline): Strip useless type
+       conversions for the return slot address.
+
+2006-04-24  Richard Guenther  <rguenther@suse.de>
+
+       * cfgloop.h (struct loops): Remove unused field array.  Reorder
+       state after num.
+       (LOOP_PREFETCH): Remove.
+
+2006-04-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/22525
+       * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
+       variable, adjust types of generated expressions.
+
+2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
+       (tree-vect-patterns.o): Likewise.
+       (jump.o): Likewise.
+       (cselib.o): Likewise.
+       (loop-doloop.o): Likewise.
+       (regclass.o): Likewise.
+       (reload1.o): Likewise.
+       (explow.o): Replace target.h with $(TARGET_H).
+       (ipa-prop.o): Likewise.
+       (ipa-cp.o): Likewise.
+       (ipa-inline.o): Likewise.
+       (reorg.o): Likewise.
+       (reg-stack.o): Likewise.
+
+2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
+
+2006-04-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
+
+       * configure.ac: Completely disregard languages that are not
+       enabled.
+       * configure: Regenerated.
+
+       PR c++/26534
+       * c-common.h (c_build_bitfield_integer_type): Declare.
+       * c-decl.c (c_build_bitfield_integer_type): Move to ...
+       * c-common.c (c_build_bitfield_integer_type): ... here.
+
+2006-04-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/21283
+       * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
+       a SImode SUBREG of a floating point register after no_new_pseudos.
+
+2006-04-23  Roger Sayle  <roger@eyesopen.com>
+
+       * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
+       identify potentially eliminable registers to additionally catch
+       VIRTUAL_INCOMING_ARGS_REGNUM.
+       (addsi3): Update the conditions on when to use addsi_small_int.
+
+2006-04-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/16641
+       * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
+       STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
+       rtx to stack_pointer_rtx or frame_pointer_rtx directly.
+
+2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (range_predecessor): Use operand_equal_p
+       as the predicate for equality.
+       (range_successor): Likewise.
+
+2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
+
+       Revert:
+       * config/soft-fp/op-common.h: Fix a typo.
+
+2006-04-22  Frank Ch. Eigler  <fche@redhat.com>
+
+       PR libmudflap/26864
+       * common.opt (flag_mudflap_threads): Overload flag_mudflap.
+       * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
+
+2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
+       Fix comment typos.
+       * doc/tm.texi: Fix a typo.
+
+2006-04-21  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (struct die_struct): Document that die_sib makes
+       a circular linked list.
+       (FOR_EACH_CHILD): New.
+       (reverse_die_lists): Delete.
+       (reverse_all_dies): Delete.
+       (add_dwarf_attr): Correct documentation.
+       (remove_child_with_prev): New.
+       (remove_child_TAG): Update for change to die_struct, use
+       remove_child_with_prev.
+       (add_child_die): Update for change to die_struct.
+       (splice_child_die): Use remove_child_with_prev and add_child_die.
+       (print_die): Use FOR_EACH_CHILD.
+       (die_checksum): Likewise.
+       (assign_symbol_names): Likewise.
+       (output_location_lists): Likewise.
+       (build_abbrev_table): Likewise.
+       (calc_die_sizes): Likewise.
+       (mark_dies): Likewise.
+       (unmark_dies): Likewise.
+       (unmark_all_dies): Likewise.
+       (output_die): Likewise.
+       (prune_unused_types_mark): Likewise.
+       (prune_unused_types_walk): Likewise.
+       (same_die_p): Update for change to die_struct.
+       (break_out_includes): Likewise.
+       (prune_unused_types_prune): Likewise.
+       (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
+       (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
+       it's already clear.
+       (dwarf2out_finish): Don't call reverse_all_dies.
+
+2006-04-21  Eric Christopher  <echristo@apple.com>
+
+       * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
+       in comments and function names.
+
+2006-04-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c/25875
+       * c-typeck.c (digest_init): Robustify.
+
+       * c-typeck.c (pop_init_level): Simplify.
+
+2006-04-21  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
+
+2006-04-21  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_override_options): Error on iWMMXt and
+       hardware floating point.
+
+2006-04-21  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
+       NON_FLOAT_REGS.
+
 2006-04-21  Nick Clifton  <nickc@redhat.com>
 
        * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
            Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c/26774
-       * stor-layout.c (update_alignment_for_field): Do not align 
+       * stor-layout.c (update_alignment_for_field): Do not align
        ERROR_MARK nodes.
        (place_union_field): Place union field at the start of the union.
        (place_field): Move ERROR_MARK check later, and use the current
        PR rtl-optimization/14261
        * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
        move would be an INSV insn.
-       (noce_process_if_block): Don't optimize if the destination is a 
+       (noce_process_if_block): Don't optimize if the destination is a
        ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
 
 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
 2006-04-18  Devang Patel  <dpatel@apple.com>
 
        * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
-       
+
 2006-04-18  Nick Clifton  <nickc@redhat.com>
 
        * config/sh/t-symbian: Add rule to build sh-c.o
 
 2006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       * builtins.c (expand_builtin_strcmp): Cover label definition of 
+       * builtins.c (expand_builtin_strcmp): Cover label definition of
        do_libcall with HAVE_cmpstrnsi.
 
 2006-04-18  Kazu Hirata  <kazu@codesourcery.com>
        (make_omp_sections_edges): Remove.
        (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
        (move_stmt_r): Handle OMP_CONTINUE.
-       * tree-flow.h (struct omp_region): Move from omp-low.c.  Switch 
+       * tree-flow.h (struct omp_region): Move from omp-low.c.  Switch
        statement pointers to basic blocks.  Add type member.
        (root_omp_region, new_omp_region, free_omp_regions): Declare.
        * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
        we're about to assign a vector to it using vec_init_optab.
 
 2006-04-10 Daniel Berlin  <dberlin@dberlin.org>
-       
+
        * tree-ssa-alias.c (lhs_may_store_to): New function.
        (recalculate_used_alone): Handle LHS of calls.
 
        * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
        assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
        number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
-       estimate_numbers_of_iterations_loop): Use build_int_cst instead of 
+       estimate_numbers_of_iterations_loop): Use build_int_cst instead of
        build_int_cst_type.
        * tree-chrec.c (chrec_fold_multiply_poly_poly,
        chrec_fold_multiply): Same.
        (Downloading the source): Refer to SVN instead of CVS.
        Adjust a link to our web site accordingly.
        (Configuration): Fix casing of Bison.
-       (Building): Refer to SVN instead of CVS.  
+       (Building): Refer to SVN instead of CVS.
        Fix a sentence on the use of Bison and remove duplicate (and
        incorrect) version number of Bison requirement.
        Remove one redundant list of packages needed for building.
 2006-04-04  Matthias Klose  <doko@debian.org>
 
        * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
+       * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
+       strings.
 
 2006-04-03  Geoffrey Keating  <geoffk@apple.com>