+2008-04-24 Danny Smith <dannysmith@users.net>
+
+ * c-format.c (check_format_info_main): Use strncmp rather than a magic prefix
+ to handle multichar length specs.
+ * config/i386/msformat-c.c (format_length_info ms_printf_length_specs):
+ Don't prefix "I64" and "I32" with '\0'.
+
+2008-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/36015
+ * config/i386/i386.c (init_cumulative_args): Don't pass anything
+ in registers for -m32 only if stdarg_p (fntype).
+
+2008-04-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/36006
+ * expmed.c (store_fixed_bit_field): Copy op0 rtx before moving
+ temp to op0 in order to avoid invalid rtx sharing.
+
+2008-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-cfg.c (verify_expr): Check with is_gimple_address. Don't
+ check TREE_INVARIANT.
+ * tree-gimple.c (is_gimple_address): New.
+ (is_gimple_invariant_address): Simplify using decl_address_invariant_p.
+ * tree-gimple.h (is_gimple_address): New.
+ * tree.h (decl_address_invariant_p): New.
+ * tree.c (make_node_stat): Don't set TREE_INVARIANT.
+ (build_string): Likewise.
+ (decl_address_invariant_p): New, from is_gimple_invariant_address.
+ (tree_invariant_p_1): Likewise.
+ (save_expr): Use it.
+ (tree_invariant_p): New.
+ (skip_simple_arithmetic): Use it.
+ (stabilize_reference_1): Use it.
+ (recompute_tree_invariant_for_addr_expr): Don't update TREE_INVARIANT,
+ simplify.
+ (build1_stat): Drop code to compute TREE_INVARIANT.
+ (build2_stat): Drop code to compute TREE_INVARIANT.
+ (build3_stat): Drop code to compute TREE_INVARIANT.
+ (build4_stat): Drop code to compute TREE_INVARIANT.
+ (build5_stat): Drop code to compute TREE_INVARIANT.
+ (build7_stat): Drop code to compute TREE_INVARIANT.
+ (merge_dllimport_decl_attributes): Don't mention TREE_INVARIANT.
+ * tree.h (struct tree_base): Remove invariant_flag.
+ (TREE_INVARIANT): Remove.
+ * builtins.c (build_string_literal): Don't set TREE_INVARIANT.
+ (fold_builtin_expect): Check TREE_CONSTANT.
+ * tree-ssa-ccp.c (fold_stmt_r): Adjust comment.
+ * c-tree.h (c_expr_to_decl): Drop third parameter.
+ * c-typeck.c (build_external_ref): Don't set TREE_INVARIANT.
+ (build_c_cast): Don't set TREE_INVARIANT.
+ (pop_init_level): Don't set TREE_INVARIANT.
+ (c_objc_common_truthvalue_conversion): Don't set TREE_INVARIANT.
+ * gimplify.c (gimplify_init_ctor_preeval): Add assertion, test
+ TREE_CONSTANT.
+ (gimplify_init_constructor): Don't set TREE_INVARIANT.
+ (gimplify_addr_expr): Adjust comment.
+ * tree-mudflap.c (mf_build_string):
+ * print-tree.c (print_node): Don't print TREE_INVARIANT.
+ * tree-nested.c (convert_nonlocal_reference): Adjust comment.
+ * c-common.c (fix_string_type): Don't set TREE_INVARIANT.
+ * langhooks-def.h (lhd_expr_to_decl): Drop third parameter.
+ * langhooks.c (lhd_expr_to_decl): Drop third parameter.
+ * langhooks.h (struct lang_hooks): Drop third parameter from
+ expr_to_decl.
+
+2008-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/27799
+ PR tree-optimization/32921
+ PR tree-optimization/32624
+ * tree-ssa-structalias.c (merge_smts_into): Only merge the
+ SMTs aliases and the tag itself into the solution.
+ * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Do not
+ merge the points-to solution back into the SMT aliases.
+ (may_alias_p): Use alias_set_subset_of instead of
+ aliases_conflict_p. A pointer which points to
+ memory with alias set zero may access any variable.
+
+2008-04-23 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (alias_set_subset_of): Correctly handle asking
+ if zero is a subset of an alias set with zero child.
+ * tree-ssa-alias.c (have_common_aliases_p): Simplify logic.
+ (compute_flow_insensitive_aliasing): Correctly walk all
+ pointers. Do not unnecessarily union sets.
+
+2008-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/36021
+ * c-common.c (handle_alloc_size_attribute): Use type_num_arguments.
+
+2008-04-22 Tomas Bily <tbily@suse.cz>
+
+ * tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as
+ unreachable case.
+ * tree-vrp.c (extract_range_from_unary_expr): Removed unused
+ NON_LVALUE_EXPR.
+ * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
+ * tree-ssa-structalias.c (get_constraint_for): Likewise.
+ * tree-inline.c (estimate_num_insns_1): Likewise.
+ * varasm.c (const_hash_1, compare_constant, copy_constant)
+ (compute_reloc_for_constant, output_addressed_constants): Likewise.
+ * emit-rtl.c (component_ref_for_mem_expr)
+ (set_mem_attributes_minus_bitpos): Likewise.
+ * expr.c (highest_pow2_factor, expand_expr_real_1, )
+ (is_aligning_offset): Likewise.
+ * dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info): Likewise.
+ * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.
+ * dojump.c (do_jump): Likewise.
+ * builtins.c (get_pointer_alignment, get_memory_rtx)
+ (integer_valued_real_p, fold_builtin_next_arg): Likewise.
+ * tree-scalar-evolution.c (instantiate_parameters_1): Likewise.
+
+2008-04-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/36017
+ * builtins.c (expand_errno_check): Clear CALL_EXPR_TAILCALL before
+ expanding the library call.
+
+2008-04-22 Ian Lance Taylor <iant@google.com>
+
+ * fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather
+ than size_in_bytes.
+
+2008-04-22 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_register_move_cost): Increase cost
+ of LR/CTR moves for Power6.
+
+2008-04-22 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR middle-end/36003
+ * passes.c (init_optimization_passes): Remove
+ pass_fast_rtl_byte_dce.
+
+2008-04-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/29096
+ * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Rearrange calls to
+ builtin functions to generate faster code.
+ (_mm_cvtpu16_ps): Ditto.
+ (_mm_cvtpi32x2_ps): Ditto.
+
2008-04-22 Nick Clifton <nickc@redhat.com>
+ * common.opt (ftree-loop-distribution): Add Optimization
+ attribute.
+
* config/frv/frv.c (frv_stack_info): Use crtl instead of cfun.
(frv_expand_builtin_va_start): Likewise.
df_entry_block_defs_collect, df_exit_block_uses_collect):
Added mode parameter to calls to df_ref_record, df_uses_record,
df_ref_create_structure.
- (df_ref_equal_p, df_ref_compare): Added test for modes.
+ (df_ref_equal_p, df_ref_compare): Added test for modes.
(df_ref_create_structure): Added code to set mode. Renamed
DF_REF_WIDTH and DF_REF_OFFSET to DF_REF_EXTRACT_WIDTH and
DF_REF_EXTRACT_OFFSET.