OSDN Git Service

gcc
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7c659d4..1c9599e 100644 (file)
@@ -1,5 +1,153 @@
+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.