+2007-01-21 Dirk Mueller <dmueller@suse.de>
+
+ PR bootstrap/30511
+ * tree-vrp.c (check_array_bounds): do not warn
+ about ADDR_EXPR's of ARRAY_REF's which are immediately
+ used in binary expressions.
+
+2007-01-21 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Add new field
+ read_write_dep and macros for its access.
+ * tree-vectorizer.c (new_stmt_vec_info): Initialize the new field.
+ * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Remove
+ argument, call vect_check_interleaving for every independent pair of
+ data-refs. Mark loads that access the same memory location as a store
+ in the loop.
+ (vect_check_dependences): Remove.
+ (vect_analyze_data_ref_dependences): Remove vect_check_dependences
+ call, fix the call to vect_analyze_data_ref_dependence.
+ (vect_analyze_data_ref_access): For statements that access the same
+ data-ref, check that they are not stores; for loads, check that there
+ is no store that access the same location.
+
+2007-01-20 Roger Sayle <roger@eyesopen.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * doc/invoke.texi (-fdump-rtl-combine): Fix under/overfull hbox.
+ (-fdump-rtl-stack): Likewise.
+ (-fno-signed-zeros): Use @minus{} for a minus sign. Correct typo.
+ (-mcheck-zero-division, -mcpu): Fix under/overfull hbox.
+ (-mpt-fixed): Use @minus{} for minus sign.
+ (Using Precompiled Headers): Fix under/overfull hbox.
+
+2007-01-20 Jan Hubicka <jh@suse.cz>
+
+ * tree-flow.h (struct stmt_ann_d): Move references_memory to proper
+ place within annotation.
+
+2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (output_move_double): Change array size of xoperands to 4.
+
+2007-01-20 Jan Hubicka <jh@suse.cz>
+
+ * tree-tailcall.c (adjust_return_value): Do not use RESULT_DECL
+ as temporary.
+
+2007-01-19 Ian Lance Taylor <iant@google.com>
+
+ * expmed.c (expand_divmod) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]: Cast
+ constant to unsigned HOST_WIDE_INT before negating.
+
+2007-01-19 Ian Lance Taylor <iant@google.com>
+
+ * tree-ssa-operands.h (struct vuse_vec_d): Change num_vuse field
+ to unsigned.
+ (VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Use unsigned comparison.
+ (VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
+ (SET_VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Likewise.
+ (SET_VUSE_ELEMENT_VAR) [ENABLE_CHECKING]: Likewise.
+ (SET_VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
+ (realloc_vdef, realloc_vuse): Change second parameter to
+ unsigned.
+ (ssa_operand_iterator_d): Change vuse_index and mayuse_index
+ fields to unsigned.
+ * tree-ssa-operands.c (realloc_vop): Change num_elem parameter to
+ unsigned. Change x and lim locals to unsigned.
+ (realloc_vdef, realloc_vuse): Change num_elem parameter to
+ unsigned.
+ (finalize_ssa_vuse_ops): Change old_i local to unsigned.
+ (copy_virtual_operands): Change i and n locals to unsigned.
+
+2007-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/29335
+ * builtins.c (fold_builtin_1): Handle builtin fdim.
+
+2007-01-20 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa.c (init_tree_ssa): Do not call init_alias_heapvars.
+ * tree-ssa-structalias.c (compute_points_to_sets): Do call
+ init_alias_heapvars.
+ (init_alias_heapvars): Initialize only when not already initialized.
+ (delete_alias_heapvars): Set heapvar_for_stmt to NULL.
+
+2007-01-19 Roger Sayle <roger@eyesopen.com>
+
+ * common.opt (fsigned-zeros): New command line option.
+ * flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead
+ of flag_unsafe_math_optimizations.
+ * opts.c (set_fast_math_flags): The -ffast-math command line option
+ implies -fno-signed-zeros.
+ (fast_math_flags_set_p): Likewise.
+
+ * doc/invoke.texi: Document new -fno-signed-zeros option, and update
+ the documentation of -ffast-math appropriately. Wrap long lines.
+
+2007-01-19 Steve Ellcey <sje@cup.hp.com>
+
+ * system.h (ASM_MAKE_LABEL_LINKONCE): Poison.
+ * varasm.c (globalize_decl): Remove ASM_MAKE_LABEL_LINKONCE ifdef.
+
+2007-01-19 Tomas Bily <tbily@suse.cz>
+
+ * cgraphunit.c (cgraph_finalize_function): Updating of pid
+ * tree-profile.c:
+ (tree_init_ic_make_global_vars): New function
+ (tree_init_edge_profiler): call of tree_init_ic_make_global_vars
+ (tree_gen_ic_profiler): New function
+ (tree_gen_ic_func_profiler): New function
+ (tree_profiling): Added calling of tree_gen_ic_func_profiler
+ (tree_profile_hooks): Added hook for indirec/virtual calls
+ * value-prof.c (tree_find_values_to_profile): New case for
+ indirect calls
+ (tree_values_to_profile): Call for determining indirect/virtual
+ counters
+ (tree_indirect_call_to_profile): New function
+ (tree_ic_transform): New function
+ (tree_ic): New function
+ (find_func_by_pid): New function
+ (init_pid_map): New function
+ (tree_value_profile_transformations): Added check for
+ indirect/virtual call transformation
+ * value-prof.h (enum hist_type): New counter type for
+ indirect/virtual calls
+ (profile_hooks): Added new hook for profiling indirect/virtual
+ calls
+ * profile.c (instrument_values): New case for indirect/virtual
+ call added
+ * gcov-io.h (GCOV_LAST_VALUE_COUNTER): Changed to 6
+ (GCOV_COUNTER_V_INDIR): New counter type
+ (GCOV_COUNTER_NAMES): New name of counter "indirect" added
+ (GCOV_MERGE_FUNCTIONS): New merge function for indirect/virtual
+ call added
+ * cgraph.c: Definition of cgraph_max_pid
+ (cgraph_create_node): Default init of pid attribute
+ * cgraph.h: Declaration of cgraph_max_pid
+ (struct cgraph_node): Added pid attribute
+ * libgcov.c (__gcov_indirect_call_profiler): New function
+ (__gcov_one_value_profiler_body): New function
+ (__gcov_one_value_profiler): Body was moved to
+ __gcov_one_value_profiler_body and calls it
+
+2007-01-19 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * doc/gty.texi (Options): Document the mark_hook option to GTY.
+ * gengtype.c (write_types_data, write_func_for_structure,
+ write_types, ggc_wtd, pch_wtd): Add skip_hooks to
+ write_types_data, ggc_wtd, pch_wtd for processing mark_hook.
+ (walk_type, write_func_for_structure): Generate the mark_hook if
+ needed.
+
+2007-01-19 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Instead of 'early' argument
+ take inlining mode argument specifying whether to inline for size/speeed or all
+ functions; add support for flattening; improve dumpting.
+ (cgraph_early_inlining): Update call of decide_inlining_incrementally.
+
+2007-01-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR c++/17947
+ * toplev.c (warn_deprecated_use): Use %qD instead of %qs to print
+ the name of the declared identifier.
+
+2007-01-19 Dirk Mueller <dmueller@suse.de>
+
+ * config/i386.h (CONDITIONAL_REGISTER_USAGE): Store
+ result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid
+ duplicate evaluation.
+
+2007-01-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (acos<mode>2): Rename from acossf2 and acosdf2.
+ Macroize expander using X87MODEF12 mode macro. Extend operand 1
+ to XFMode, use acosxf2 and truncate result to requested mode.
+ Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
+ (asin<mode>2): Similarly, with asin expanders.
+ (*fscalexf4_i387): Rename from *fscalexf4.
+ (expNcorexf3): New expander.
+ (expxf2, exp10xf2, exp2xf2): Use expNcorexf3 expander.
+ (exp<mode>2): Rename from expsf2 and expdf2. Macroize expander using
+ X87MODEF12 mode macro. Extend operand 1 to XFMode, use expxf2 and
+ truncate result to requested mode. Use SSE_FLOAT_MODE_P to disable
+ patterns for SSE math.
+ (exp10<mode>2): Similarly, with exp10 expanders.
+ (exp2<mode>2): Similarly, with exp2 expanders.
+ (expm1<mode>2): Similarly, with expm1 expanders.
+ (ldexp<mode>3): Similarly, with ldexp expanders.
+ (log<mode>2, log10<mode>2, log2<mode>2, log1p<mode>2, logb<mode>2):
+ Use gen_truncxf<mode>2_i387_noop to truncate result.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32
+ for ColdFire targets.
+
+2007-01-19 Nathan Sidwell <nathan@codesourcery.com>
+ Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New macro.
+ (INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
+ (__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
+ * config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Override.
+ (M68K_STATIC_CHAIN_REG_NAME): Likewise.
+ * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.md (adddi_dilshr32): Rename to...
+ (*adddi_dilshr32): ...this. Fix formatting. Remove commented-out
+ non-canonical pattern. Restrict to !TARGET_COLDFIRE.
+ (*adddi_dilshr32_cf): New pattern.
+ (adddi3, subdi3): Remove first alternatives.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.c (notice_update_cc): If an SFmode move is
+ implemented using move.l, do not use its cc result for floating-point
+ comparisons.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint
+ from accepting 's' constraints if flag_pic.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt)
+ (bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev)
+ (bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change
+ condition from TARGET_68881 to TARGET_HARD_FLOAT.
+
+2007-01-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Add
+ ColdFire alternatives.
+ * config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): New macro.
+ * config/m68k/m68k.md (clzsi2): Define for ColdFire
+ architectures that support ff1 instruction.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case.
+ * config/m68k/m68k.md (*movsi_cfv4): Fold into...
+ (*movsi_cf): ...here. Remove unnecessary 'R' from 'Rg'.
+ Add commentary.
+
+2007-01-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT
+ and return a bool.
+ (output_move_const_into_data_reg, output_move_simode_const): Delete.
+ * config/m68k/m68k.c (const_method, const_int_cost): Take a
+ HOST_WIDE_INT instead of an rtx.
+ (m68k_rtx_costs): Update call accordingly.
+ (output_move_const_into_data_reg): Likewise. Fix formatting.
+ (valid_mov3q_const): Take a HOST_WIDE_INT instead of an rtx.
+ Return a bool.
+ (output_move_simode_const): Update calls after above changes.
+ Rework to use automatic variables and predicates like MEM_P.
+ * config/m68k/m68k.md (pushexthisi_const): Update call to
+ valid_mov3q_const.
+
+2007-01-19 Dirk Mueller <dmueller@suse.de>
+
+ * tree-ssa-alias.c (perform_var_substitution): Fix typo
+ in dump_flags test.
+
+2007-01-19 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (expand_builtin_cexpi): Fall back to expanding
+ via cexp in case sincos is not available.
+
+2007-01-19 Richard Guenther <rguenther@suse.de>
+
+ * doc/tm.texi (TARGET_HAS_SINCOS): Document new target macro.
+ * defaults.h (TARGET_HAS_SINCOS): Default to off.
+ * config/linux.h (TARGET_HAS_SINCOS): Set to on if we have glibc.
+ * config/alpha/linux.h (TARGET_HAS_SINCOS): Likewise.
+ * config/sparc/linux.h (TARGET_HAS_SINCOS): Likewise.
+ * config/sparc/linux64.h (TARGET_HAS_SINCOS): Likewise.
+ * config/rs6000/linux.h (TARGET_HAS_SINCOS): Likewise.
+ * config/rs6000/linux64.h (TARGET_HAS_SINCOS): Likewise.
+
+2007-01-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*fpatanxf3_i387, fpatan_extend<mode>xf3_i387):
+ New insn patterns.
+ (atan2sf3_1, atan2df3_1, atan2xf3_1): Remove insn patterns.
+ (atan2xf3): Directly generate RTL pattern.
+ (atan2<mode>3): Rename from atan2sf3 and atan2df3 and macroize insn
+ patterns using X87MODEF12 mode macro. Use fpatan_extend<mode>xf3_i387
+ and truncate result to requested mode. Use SSE_FLOAT_MODE_P to
+ disable patterns for SSE math.
+ (atan<mode>2): Rename from atansf2 and atandf2 and macroize insn
+ patterns using X87MODEF12 mode macro. Use fpatan_extend<mode>xf3_i387
+ and truncate result to requested mode. Use SSE_FLOAT_MODE_P to
+ disable patterns for SSE math.
+
+2007-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * libgcc-std.ver: Fix typo in %inherit for GCC_4.3.0.
+
+2007-01-18 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
+ VIEW_CONVERT_EXPR to the same type as it's operand.
+
+2007-01-18 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if
+ configured for long double 128.
+
2007-01-18 Mike Stump <mrs@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Fix build