OSDN Git Service

2010-04-07 Martin Jambor <mjambor@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 86760f4..955789c 100644 (file)
@@ -1,3 +1,196 @@
+2010-04-07  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (find_param_candidates): Allow scalar va_list types.
+
+2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR driver/41594
+       * gcc.c: Add -static-libstdc++ to list of recognized options.
+
+2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
+       generic.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with
+       pointer bases build simple mem attributes to retain
+       points-to information.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
+       preserve points-to related information.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
+       discard plain indirect references.
+       * fold-const.c (operand_equal_p): Guard against NULL_TREE
+       type.
+       * tree.c (tree_nop_conversion): Likewise.
+
+2010-04-07  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/43628
+       * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
+
+2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
+       calling convention attributes on METHOD_TYPEs for w64 ABI, too.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Fix indentation and comments.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Sort static functions in topological order.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Fix indentation and comments.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (max_signed_precision_type): Use
+       lang_hooks.types.type_for_size instead of build_nonstandard_integer_type.
+       When converting an unsigned type to signed, double its precision.
+       (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
+       (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
+       (graphite_create_new_loop_guard): When ub + 1 wraps around, use lb <= ub.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
+       POINTER_PLUS_EXPR for pointer types.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
+       * graphite-clast-to-gimple.c: Include langhooks.h.
+       (max_signed_precision_type): New.
+       (max_precision_type): Takes two types as arguments.
+       (precision_for_value): New.
+       (precision_for_interval): New.
+       (gcc_type_for_interval): New.
+       (gcc_type_for_value): New.
+       (gcc_type_for_clast_term): New.
+       (gcc_type_for_clast_red): New.
+       (gcc_type_for_clast_bin): New.
+       (gcc_type_for_clast_expr): Split up into several functions.
+       (gcc_type_for_clast_eq): Rewritten.
+       (compute_bounds_for_level): New.
+       (compute_type_for_level_1): New.
+       (compute_type_for_level): New.
+       (gcc_type_for_cloog_iv): Removed.
+       (gcc_type_for_iv_of_clast_loop): Rewritten.
+       (graphite_create_new_loop): Compute the lower and upper bound types
+       with gcc_type_for_clast_expr.
+       (graphite_create_new_loop_guard): Same.
+       (find_cloog_iv_in_expr): Removed.
+       (compute_cloog_iv_types_1): Removed.
+       (compute_cloog_iv_types): Removed.
+       (gloog): Do not call compute_cloog_iv_types.
+       * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
+       GBB_CLOOG_IV_TYPES.
+       (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
+       * sese.h (struct gimple_bb): Removed field cloog_iv_types.
+       (GBB_CLOOG_IV_TYPES): Removed.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
+       gimple_phi_num_args of the loop close SSA phi node is equal to 1.
+       (detect_commutative_reduction): Same.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
+       call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
+       argument.
+       * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
+       * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
+       (rewrite_commutative_reductions_out_of_ssa): Same.
+       * passes.c (execute_function_todo): Call verify_ssa for every pass
+       in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
+       * tree-flow.h (verify_loop_closed_ssa): Update declaration.
+       * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
+       with an extra argument.
+       * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
+       verify_ssa only when the extra argument is true.
+       (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
+       with an extra argument.
+       (tree_transform_and_unroll_loop): Same.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * passes.c (execute_function_todo): Call verify_loop_closed_ssa
+       for all the passes of the LNO having LOOP_CLOSED_SSA.
+       * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
+       * tree-loop-distribution.c (pass_loop_distribution): Same.
+       * tree-pass.h (TODO_verify_loops): Removed.
+       * tree-ssa-loop.c (pass_tree_loop_init): Same.
+       (pass_lim): Same.
+       (pass_tree_unswitch): Same.
+       (pass_predcom): Same.
+       (pass_vectorize): Same.
+       (pass_linear_transform): Same.
+       (pass_graphite_transforms): Same.
+       (pass_iv_canon): Same.
+       (pass_complete_unroll): Same.
+       (pass_complete_unrolli): Same.
+       (pass_parallelize_loops): Same.
+       (pass_loop_prefetch): Same.
+       (pass_iv_optimize): Same.
+
+2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
+
+       PR middle-end/32824
+       * passes.c (init_optimization_passes): Move pass_lim before
+       pass_copy_prop and pass_dce_loop.
+
+2010-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43667
+       * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
+       instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
+       (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
+       MULTI_* defines for 4 argument vpermil2p* builtins.
+
+2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
+       * config/i386/i386.c (x86_maybe_negate_const_int): New.
+       (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
+       * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
+       *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
+       *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
+       *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
+       Use x86_maybe_negate_const_int to output insn mnemonic.
+       (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
+       check from instruction predicate.  Update comments.
+       * config/i386/sync.md (sync_add<mode>): Use
+       x86_maybe_negate_const_int to output insn mnemonic.
+
+2010-04-06  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/42906
+       * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
+       IGNORE_SELF argument.  Set visited_control_parents for fully
+       processed BBs.
+       (find_obviously_necessary_stmts): Update call of
+       mark_control_dependent_edges_necessary.
+       (propagate_necessity): Likewise.  Handle PHI edges more curefully.
+
 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md: Remove comment about 'e' and 'E'
 
 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
 
-       * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 
+       * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
        basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
        collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
        config/alpha/predicates.md, config/arm/arm.md,
 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
 
        PR target/43469
-       * arm.c (legitimize_tls_address): Adjust call to 
+       * arm.c (legitimize_tls_address): Adjust call to
        gen_tls_load_dot_plus_four.
        (arm_note_pic_base): New function.
        (arm_cannot_copy_insn_p): Use it.
 
 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
-       * config.guess (i[34567]86-*-solaris2*): Default with_arch_32,
+       * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
        with_tune_32 to pentium4.
 
 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>