OSDN Git Service

* explow.c (probe_stack_range): Restore simple control flow and stop
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 99eff98..a6b394d 100644 (file)
@@ -1,3 +1,347 @@
+2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * explow.c (probe_stack_range): Restore simple control flow and stop
+       again when the probe cannot be generated if HAVE_check_stack.
+
+2012-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/53519
+       * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
+       instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
+
+2012-05-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53516
+       * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
+       bitfield accesses.
+       * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
+
+2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       Backport from mainline
+        2012-05-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53438
+       * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
+
+2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR rtl-optimization/52528
+       * combine.c (can_combine_p): Add setting of subst_low_luid
+       before call to expand_field_assignment().
+
+2012-05-26  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2012-05-23  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
+
+2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR lto/52178
+       * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
+       * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
+
+2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+       PR target/53435
+       * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
+       (ix86_expand_vec_perm): Use int mode instead of float.
+
+2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/52362
+       * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
+       gnu_ld variables to yes.
+       * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
+       (HAVE_GNU_AS): Likewise.
+       * config.in: Regenerate.
+       * configure: Likewise.
+
+2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       Backport from mainline
+        2012-03-12  Richard Guenther  <rguenther@suse.de>
+       * config/arm/arm.c (neon_dereference_pointer): Do not call
+       covert during RTL expansion.
+
+2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       Backport from mainline
+        2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR target/53385
+       * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
+       relied on signed overflow behavior.
+
+2012-05-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53460
+       * tree-profile.c (tree_profiling): Cleanup the CFG if
+       execute_fixup_cfg requests it.
+
+2012-05-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53465
+       * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
+       vr0 into *vr, then vrp_meet that.
+       (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
+       have any equivalences.
+       (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
+       first time.
+
+2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
+       size handling.
+       (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
+       (iterative_hash_gimple_type): Adjust comment.
+       (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
+       domain for an array type instead of the domain type itself.
+
+2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-05-23 mainline r187803
+
+       PR target/53448
+       * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
+       * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
+       ASM_OUTPUT_ALIGN.
+
+2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
+
+       Backport from 2012-05-03 mainline r187075
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Reset
+       has_fma4 for AMD processors with both fma3 and fma4 support.
+
+2012-05-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53408
+       * tree-vect-loop.c (vectorizable_induction): Properly check
+       the restriction that we cannot handle induction results from
+       the inner loop outside of the outer loop.
+
+2012-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53436
+       * omp-low.c (omp_build_component_ref): New function.
+       (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
+
+       PR tree-optimization/53366
+       * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
+       tests if complex_numbers == 2, but there are non-complex number loads
+       too.
+
+       PR tree-optimization/53409
+       * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
+       vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
+
+       PR tree-optimization/53410
+       * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
+       instead of build_int_cst (type, 0) where vector types might be
+       involved.
+
+2012-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/53418
+       * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
+       from folded operands before wrapping another around the
+       conditional expression.
+
+2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
+           Patrick Marlier  <patrick.marlier@gmail.com>
+
+       * trans-mem.c (ipa_tm_transform_clone): Transform functions with
+       indirect calls.
+
+2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline
+       2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/53416
+       * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
+       (UNSPECV_RDRAND): This.
+       (rdrand<mode>_1): Updated.
+
+2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline
+       2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Support
+       RDRND, F16C and FSGSBASE.
+
+2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-pre.c (can_value_number_call): Delete.
+       (compute_avail): Skip all statements with side effects.
+       <GIMPLE_CALL>: Skip calls to internal functions.
+
+2012-05-18  David S. Miller  <davem@davemloft.net>
+
+       Backport r185385 from mainline
+       2012-03-14  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52584
+       * tree-vect-generic.c (type_for_widest_vector_mode): Take
+       element type instead of mode, use build_vector_type_for_mode
+       instead of the langhook, build a vector of proper signedness.
+       (expand_vector_operations_1): Adjust.
+
+2012-05-18  Olivier Hainque  <hainque@adacore.com>
+
+       * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
+       $(libsubdir) as libexecsubdir.
+
+2012-05-16  Andrew Pinski  <apinski@cavium.com>
+
+       * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
+       GIMPLE_ASSIGN.
+
+2012-05-16  David S. Miller  <davem@davemloft.net>
+
+       * jump.c (delete_related_insns): If we remove a CALL, make sure
+       we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
+
+2012-05-16  Richard Henderson  <rth@redhat.com>
+
+       PR debug/52727
+       * combine-stack-adj.c (prev_active_insn_bb): New.
+       (next_active_insn_bb): New.
+       (force_move_args_size_note): New.
+       (combine_stack_adjustments_for_block): Use it.
+
+2012-05-16  Olivier Hainque  <hainque@adacore.com>
+
+       * Makefile.in (install-no-fixedincludes): New target, former toplevel
+       gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
+       Add comments and improve stamp preservation across the whole sequence.
+       (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
+
+2012-05-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53364
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
+       detect a view-conversion of the decl.
+
+2012-05-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/53358
+       * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
+       that operands[2] is either immediate, or q_regs_operand.
+
+2012-05-15  Bin Cheng  <bin.cheng@arm.com>
+
+       Backport r187139 from mainline.
+       2012-05-04  Bin Cheng  <bin.cheng@arm.com>
+
+       PR rtl-optimization/52804
+       * reload1.c (reload_reg_reaches_end_p): Check whether successor
+       reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
+       of current one with type RELOAD_FOR_INPADDR_ADDRESS.
+       Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
+       RELOAD_FOR_OUTADDR_ADDRESS.
+
+2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46098
+       * config/i386/i386.c (ix86_expand_special_args_builtin): Always
+       generate target register for "load" class builtins.
+
+       Revert:
+       2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46098
+       * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
+       Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
+       (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
+       (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
+       (<sse>_movu<ssemodesuffix>): New expander.
+       (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
+       (avx_movdqu<avxmodesuffix>): New expander.
+       (*sse2_movdqu): Rename from sse2_movdqu.
+       (sse2_movdqu): New expander.
+
+2012-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
+       lineno 1 the same as lineno 0 before first start file directive.
+       (optimize_macinfo_range): Likewise.
+
+       * dwarf2out.c (have_macinfo): Define.
+       (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
+       attribute, don't force empty compilation unit and don't emit any
+       .debug_macinfo/.debug_macro section if macinfo_table is empty.
+
+2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
+       ORDERED and UNORDERED conditions.
+
+2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.c (requires_stack_frame_p): If the function can throw
+       non-call exceptions, return true if the insn can throw internally.
+
+2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
+       DECL_ORIGINAL_TYPE if it is present.
+
+2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-05-12 mainline r187342.
+
+       PR target/53256
+       * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
+       * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
+       * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
+       * config/avr/avr.c (avr_asm_declare_function_name): Remove.
+       (expand_prologue): Move initialization of cfun->machine->is_naked,
+       is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
+       (avr_set_current_function): ...this new static function.
+       (TARGET_SET_CURRENT_FUNCTION): New define.
+       (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
+       checking attributes of current_function_decl.
+       (avr_regs_to_save): Ditto.
+       (signal_function_p): Rename to avr_signal_function_p.
+       (interrupt_function_p): Rename to avr_interrupt_function_p.
+
+       * doc/extend.texi (Function Attributes): Better explanation of
+       'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
+       alphabetical order.
+
+2012-05-09  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc-ar.c (main): Don't check for execute bits for the plugin.
+
+2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/53272
+       * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
+       when a constant source operand matches an "I" constraint, the "no
+       CC0 change" applies to a register-destination only, not a
+       strict_low_part-destination.
+
+2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       Backport from mainline:
+       2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       * config/arm/sync.md (sync_optab): Change ior attribute to "or".
+
 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/53239