OSDN Git Service

* config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 689f70b..f36d5ed 100644 (file)
@@ -1,3 +1,101 @@
+2010-04-28  Mike Stump  <mikestump@comcast.net>
+
+       * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for
+       now.
+
+2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
+       record or union type with RECORD_OR_UNION_TYPE_P predicate.
+       (lto_input_ts_type_tree_pointers): Likewise.
+       * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
+       (lto_output_ts_type_tree_pointers): Likewise.
+
+2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Uniquization of constants at the Tree level
+       * tree.h (DECL_IN_CONSTANT_POOL): New macro.
+       (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
+       bit to the end.
+       (tree_output_constant_def): Declare.
+       * gimplify.c (gimplify_init_constructor): When using block copy, first
+       uniquize the constant constructor on the RHS.
+       * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
+       DECL_IN_CONSTANT_POOL flag.
+       * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
+       * varasm.c (make_decl_rtl): Deal with variables belonging to the global
+       constant pool.
+       (assemble_variable): Deal with symbols belonging to the tree constant
+       pool.
+       (get_constant_section): Add ALIGN parameter and simplify.
+       (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
+       (assemble_constant_contents): Use the expression of the VAR_DECL.
+       (output_constant_def_contents): Use the alignment of the VAR_DECL.
+       (tree_output_constant_def): New global function.
+       (mark_constant): Use the expression of the VAR_DECL.
+       (place_block_symbol): Use the alignment of the VAR_DECL and the size of
+       its expression.
+       (output_object_block): Likewise and assemble the expression.
+
+2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
+       hash_tree, eq_tree): New tree hash table.
+       (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
+       [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
+       lto_orig_address_remove): Reimplement.
+
+2010-04-28  Xinliang David Li  <davidxl@google.com>
+
+       PR c/42643
+       * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
+       (compute_uninit_opnds_pos): New function.
+       (is_non_loop_exit_postdominating): New function.
+       (compute_control_dep_chain): New function.
+       (find_pdom): New function.
+       (convert_control_dep_chain_into_preds): New function.
+       (find_predicates): New function.
+       (find_control_equiv_block): New function.
+       (collect_phi_def_edges): New function.
+       (find_def_preds): New function.
+       (find_dom): New function.
+       (dump_predicates): New function.
+       (get_cmp_code): New function.
+       (is_value_included_in): New function.
+       (find_matching_predicate_in_rest_chains): New function.
+       (use_pred_not_overlap_with_undef_path_pred): New function.
+       (is_use_properly_guarded): New function.
+       (normalize_cond_1): New function.
+       (is_and_or_or): New function.
+       (normalize_cond): New function.
+       (is_gcond_subset_of): New function.
+       (is_subset_of_any): New function.
+       (is_or_set_subset_of): New function.
+       (is_and_set_subset_of): New function.
+       (is_norm_cond_subset_of): New function.
+       (is_pred_expr_subset_of): New function.
+       (is_pred_chain_subset_of): New function.
+       (is_included_in): New function.
+       (is_superset_of): New function.
+       (find_uninit_use): New function.
+       (warn_uninitialized_phi): New function.
+       (compute_possibly_undefined_names): New function.
+       (ssa_undefined_value_p): New function.
+       (execute_late_warn_uninitialized): New function.
+       * tree-ssa.c (ssa_undefined_value_p): Removed.
+       (warn_uninit): Changed to extern.
+       (warn_uninitialized_phi): Removed.
+       (warn_uninitialized_vars): Changed to extern.
+       (execute_late_warn_uninitialized): Removed
+       * tree-flow.h: Add new prototypes.
+       * timevar.def: Add new time variable.
+       * Makefile.in: Add new build file.
+
+2010-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
+       type if available.
+
 2010-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        PR target/22224
        * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
        (SUB_LINK_ENTRY32): New.
        (SUB_LINK_ENTRY64): New.
-       (LINK_SPEC): Replace entry point spec by
-       SUB_LINK_ENTRY.
+       (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
        * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
        (SUB_LINK_ENTRY64): New.
        (SUB_LINK_ENTRY): New.
        (estimate_num_insns): Special case more builtins.
 
 2010-04-27  Shujing Zhao  <pearly.zhao@oracle.com>
-       
+
        PR c/32207
        * c-typeck.c (build_binary_op): Move forward check for comparison
        pointer with null pointer constant and adjust the diagnostic message.
 
 2010-04-26  Ira Rosen  <irar@il.ibm.com>
 
-       * tree-vectorizer.h (struct _stmt_vec_info): Add new field to 
-       determine if the statement is vectorizable, and a macro to 
-       access it.
-       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): 
-       Skip statements that can't be vectorized. If the analysis 
-       fails, mark the statement as unvectorizable if vectorizing 
-       basic block.
+       * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
+       determine if the statement is vectorizable, and a macro to access it.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+       Skip statements that can't be vectorized. If the analysis fails,
+       mark the statement as unvectorizable if vectorizing basic block.
        (vect_compute_data_refs_alignment): Likewise.
-       (vect_verify_datarefs_alignment): Skip statements marked as 
+       (vect_verify_datarefs_alignment): Skip statements marked as
        unvectorizable. Add print.
-       (vect_analyze_group_access): Skip statements that can't be 
-       vectorized. If the analysis fails, mark the statement as 
+       (vect_analyze_group_access): Skip statements that can't be
+       vectorized. If the analysis fails, mark the statement as
        unvectorizable if vectorizing basic block.
-       (vect_analyze_data_ref_accesses, vect_analyze_data_refs): 
-       Likewise.
-       * tree-vect-stmts.c (vectorizable_store): Fix the number of 
+       (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
+       * tree-vect-stmts.c (vectorizable_store): Fix the number of
        generated stmts for SLP.
        (new_stmt_vec_info): Initialize the new field.
-       * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize 
+       * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
        statements marked as unvectorizable.
 
 2010-04-25  Joseph Myers  <joseph@codesourcery.com>