OSDN Git Service

2008-04-25 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 761cf7f..60c2a93 100644 (file)
@@ -1,3 +1,231 @@
+2008-04-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (mov<mode>): Replace SSEMODEI with
+       SSEMODE.
+       (*mov<mode>_internal): Likewise.  Support V4SF and V2DF.
+       (mov<mode>): Removed.
+       (*movv4sf_internal): Likewise.
+       (*movv2df_internal): Likewise.
+
+2008-04-25  Pompapathi V Gadad <Pompapathi.V.Gadad@nsc.com>
+
+       * config.gcc (crx-*-elf): Remove deprecation.
+
+2008-04-25  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming-crtend.c (register_frame_ctor): Register
+       __gcc_deregister_frame with atexit.
+       (deregister_frame_dtor): Remove.
+
+2008-04-24  Nathan Froyd  <froydnj@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/rs6000/rs6000.opt (mspe): Remove Var property.
+       (misel): Likewise.
+       * config/rs6000/rs6000.h (rs6000_spe): Declare.
+       (rs6000_isel): Likewise.
+       * config/rs6000/rs6000.c (rs6000_spe): New variable.
+       (rs6000_isel): New variable.
+       (rs6000_handle_option): Handle OPT_mspe and OPT_misel.
+
+2008-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/35758
+       * c-common.c (handle_vector_size_attribute): Call
+       lang_hooks.types.reconstruct_complex_type instead of
+       reconstruct_complex_type.
+       * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise.
+       * config/spu/spu.c (spu_handle_vector_attribute): Likewise.
+       * langhooks.h (struct lang_hooks_for_types): Add
+       reconstruct_complex_type hook.
+       * langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
+
+2008-04-24  Richard Guenther  <rguenther@suse.de>
+
+       * c-common.h (check_builtin_function_arguments): Declare.
+       * c-common.c (validate_nargs): New function.
+       (check_builtin_function_arguments): Likewise.
+       * c-typeck.c (build_function_call): Call
+       check_builtin_function_arguments.
+       * builtins.c (fold_builtin_classify): Remove error reporting code.
+       (fold_builtin_unordered_cmp): Likewise.
+       (fold_builtin_1): Likewise.
+       (fold_builtin_n): Likewise.
+
+2008-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/36008
+       * fold-const.c (try_move_mult_to_index): If s == NULL, divide
+       the original op1, rather than delta by step.
+
+2008-04-22  Antoniu Pop  <antoniu.pop@gmail.com>
+           Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-parloops.c (take_address_of, eliminate_local_variables_1,
+       eliminate_local_variables_stmt, eliminate_local_variables,
+       separate_decls_in_loop_name, separate_decls_in_loop_stmt,
+       separate_decls_in_loop, gen_parallel_loop): Make them work on a region
+       of code delimited by two edges in the CFG.
+       (separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
+       (separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
+       (separate_decls_in_loop): Renamed separate_decls_in_region.  Isolate 
+       the case of parallelisation of reductions.
+       (expr_invariant_in_region_p): New.
+
+       * tree-flow.h (gather_blocks_in_sese_region): Declared.
+       * tree-cfg.c (gather_blocks_in_sese_region): Extern.
+
+2008-04-24  Ira Rosen  <irar@il.ibm.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36034
+       * tree-vect-analyze.c (vect_analyze_group_access): SLP is
+       incapable of dealing with loads with gaps.
+
+2008-04-24  Rafael Espindola  <espindola@google.com>
+
+       * tree-flow.h (vrp_evaluate_conditional): Change signature.
+       * tree-ssa-propagate.c (fold_predicate_in): Update call to
+       vrp_evaluate_conditional.
+       * tree-vrp.c (vrp_evaluate_conditional_warnv): Remove.
+       (vrp_evaluate_conditional): Split the cond argument.
+       (vrp_visit_cond_stmt): Use vrp_evaluate_conditional_warnv_with_ops.
+       (simplify_stmt_for_jump_threading): Update call to
+       vrp_evaluate_conditional.
+
+2008-04-24  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/35982
+       * tree-vect-analyze.c (vect_check_interleaving): Check that the
+       interleaved data-refs are of the same type.
+
+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
        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.