OSDN Git Service

PR 26651
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5e74c04..570342c 100644 (file)
@@ -1,6 +1,835 @@
+2006-04-13  Richard Henderson  <rth@redhat.com>
+
+       PR 26651
+       * gimple-low.c (lower_omp_directive): Remove dead code.
+       (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
+       * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
+       * omp-low.c (struct omp_region): Move to tree-flow.h.
+       (root_omp_region): Export.
+       (omp_regions, lookup_omp_region): Remove.
+       (determine_parallel_type): Update for struct omp_region changes.
+       (dump_omp_region): Dump regions with block numbers.
+       (new_omp_region): Take type and block instead of stmt; malloc
+       instead of ggc.
+       (free_omp_region_1, free_omp_regions): New.
+       (expand_parallel_call): Take entry_stmt as argument; update for
+       changes to omp_region.
+       (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
+       (remove_exit_barriers): New.
+       (expand_omp_parallel): Update for struct omp_region changes.
+       (expand_omp_synch): Likewise.
+       (expand_omp): Likewise.
+       (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
+       (expand_omp_for_static_chunk): Likewise.
+       (expand_omp_for): Likewise.
+       (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
+       (expand_omp_sections): Similarly, with GOMP_sections_end.
+       (expand_omp_single): New.
+       (build_omp_regions_1): Update for OMP_CONTINUE.
+       (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
+       (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
+       OMP_SECTIONS_SECTIONS.
+       (lower_omp_single_simple): Don't emit barrier here.
+       (lower_omp_single_copy): Likewise.
+       (lower_omp_single): Fix bindings, and lower to straightline now.
+       (lower_omp_master, lower_omp_ordered): Likewise.
+       (lower_omp_critical): Likewise.
+       (lower_omp_for): Likewise.  Emit OMP_CONTINUE.
+       * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
+       omp edges, free it afterward.
+       (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 
+       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.
+       * tree-inline.c (estimate_num_insns_1): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
+       (OMP_RETURN): Rename from OMP_RETURN_EXPR.
+       (OMP_CONTINUE): New.
+       * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
+       (OMP_SECTIONS_SECTIONS): Remove.
+       (OMP_SECTION_LAST): New.
+       (OMP_RETURN_NOWAIT): New.
+
+2006-04-13  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (native_encode_vector, native_interpret_real):
+       Correct obvious mistakes in the previous check-in.
+
+2006-04-13  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (native_encode_expr): New function to encode
+       the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
+       or VECTOR_CST into a specified buffer.
+       (native_encode_int): New function.
+       (native_encode_real): New function.
+       (native_encode_complex): New function.
+       (native_encode_vector): New function.
+       (native_interpret_expr): Inverse of native_encode_expr to convert
+       a target representation into an INTEGER_CST, REAL_CST etc...
+       (native_interpret_int): New function.
+       (native_interpret_real): New function.
+       (native_interpret_complex): New function.
+       (native_interpret_vector): New function.
+       (fold_view_convert_expr): New function to constant fold/evaluate
+       a VIEW_CONVERT_EXPR of a suitable constant expression.
+       (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
+       Change call of build1 to fold_build1 when constructing a
+       VIEW_CONVERT_EXPR.
+
+2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
+           Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/27006
+       * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
+       to be even.
+
+2006-04-13  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/26459
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
+       optimize to lo_sum for DFmode if !TARGET_FPRS.
+
+2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree-ssa-alias.c (set_initial_properties, init_alias_info,
+       delete_alias_info, compute_flow_sensitive_aliasing,
+       group_aliases): Use VEC instead of VARRAY.
+       * tree-ssa-structalias.c (update_alias_info): Likewise.
+       * tree-ssa-structalias.h (alias_info): Change the type of
+       processed_ptrs to VEC(tree,heap) *.
+
+2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR target/27060
+        * config/sh/lib1funcs.h: New file, broken out of:
+        * config/sh/lib1funcs.asm.
+        * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
+       New macros.
+       * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
+        * config/sh/lib1funcs-Os-4-200.asm: New file.
+       * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
+       * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
+       (EXTRA_MULTILIB_PARTS): Include it.
+       ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
+       ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
+       * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
+       * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
+       TARGET_SH2.
+
+2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
+
+       * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
+       * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
+       tpa_compact, root_var_init, type_var_init): Use VEC instead of
+       VARRAY.
+       * tree-ssa-live.h: Include vecprim.h.
+       (tree_partition_associator_d): Change the type of
+       first_partition to VEC(int,heap) *.
+       (tpa_first_partition): Use VEC instead of VARRAY.
+
+       * Makefile.in (GTFILES): Move functions.h after tree.h.
+       * function.c (reset_block_changes, record_block_change,
+       check_block_change, free_block_changes): Use VEC instead of
+       VARRAY.
+       * function.h (function): Change the type of
+       ib_boundaries_block to VEC(tree,gc) *.
+       * tree-inline.c (copy_cfg_body): Initialize
+       ib_boundaries_block to NULL instead of (varray_type) 0.
+
+2006-04-12  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (emit_group_store): Correct operand order in call to
+       subreg_lowpart_offset.  Always create paradoxical SUBREGs with
+       a SUBREG_BYTE of zero.
+
+2006-04-12  Richard Guenther  <rguenther@suse.de>
+
+       * profile.c (compute_branch_probabilities): Remove code
+       encapsulated in !ir_type (), which are remanents of the
+       removed RTL profiling code.
+       * rtl-profile.c: Remove.
+
+2006-04-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
+       magic NULL_RTX comment.
+       (function_arg): Store entire fp arg to mem if any part should go
+       on stack.
+       (rs6000_arg_partial_bytes): Adjust for above change.
+
+2006-04-11  Roger Sayle  <roger@eyesopen.com>
+
+       * dwarf2out.c (output_call_frame_info): Create debug_frame_section
+       if it hasn't been initialized by dwarf2out_init.
+
+2006-04-11  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
+
+       * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
+       symbolic constants in branch patterns.
+
+2006-04-11  Roger Sayle  <roger@eyesopen.com>
+
+       * caller-save.c: #include "addresses.h" after #include "tm_p.h".
+
+2006-04-11  Richard Sandiford  <richard@codesourcery.com>
+
+       PR rtl-optimization/27073
+       * gcse.c (try_replace_reg): Revert last change.  Continue to search
+       for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
+       on the former.
+
+2006-04-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
+       aggregate types other than record and union types.
+       (function_arg): Likewise.
+       (function_arg_pass_by_reference): In 64-bit mode, return 0 for
+       small arrays.
+       (function_value): In 64-bit mode, return objects that require it
+       in FP registers.
+
+2006-04-11  Roger Sayle  <roger@eyesopen.com>
+
+       * dwarf2out.c (premark_used_types): Remove problematic prototype.
+
+2006-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
+
+2006-04-03  Jeff Law  <law@redhat.com>
+
+       PR/27087
+       * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
+       alias information too.
+
+2006-04-10  Mike Frysinger  <vapier@gentoo.org>
+
+       * gcc/Makefile.in (gcc-cross): Add $(exeext) to target name.
+
+2006-04-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR/21391
+       * dwarf2out.c (struct die_struct): Add die_perennial_p field.
+       (premark_used_types_helper): New.
+       (premark_used_types): New.
+       (gen_subprogram_die): Call premark_used_types.
+       (prune_unused_types_walk): Do not prune perennial dies.
+       * function.c (used_types_insert): New.
+       * function.h (struct function): Add used_types_hash field.
+       (used_types_insert): Add prototype.
+       * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
+       * c-parser.c (c_parser_cast_expression): Save casted types in used
+       types hash table.
+
+2006-04-11  Mark Mitchell  <mark@codesourcery.com>
+
+       PR target/26459
+       * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
+       rs6000_explicit_options.float_gprs.
+
+2006-04-10  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
+       from ix86_expand_vector_init_low_nonzero.  Take an additional
+       one_var argument indicating which element is non-zero.  Support
+       one_var != 0 for V4SFmode and V4SImode by permuting the result.
+       (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
+       with one_var instead of ix86_expand_vector_init_low_nonzero.
+
+2006-04-10  Kazu Hirata  <kazu@codesourcery.com>
+
+       * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
+       tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
+       global.o, cfglayout.o, lambda-code.o, reg-stack.o,
+       build/genextract.o): Depend on vecprim.h.
+       * cfglayout.c, df-problems.c, function.c, genextract.c,
+       global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
+       tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
+       vecprim.h.
+       * vecprim.h: New.
+
+2006-04-10  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
+       Declare VECs of this type.
+       (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
+       (remove_children): Delete.
+       (add_dwarf_attr): Use VEC routines.
+       (add_AT_flag): Update for changes to add_dwarf_attr.
+       (add_AT_int): Likewise.
+       (add_AT_unsigned): Likewise.
+       (add_AT_long_long): Likewise.
+       (add_AT_vec): Likewise.
+       (add_AT_string): Likewise.
+       (add_AT_die_ref): Likewise.
+       (add_AT_fde_ref): Likewise.
+       (add_AT_loc): Likewise.
+       (add_AT_loc_list): Likewise.
+       (add_AT_addr): Likewise.
+       (add_AT_lbl_id): Likewise.
+       (add_AT_lineptr): Likewise.
+       (add_AT_macptr): Likewise.
+       (add_AT_offset): Likewise.
+       (add_AT_range_list): Likewise.
+       (get_AT): Use VEC_iterate.
+       (remove_AT): Use VEC_ordered_remove.
+       (free_die): Fold remove_children into here; have it use VEC_iterate.
+       (print_die): Use VEC_iterate on attrs.
+       (reverse_die_lists): Don't reverse attr lists.
+       (die_checksum): Use VEC_iterate on attrs.
+       (same_die_p): Likewise.
+       (output_location_lists): Likewise.
+       (build_abbrev_table): Likewise.
+       (size_of_die): Likewise.
+       (unmark_all_dies): Likewise.
+       (output_abbrev_section): Likewise.
+       (output_die): Likewise.
+       (prune_unused_types_walk_attribs): Likewise.
+
+2006-04-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (*-*-solaris2*): Point to the configure page.
+
+2006-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/27057
+       * dwarf2out.c (is_symbol_die): Return true also for namespaces.
+
+2006-04-09  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (store_constructor): Don't bother clearing target if
+       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.
+
+2006-04-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/27034
+       PR target/26508
+       * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
+       * pa64-hpux.h (LIB_SPEC): Correct typo.  Don't append milli.a.
+       (LINK_GCC_C_SEQUENCE_SPEC): Define.  Append milli.a here.
+       (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
+       (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
+       (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
+       section.  Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
+       stubs.  Add ".align 8" directives before all ".dword" directives.
+       (GTHREAD_USE_WEAK): Revise comment.
+       (TARGET_ATTRIBUTE_WEAK): Define.
+       * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
+       dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
+       * stublib.c: New file.
+
+       PR target/26743
+       PR target/11254
+       PR target/10274
+       * pa.md (cbranch patterns): Revise arguments used in calls to
+       output_cbranch, output_bb and output_bvd.  Add long branch length
+       attributes.
+       (fbranch patterns): Handle long branches.
+       (jump): Revise length check.  Revise arguments for output_lbranch call.
+       Add long branch length attributes.
+       (decrement_and_branch_until_zero): Add long branch length attributes.
+       (output_movb, output_parallel_addb and output_parallel_movb patterns):
+       Likewise.  Revise arguments for output_parallel_addb and
+       output_parallel_movb calls.
+       * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
+       output_parallel_movb and output_parallel_addb): Update prototypes.
+       * pa.c (output_cbranch): Revise arguments.  Correct handling of
+       nullification in long branches.
+       (output_lbranch): Add new argument to control extraction of delay
+       instruction.
+       (output_bb): Handle long branches.
+       (output_bvb, output_dbra, output_movb, output_parallel_movb,
+       output_parallel_addb): Likewise.
+
+2006-04-09  Richard Sandiford  <richard@codesourcery.com>
+
+       PR rtl-optimization/27073
+       * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
+       not REG_EQUIVs.
+
+2006-04-08  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.h (tree_memory_tag): Add old_used_alone.
+       (SMT_OLD_USED_ALONE): New macro.
+       * tree-ssa-alias.c (recalculate_used_alone): Stop
+       marking things for renaming unnecessarily.
+
+2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
+
+       * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
+       config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
+       config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
+       haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
+       sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
+       tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
+       tree-vect-patterns.c, tree-vrp.c: Fix comment typos.  Follow
+       spelling convensions.
+       * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
+       doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
+       typos.  Follow spelling conventions.
+
+2006-04-07  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.c (m32c_function_arg): Structures are always
+       passed on the stack.
+       (m32c_init_cumulative_args): When a function returns a structure,
+       always pass the pointer to that return area on the stack.
+       (m32c_function_arg_advance): Don't increment the parameter number
+       if we're processing the returned structure pointer.
+       (pushm_info): Reverse order of registers.
+
+2006-04-07  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * 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 
+       build_int_cst_type.
+       * tree-chrec.c (chrec_fold_multiply_poly_poly,
+       chrec_fold_multiply): Same.
+       * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
+       force_expr_to_var_cost): Same.
+       * tree-mudflap.c (mf_xform_derefs_1): Same.
+       * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
+
+2006-04-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
+       treat CONST_DOUBLE as INTVAL.  and64_2_operands require an extra
+       insn.
+
+2006-04-07  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_early_inlining): Collect garbage.
+
+2006-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/26135
+       * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
+       loads for store copy-prop.
+       (copy_prop_visit_stmt): Likewise.
+
+2006-04-05  Robert Millan  <robertmh@gnu.org>
+
+       * gcc/config/i386/linux.h:  Add a comment to mark macros that are
+       being overriden in config/k*bsd-gnu.h.
+       * gcc/config/kfreebsd-gnu.h:  Redefine GLIBC_DYNAMIC_LINKER instead of
+       DYNAMIC_LINKER.
+       * gcc/config/knetbsd-gnu.h:  Ditto.
+
+2006-04-06  Jan Hubicka  <jh@suse.cz>
+
+       PR profile/20815
+       PR profile/26399
+       * coverage.c (coverage_checksum_string): Reorganize loop to not read
+       after buffer.
+
+2006-04-06  Mike Stump  <mrs@apple.com>
+
+       * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
+       for HAVE_nonlocal_goto to be consistent.
+       (expand_builtin_nonlocal_goto): Likewise.
+       (expand_builtin_strcmp): Use #ifdef instead of #if
+       for HAVE_cmpstrnsi to be consistent.
+
+2006-04-05  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
+       vs m32c.
+
+2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
+       got-relative addressing for anything but SImode.
+
+       * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
+       even if the calling function doesn't modify them.
+
+2006-04-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/26919
+       * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
+       to cgraph_estimate_size_after_inlining.
+
+2006-04-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
+
+2006-04-05  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR tree-optimization/26996
+       * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
+       VECTOR_TYPE variables.
+
+2006-04-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/26763
+       * fold-const.c (fold_comparison): Move folding of
+       PTR + CST CMP PTR + CST ...
+       (fold_binary): ... here.  Fold only for EQ_EXPR and NE_EXPR.
+
+2006-04-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Prerequisites): Refine some wording on
+       bootstrapping and ksh.
+       Move the version numbers of DejaGnu here from the testing section
+       and fix casing of names.
+       Fix markup and clarify wording for autogen requirements.
+       Refer to GCJ instead of just java.
+       Refer to SVN instead of CVS.
+       Describe diffutils as useful instead of necessary.
+       (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.  
+       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.
+       (Specific): Avoid reference to CVS.
+
+2006-04-04  Eric Christopher  <echristo@apple.com>
+
+       * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
+       (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
+       (rs6000_handle_struct_attribute): New.
+       (rs6000_ms_bitfield_layout_p): Ditto.
+
+2006-04-04  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
+       NULL for dso parameter to atexit_common.
+
+2006-04-04  Eric Christopher  <echristo@apple.com>
+
+       * config/i386/i386.c (machopic_output_stub): Output \t
+       between instructions and operands.
+
+2006-04-04  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (num_insns_constant_wide): Change
+       satisfies_constraint_[IL] to explicit tests on value.
+
+2006-04-04  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
+       set_nb_iterations_in_loop): Use build_int_cst instead of
+       build_int_cst_type.
+       * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
+       build_int_cst instead of convert.
+
+2006-04-04  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
+       new value 2 for incoming.
+       * function.c (expand_function_start): Call struct_value_rtx
+       with incoming as 2.
+       * config/sparc/sparc.md: Comment updated_return.
+       * config/sparc/sparc.opt: Add -mstd-struct-return option.
+       * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
+       struct return if sparc_std_struct_return and incoming is 2.
+       (print_operand): Do not adjust return if
+       sparc_std_struct_return.
+
+2006-04-04  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
+       convert in the middle-end.
+       * expr.c (store_expr, store_constructor, get_inner_reference,
+       expand_expr_real_1, string_constant, try_casesi, try_tablejump):
+       Likewise.
+       * tree.c (build_range_type): Likewise.
+
+2006-04-04  Tom Tromey  <tromey@redhat.com>
+
+       * doc/install.texi (Prerequisites): Mention jar.
+
+2006-04-04  Daniel Berlin  <dberlin@dberlin.org>
+
+       * doc/tree-ssa.texi (Preserving the virtual ssa form): New
+       subsection.
+
+2006-04-04  Matthias Klose  <doko@debian.org>
+
+       * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
+
+2006-04-03  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/extend.texi (Function Attributes): Rewrite visibility
+       attribute documentation.
+       * doc/invoke.texi (C++ Dialect Options): Rewrite
+       -fvisibility-inlines-hidden documentation to describe something
+       entirely different, although in practise compatible.
+       (Code Gen Options): Warn about system headers in -fvisibiltity=
+       documentation.
+
+       * doc/extend.texi (Other Builtins): Document that
+       __builtin_nan is a compile-time constant only when its argument
+       is valid.
+
+2006-04-03  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
+       trying to remove TRUNCATE check if all bits outside the new mode
+       are identical to the sign bit.
+
+2006-04-03  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
+       and operand scanning in some common cases.
+
+2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
+           Dale Johannesen  <dalej@apple.com>
+
+       PR target/19653
+       * regclass.c (struct reg_pref): Update documentation.
+       (regclass): Set prefclass to NO_REGS if memory is the best option.
+       (record_reg_classes): Cope with a prefclass set to NO_REGS.
+       * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
+       into account.  For non-registers, equate an empty preferred
+       reload class to a `!' in the constraint; move the if clause to
+       do so after those that reject the insn.
+       (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
+       return NO_REGS.
+       (find_dummy_reload): Likewise.
+       * doc/tm.texi (Register Classes): Document what it means
+       if PREFERRED_*_RELOAD_CLASS return NO_REGS.
+       * config/i386/i386.c (ix86_preferred_reload_class): Force
+       using SSE registers (and return NO_REGS for floating-point
+       constants) if math is done with SSE.
+       (ix86_preferred_output_reload_class): New.
+       * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
+       * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
+       * config/i386/i386.md: Remove # register preferences.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR bootstrap/26992
+       * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
+       chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
+       the type of nb_iter.
+       (instantiate_parameters_1): Convert the operands before calling
+       chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
+       * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
+
+2006-04-02  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (dummy_object): Use build_int_cst instead of convert.
+       * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
+       instead of convert.
+       * dojump.c (do_jump): Likewise.
+       * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
+       * gimplify.c (gimple_boolify, gimplify_init_constructor,
+       gimplify_boolean_expr): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * varasm.c (array_size_for_constructor): Likewise.
+       * tree-object-size.c (compute_object_offset): Likewise.
+
+2006-04-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/26977
+       * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
+       NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR tree-optimization/26939
+       * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
+       at_stmt.  Convert the type of operands before calling
+       build_polynomial_chrec.
+       (add_to_evolution): Pass an extra argument at_stmt.  Adjust the call to
+       add_to_evolution_1.
+       (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
+       (instantiate_parameters_1): Convert the type of operands before calling
+       build_polynomial_chrec.
+       * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
+       chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
+       reset_evolution_in_loop): Insert asserts to check the types of the
+       operands.
+       (chrec_type): Moved...
+       (eq_evolutions_p): Use operand_equal_p.
+       * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
+       the types of the operands.
+       (chrec_type): ...here.
+       * tree-data-ref.c (create_data_ref): Convert the operands before
+       calling chrec_replace_initial_condition.
+       (same_access_functions, analyze_subscript_affine_affine,
+       analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
+       (compute_subscript_distance, analyze_ziv_subscript,
+       analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
+       analyze_miv_subscript): Convert the operands before calling
+       chrec_fold_minus or chrec_fold_plus.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-data-ref.c (compute_all_dependences): Use a pointer to
+       the dependence_relations vector.
+       (compute_data_dependences_for_loop): Adjust call to
+       compute_all_dependences.
+
+2006-04-01  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
+       gimple_boolify on the condition before calling gimplify_expr.
+
+2006-03-31  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
+       to leaf_entry/leaf_return.  Change leaf_entry to add 16 bytes to
+       the frame size.  Update to use the new macros.
+       * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
+       * config/xtensa/ieee754-df.S: Likewise.
+
+2006-03-31  Richard Henderson  <rth@redhat.com>
+
+       * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
+       (make_edges): ... here.  Control fallthru creation with a local
+       variable.  Do not play with fake edges.
+       (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
+       (make_goto_expr_edges): Don't play with fake edges.  Make for_call
+       a boolean.
+
+2006-04-01  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * dwarf2.h (DW64_CIE_ID): Define.
+       * dwarf2out.c (DWARF_CIE_ID): Define.
+       (output_call_frame_info): Output 0xffffffff before standard 8-byte
+       length header.  Use DWARF_CIE_ID.
+       (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
+       dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
+
+2006-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-atomic.asm: New file.
+       * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
+
+2006-03-31  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/cond.md: Set condition flags properly throughout.
+       * config/m32c/minmax.md: Likewise.
+       * config/m32c/prologue.md: Likewise.
+       * config/m32c/bitops.md: Likewise.
+       * config/m32c/muldiv.md: Likewise.
+       * config/m32c/mov.md: Likewise.
+       * config/m32c/addsub.md: Likewise.
+       * config/m32c/m32c.md: Likewise.
+       * config/m32c/jump.md: Likewise.
+       * config/m32c/shift.md: Likewise.
+
+       * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
+       conditionally output the pattern for this.
+       * config/m32c/m32c.c (flags_needed_for_conditional): New.
+       (m32c_compare_redundant): New.
+       (m32c_output_compare): New.
+       * config/m32c/m32c-protos.h (m32c_output_compare): New.
+
+       * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
+       dest, not src.  Allow other 4-byte modes.
+
+2006-03-30  Denis Chertykov  <denisc@overta.ru>
+
+       * doc/md.texi: Refer to avr/constraints.md instead of
+       avr/avr.h.
+
+2006-03-30  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
+       signed vs. unsigned comparison failures on some hosts.
+
+2006-03-31  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/26459
+       * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
+       change to FLOAT_REGS.
+
+       * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
+       (rs6000_override_options): Use it.
+       (rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
+       only for -mabi=spe/no-spe and -mabi=altivec.
+
+2006-03-30  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
+       !Zdynamiclib.
+
+2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * Makefile.in: Rename docdir to gcc_docdir.
+
+2006-03-30  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/17959
+       * expr.c (emit_group_store):  Optimize group stores into a pseudo
+       register by using a paradoxical subreg to initialize the destination
+       if the first or last member of the group specifies a "low part".
+
+2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       PR target/26734
+       * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
+       * target.h (struct gcc_target.speculate_insn): Change type of the
+       second parameter to 'int'.
+       * lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
+       the second operand of the DEPS_LIST.
+       (copy_DEPS_LIST_list): Update reference to the second operand of the
+       DEPS_LIST.
+       * rtl.h (alloc_DEPS_LIST): Update signature.
+       * sched-int.h (ds_t): Change typedef to 'int'.
+       (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
+
+2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       * haifa-sched.c (try_ready): Change condition to restore
+       non-speculative pattern of the instruction.
+       (process_insn_depend_be_in_spec): Code to keep probability of the
+       speculative dependence non-decreasing.
+
+2006-03-30  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
+       (single_move_for_movmem): ... this. Also change all uses.
+       (bfin_expand_strmov): Renamed to...
+       (bfin_expand_movmem): ... this. Also change all uses.
+       * config/bfin/bfin.md (movstrsi): Renamed to...
+       (movstrsi): ...this.
+
+2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-optimization/26830
+
+       * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
+       (copy_prop_visit_stmt): Remove write-only variable ann.
+       (init_copy_prop): Check variable loop depth here.  Do not simulate
+       memory-tag and virtual operand PHIs except for store copy prop.
+
+2006-03-30  Richard Guenther  <rguenther@suse.de>
+
+       * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
+       variants with double arguments.
+
 2006-03-29  David Edelsohn  <edelsohn@gnu.org>
 
        * genpreds.c (write_tm_constrs_h): Delete variable p.
+       * genconditions.c (write_header): Add tm-constrs.h to included
+       headers.
+       * genpeep.c (main): Add toplev.h to included headers.
+       * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
+       (build/genpeep.o): Add toplev.h dependency.
+       * config/rs6000/constraints.md: Add "W" constraint.
 
 2006-03-29  Roger Sayle  <roger@eyesopen.com>
 
 
 2006-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to 
+       * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
        tmake_file.
        * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
        (NR_C_MODES): Add TDmode, DDmode and SDmode.
        (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
        (s390_function_arg_float): Allow SDmode and DDmode values to be
        passed in floating point registers.
-       (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT 
+       (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
        check with SCALAR_FLOAT_MODE_P.
        (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
 
 
        * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
        the equivalent ~X & Y, and the symmetry related transformations.
-       (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as 
+       (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
        ~X & Y, and symmetry related transforms.
 
 2006-03-28  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
 
 2006-03-27  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       * config/s390/s390-protos.h (s390_hard_regno_mode_ok, 
+       * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
        s390_class_max_nregs): New function prototypes.
        * config/s390/s390.c (REGNO_PAIR_OK): New macro.
        (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
        Don't test for lambda_vector_lexico_pos.
        (same_access_functions, add_multivariate_self_dist,
        add_other_self_distances, dir_from_dist): New.
-       (build_classic_dir_vector): Replace implementation almost identical to 
+       (build_classic_dir_vector): Replace implementation almost identical to
        build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
        dir_from_dist.
        (subscript_dependence_tester_1): New.
        (compute_data_dependences_for_loop): Compute the loop nest, and give
        up if the nest is not well formed.
        * tree-data-ref.h (loop_p): New.
-       (struct data_dependence_relation): Replace size_vect field with 
+       (struct data_dependence_relation): Replace size_vect field with
        loop_nest, a vec of loops.
        (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
        (DDR_LOOP_NEST): New.
        splittable_symbolic_operand.
        (mips_use_anchors_for_symbol_p): New function.
        * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
-       (mips_split_p): Declare.  
+       (mips_split_p): Declare.
 
 2006-03-16  Richard Sandiford  <richard@codesourcery.com>
 
 
        * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
        * lists.c (unused_deps_list): New variable.
-       (free_list): Add assertions to verify the proper distinguishing 
+       (free_list): Add assertions to verify the proper distinguishing
        between INSN_LISTs and DEPS_LISTs.
        (find_list_elem, remove_list_elem, remove_list_node): New static
        functions.
        * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
        (EXTRA_CONSTRAINT): Likewise.
        * config/vax/vax.md (four unnamed insns): Likewise.
-       
+
 2006-03-15  Paul Brook  <paul@codesourcery.com>
 
        * config/arm/arm.c (minipool_pad): New.
 2006-03-13  Kazu Hirata  <kazu@codesourcery.com>
 
        * doc/invoke.texi (-fdump-rtl-loop): Remove.
-       (-dL, -fdump-rtl-loop2): Update the dump file names 
+       (-dL, -fdump-rtl-loop2): Update the dump file names
 
        * doc/invoke.texi: Update dump file names.
 
 2006-03-10  Jason Merrill  <jason@redhat.com>
 
        PR c/26004
-       * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if 
+       * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
        the target was declared 'register'.
 
 2006-03-10  Adam Nemet  <anemet@caviumnetworks.com>
        * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
        when building with libgloss.
        (sh*elf): Implement --without-fp option.
-       (sh64-superh-linux*): Don't multilib. 
+       (sh64-superh-linux*): Don't multilib.
 
 2006-03-10  J"orn Rennecke <joern.rennecke@st.com>
 
        (*branch_zero<mode>): Rename to...
        (*branch_order<mode>): ...this.  Remove mode from comparison operator.
        Use mips_output_order_conditional_branch.  Only accept ordered
-       comparisons.  
+       comparisons.
        (*branch_zero<mode>_inverted): Rename to...
        (*branch_order<mode>_inverted): ...this and update as for
        *branch_order<mode>.
        (tree_ssa_forward_propagate_single_use_vars): Return
        TODO_update_smt_usage if we need to update SMT usage.
        (pass_forwprop): Remove TODO_update_smt_usage.
-       
+
 2006-03-03  Diego Novillo  <dnovillo@redhat.com>
 
        * tree-ssa-operands.c: Tidy whitespace.  Fix spelling.