OSDN Git Service

PR tree-optimization/49618
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1b56a8f..d4d1c48 100644 (file)
@@ -1,3 +1,174 @@
+2011-07-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/49618
+       * tree-eh.c (tree_could_trap_p) <case CALL_EXPR>: For DECL_WEAK
+       t recurse on the decl.
+       <case FUNCTION_DECL, case VAR_DECL>: For DECL_WEAK decls
+       return true if expr isn't known to be defined in current
+       TU or some other LTO partition.
+
+2011-07-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * params.def (PARAM_CASE_VALUES_THRESHOLD): New parameter to
+       override CASE_VALUES_THRESHOLD.
+
+       * stmt.c (toplevel): Include params.h.
+       (case_values_threshold): Use the --param case-values-threshold
+       value if non-zero, otherwise use machine dependent value.
+       (expand_case): Use case_values_threshold.
+
+       * Makefile.in (stmt.o): Add $(PARAMS_H) dependency.
+
+       * doc/invoke.texi (--param case-values-threshold): Document.
+
+2011-07-05  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (dwarf2out_cfi_label): Make static.
+       (dwarf2out_flush_queued_reg_saves): Make static.
+       (dwarf2out_reg_save): Remove.
+       (dwarf2out_return_save): Remove.
+       (dwarf2out_return_reg): Remove.
+       (dwarf2out_reg_save_reg): Remove.
+       (dwarf2out_def_cfa): Merge into ...
+       (dwarf2out_frame_init): ... here.
+       * dwarf2out.h, tree.h: Remove declarations as necessary.
+
+2011-07-05  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): Remove.
+       (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
+       (ia64_expand_epilogue): Emit an empty FRAME_RELATED_EXPR for
+       the alloc insn.
+
+       * config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
+       (IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
+       (process_epilogue): Don't call dwarf2out_def_cfa.
+
+       * config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
+       indicate the return address save.
+       (process_cfa_register): Likewise.
+
+       * config/ia64/ia64.c (ia64_dwarf2out_def_steady_cfa): Remove.
+       (process_cfa_adjust_cfa, ia64_asm_unwind_emit): Don't call it.
+
+       * config/ia64/ia64.c (ia64_expand_prologue): Emit REG_CFA_REGISTER
+       for ar.pfs save at alloc insn.
+
+2011-07-05  Richard Henderson  <rth@redhat.com>
+
+       * config/arm/arm.c (arm_dwarf_handle_frame_unspec): Remove.
+       (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
+       (arm_expand_prologue): Use REG_CFA_REGISTER to mark the
+       stack pointer save.
+       (arm_unwind_emit_set): Don't recognize UNSPEC_STACK_ALIGN.
+       (arm_unwind_emit): Walk REG_NOTES for unwinding notes.  Emit
+       proper unwind info for a REG_CFA_REGISTER save of stack pointer.
+       * config/arm/arm.md (UNSPEC_STACK_ALIGN): Remove.
+
+2011-07-05  Richard Henderson  <rth@redhat.com>
+
+       * config/vax/vax.md (define_c_enum unspecv): New.  Define the
+       VUNSPEC_* constants here instead of via define_constants.
+       (VUNSPEC_PEM): New constant.
+       (procedure_entry_mask): New insn.
+       (prologue): New expander.
+       * config/vax/vax.c (vax_add_reg_cfa_offset): New.
+       (vax_expand_prologue): Rename from vax_output_function_prologue;
+       emit rtl instead of text.
+       (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
+       (print_operand): Add 'x' prefix.
+
+2011-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/47715
+       * calls.c (precompute_register_parameters): Promote the function
+       argument before checking non-legitimate constant.
+
+2011-07-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/47654
+       * graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool.
+       (lst_do_strip_mine_loop): Return an int.
+       (lst_do_strip_mine): Same.
+       (scop_do_strip_mine): Same.
+       (scop_do_block): Loop blocking should strip-mine at least two loops.
+       * graphite-interchange.c (lst_interchange_select_outer): Return an int.
+       (scop_do_interchange): Same.
+       * graphite-poly.h (scop_do_interchange): Update declaration.
+       (scop_do_strip_mine): Same.
+
+2011-07-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (precision_for_value): Removed.
+       (precision_for_interval): Removed.
+       (gcc_type_for_interval): Use mpz_sizeinbase.
+
+2011-07-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-ppl.h (value_max): Correct computation of max.
+
+2011-07-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (clast_name_to_index): Add missing space.
+
+2011-07-05  Richard Guenther  <rguenther@suse.de>
+
+       * c-decl.c (c_init_decl_processing): Defer building common
+       tree nodes to c_common_nodes_and_builtins.
+
+2011-07-05  Razya Ladelsky  <razya@il.ibm.com>
+
+       PR tree-optimization/49580
+       * tree-cfg.c (gimple_duplicate_sese_tail): Remove handling of 
+       the loop's number of iterations.
+        * tree-parloops.c (transform_to_exit_first_loop): Add the 
+       handling of the loop's number of iterations before the call 
+       to gimple_duplicate_sese_tail.
+        Insert the stmt caclculating the new rhs of the loop's
+       condition stmt to the preheader instead of iters_bb.
+
+2011-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR rtl-optimization/47449
+       * fwprop.c (forward_propagate_subreg): Don't propagate hard
+       register nor zero/sign extended hard register.
+
+2011-07-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49518
+       PR tree-optimization/49628
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
+       irrelevant and invariant data-references.
+       (vect_analyze_data_ref_access): For invariant loads clear the
+       group association.
+
+2011-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/49619
+       * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
+       pass VOIDmode as op0_mode to recursive call, and return temp even
+       when different from tor, just if it is not IOR of the original
+       PLUS arguments.
+
+       PR rtl-optimization/49472
+       * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
+       negating MULT, negate the second operand instead of first.
+       (simplify_binary_operation_1) <case MULT>: If one operand is
+       a NEG and the other is MULT, don't attempt to optimize by
+       negation of the MULT operand if it only moves the NEG operation
+       around.
+
+       PR debug/49602
+       * tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
+       get_current_def return value if it can't be trusted to be
+       the current value of the variable in the current bb.
+
+2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/49600
+       * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
+       general register to memory for !TARGET_INTER_UNIT_MOVES.
+
 2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
 
        PR target/44643
@@ -8,8 +179,7 @@
 
        * doc/extend.texi (AVR Built-in Functions): Update documentation
        of __builtin_avr_fmul*.
-       * config/avr/avr.c (avr_init_builtins): Don't depend on
-       AVR_HAVE_MUL.
+       * config/avr/avr.c (avr_init_builtins): Don't depend on AVR_HAVE_MUL.
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Ditto.
        * config/avr/avr.md (fmul): Rename to fmul_insn.
        (fmuls): Rename to fmuls_insn.
 2011-07-01  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/49603
-       * tree-vect-stmts.c (vectorizable_load): Remove unnecessary
-       assert.
+       * tree-vect-stmts.c (vectorizable_load): Remove unnecessary assert.
 
 2011-06-30  Martin Jambor  <mjambor@suse.cz>
 
        PR tree-optimization/46787
        * tree-data-ref.c (dr_address_invariant_p): Remove.
        (find_data_references_in_stmt): Invariant accesses are ok now.
-       * tree-vect-stmts.c (vectorizable_load): Handle invariant
-       loads.
+       * tree-vect-stmts.c (vectorizable_load): Handle invariant loads.
        * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
        invariant loads.
 
 
        * config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
        (cxa_type_match): Correct declaration.
-       (__gnu_unwind_pr_common): Reconstruct
-       additional indirection when __cxa_type_match returns
-       succeeded_with_ptr_to_base.
+       (__gnu_unwind_pr_common): Reconstruct additional indirection
+       when __cxa_type_match returns succeeded_with_ptr_to_base.
 
 2011-06-29  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
 
        Detect subregs via recursive descent instead of via SUBREG_LOC.
 
 2011-06-29  Georg-Johann Lay  <avr@gjlay.de>
-       
+
        * config/avr/avr.c (avr_encode_section_info): Dispatch to
        default_encode_section_info.
 
 2011-06-29  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/49567
-       * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up
-       for non-MODE_INT modes instead of asserting the mode has MODE_INT
-       class.
+       * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up for
+       non-MODE_INT modes instead of asserting the mode has MODE_INT class.
 
 2011-06-29  Georg-Johann Lay  <avr@gjlay.de>
-       
+
        PR target/34734
-       * config/avr/avr.c (avr_handle_progmem_attribute): Move warning 
+       * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
        about uninitialized data attributed 'progmem' from here...
        (avr_encode_section_info): ...to this new function.
        (TARGET_ENCODE_SECTION_INFO): New define.
        section flag SECTION_WRITE.
 
 2011-06-29  Georg-Johann Lay  <avr@gjlay.de>
-       
+
        * config/avr/t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3,
        _xmulhisi3_exit.
        * config/avr/libgcc.S (_xmulhisi3_exit): New Function.
        * gcc.c: Include params.h.
        (set_option_handlers): Also use common_handle_option and
        target_handle_option.
-       (main): Call global_init_params, finish_params and
-       init_options_struct.
+       (main): Call global_init_params, finish_params and init_options_struct.
        * opts.c (debug_type_names): Move from toplev.c.
        (print_filtered_help): Access quiet_flag through opts pointer.
-       (common_handle_option): Return early in the driver for some
-       options.  Access in_lto_p, dwarf_version and
-       warn_maybe_uninitialized through opts pointer.
+       (common_handle_option): Return early in the driver for some options.
+       Access in_lto_p, dwarf_version and warn_maybe_uninitialized through
+       opts pointer.
        * toplev.c (in_lto_p): Move to common.opt.
        (debug_type_names): Move to opts.c.
        * Makefile.in (OBJS): Remove opts.o.
 
 2011-06-28  Kai Tietz  <ktietz@redhat.com>
 
-       * tree-ssa-forwprop.c (simplify_bitwise_binary): Improve
-       type sinking.
+       * tree-ssa-forwprop.c (simplify_bitwise_binary): Improve type sinking.
 
 2011-06-28  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
        (genprogrtl): Add attr-common.
        * genattr.c (main): Include insn-attr-common.h.  Don't generate
        definitions of DELAY_SLOTS or INSN_SCHEDULING.
-       * opts.c: Include insn-attr-common.h instead of rtl.h and
-       insn-attr.h.
+       * opts.c: Include insn-attr-common.h instead of rtl.h and insn-attr.h.
 
 2011-06-28  Georg-Johann Lay  <avr@gjlay.de>
 
 
 2011-06-27  Nick Clifton  <nickc@redhat.com>
 
-       * config/mn10300/mn10300.md (clzsi2): Use XOR after BSCH to
-       convert bit position of highest bit set into a count of the high
-       zero bits.
+       * config/mn10300/mn10300.md (clzsi2): Use XOR after BSCH to convert
+       bit position of highest bit set into a count of the high zero bits.
 
 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
 
 
        * tree-ssa-math-opts.c (do_shift_rotate): Zero bits
        out of type precision after operation.
-       (find_bswap): Take for limit value the integer auto-
-       promotion into account.
+       (find_bswap): Take for limit value the integer auto-promotion
+       into account.
 
 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
 
        clear some builtins on VMS.  Calls vms_patch_builtins.
        (ia64_asm_output_external): Remove DO_CRTL_NAME.
        * config/ia64/vms64.h: Do not include vms-crtl-64.h
-       * config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles,
-       tm_p_file.
+       * config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles, tm_p_file.
 
 2011-06-27  Tristan Gingold  <gingold@adacore.com>
 
 
        PR target/49335
        * config/arm/predicates.md (add_operator): New.
-       * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage
-       in Thumb2.
+       * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage in Thumb2.
 
 2011-06-24  Andi Kleen  <ak@linux.intel.com>
 
 
        PR libgomp/49490
        * omp-low.c (expand_omp_for_static_nochunk): Only
-       use n ceil/ nthreads size for the first
-       n % nthreads threads in the team instead of
-       all threads except for the last few ones which
+       use n ceil/ nthreads size for the first n % nthreads threads in the
+       team instead of all threads except for the last few ones which
        get less work or none at all.
 
        PR debug/49496
 
 2011-06-22  Nathan Sidwell  <nathan@codesourcery.com>
 
-       * config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect
-       typo.
+       * config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.
        * config.gcc (arm*-*-linux*): Default to gnu tls.
        (arm*-*-*): Add --with-tls option.
        (all_defaults): Add 'tls'.
        * cgraphunit.c (assemble_thunk): Use correct return type.
 
 2011-06-22  Dmitry Plotnikov  <dplotnikov@ispras.ru>
-       Dmitry Melnik  <dm@ispras.ru>
+           Dmitry Melnik  <dm@ispras.ru>
 
        * config/arm/arm.c (neon_immediate_valid_for_shift): New function.
        (neon_output_shift_immediate): Ditto.
        of base type reference as argument.
        (resolve_addr_in_expr): Likewise.  Fix keep computation.
        (convert_descriptor_to_signed): Renamed to...
-       (convert_descriptor_to_mode): ... this.  For wider types convert
-       to unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to
-       untyped.
+       (convert_descriptor_to_mode): ... this.  For wider types convert to
+       unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to untyped.
        (typed_binop): New function.
        (scompare_loc_descriptor, ucompare_loc_descriptor,
        minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
        debug args vector from old_decl to new_decl.
        * ipa-prop.c (ipa_modify_call_arguments): For optimized away
        or modified parameters, add debug bind stmts before call
-       setting DEBUG_EXPR_DECL which is remembered in debug args
-       vector.
+       setting DEBUG_EXPR_DECL which is remembered in debug args vector.
        * cfgexpand.c (expand_call_stmt): Call expand_debug_expr
        on DECL_DEBUG_EXPRs from debug args vector.
        (expand_debug_source_expr): New function.
        * var-tracking.c (prepare_call_arguments): Add debug args
        to call_arguments if any.
        * dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr,
-       output_loc_operands, output_loc_operands_raw,
-       resolve_addr_in_expr, compare_loc_operands): Handle
-       DW_OP_GNU_parameter_ref.
+       output_loc_operands, output_loc_operands_raw, resolve_addr_in_expr,
+       compare_loc_operands): Handle DW_OP_GNU_parameter_ref.
        (get_ref_die_offset, parameter_ref_descriptor): New functions.
        (mem_loc_descriptor): Handle DEBUG_PARAMETER_REF.
        (gen_subprogram_die): Handle parameters identified by
        if the function has no attributes.
        * tree.c (is_attribute_with_length_p): Removed.
        (is_attribute_p): Removed.
-       (private_is_attribute_p): New.  
+       (private_is_attribute_p): New.
        (private_lookup_attribute): New.
        (lookup_attribute): Removed.
        (lookup_ident_attribute): New.
        in the form 'text', not '__text__'.
        (private_is_attribute_p, private_lookup_attribute): New.
        Updated comments.
-       
+
 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
 
        * builtins.c: Add sync_ or SYNC__ to builtin names.