OSDN Git Service

Backport the fix for PR tree-optimization/49536 from mainline.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 21a68e4..36afb42 100644 (file)
@@ -1,3 +1,492 @@
+2012-02-09  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       Backported from mainline
+       2011-06-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49536
+       * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+       For non-scalar inner types use a scalar type according to
+       the scalar inner mode.
+
+2012-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/52139
+       * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
+       is a BARRIER after emit_insn_after_noloc, move BB_END
+       to the last non-BARRIER insn before it.
+
+       2012-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/52060
+       * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
+       copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
+       before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
+       and/or i0src_copy2 when needed.
+
+       PR middle-end/52074
+       * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
+       if modifier < EXPAND_SUM call force_operand on the result.
+
+       2012-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52129
+       * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
+       CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
+
+       2012-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48071
+       * diagnostic.c (diagnostic_finish): Remove trailing newlines.
+
+       2012-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52006
+       * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
+       arm_general_register_operand predicate for operand 2 instead of
+       register_operand.
+
+       2012-01-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libmudflap/40778
+       * tree-mudflap.c (mf_artificial): New function.
+       (execute_mudflap_function_ops, execute_mudflap_function_decls,
+       mx_register_decls, mudflap_enqueue_decl): Use it.
+
+       2012-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/51767
+       * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
+       of jump_block and add an extra edge for degenerated asm gotos.
+
+       PR middle-end/51768
+       * stmt.c (check_unique_operand_names): Don't ICE during error
+       reporting if i is from labels chain.
+
+       PR middle-end/44777
+       * profile.c (branch_prob): Split bbs that have exit edge
+       and need a fake entry edge too.
+
+       2012-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/51695
+       * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
+       in .debug_loc on the floor.
+
+       2011-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/51360
+       * c-parser.c (c_parser_omp_clause_num_threads,
+       c_parser_omp_clause_schedule): Call mark_exp_read.
+
+       PR debug/51517
+       * tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
+       !DECL_IGNORED_P instead of !DECL_ARTIFICIAL.
+
+2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline 
+       2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR middle-end/52140
+       * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
+
+2012-02-09  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline 
+       2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR target/51106
+       * function.c (instantiate_virtual_regs_in_insn): Use
+       delete_insn_and_edges when removing a wrong asm insn.
+
+2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/51994
+       * expr.c (get_inner_reference): If there is an offset, add a negative
+       bit position to it (if any).
+
+2012-02-07  Kai Tietz  <ktietz@redhat.com>
+            Dave Korn  <dave.korn.cygwin@gmail.com>
+
+        PR target/40068
+        * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
+        Take care that typinfo gets dllexport-attribute.
+
+2012-02-07  Alan Modra  <amodra@gmail.com>
+
+       PR target/52107
+       * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
+       subregs of TFmode.
+
+2012-02-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline:
+       2011-11-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/51118
+       * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
+       before using TREE_TYPE accessor on expr.
+
+2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from mainline r183796
+       PR rtl-optimization/51374
+       * combine.c (can_combine_p): Don't allow volatile_refs_p insns
+       to cross other volatile_refs_p insns.
+
+2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       Backport from mainline.
+       2011-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
+       condition.
+
+2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
+       to srak instruction.
+
+2012-01-30  Bin Cheng  <bin.cheng@arm.com>
+
+       Backport from mainline.
+       2012-01-30  Bin Cheng  <bin.cheng@arm.com>
+
+       PR target/51835
+       * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
+       for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
+
+2012-01-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       Backport from mainline.
+       2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       PR target/50313
+       * config/arm/arm.c (arm_load_pic_register): Use
+       gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
+       , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
+       (arm_pic_static_addr): Likewise.
+       (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
+       (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
+       * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
+       (pic_load_addr_unified): New.
+
+2012-01-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
+       bases are dereferenced.
+
+2012-01-24  Richard Guenther  <rguenther@suse.de>
+
+       Forward-port to branch
+       2010-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/45678
+       * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
+       op0 isn't sufficiently aligned and there is movmisalignM
+       insn for mode, use it to load op0 into a temporary register.
+
+2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
+
+2012-01-19  Quentin Neill  <quentin.neill@amd.com>
+
+       PR target/48743
+       * config/i386/driver-i386.c (host_detect_local_cpu): Also check
+       family to distinguish PROCESSOR_ATHLON.
+
+2012-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/49642
+       * ipa-split.c (forbidden_dominators): New variable.
+       (check_forbidden_calls): New function.
+       (dominated_by_forbidden): Likewise.
+       (consider_split): Check for forbidden dominators.
+       (execute_split_functions): Initialize and free forbidden
+       dominators info; call check_forbidden_calls.
+
+2012-01-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.md (call_value_indirect_aix32): Fix typo
+       in mode of operand[4].
+
+2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/51821
+       * recog.c (peep2_find_free_register): Determine clobbered registers
+       from insn pattern.
+
+2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from mainline r183129
+       PR target/51756
+       * config/avr/avr.c (avr_encode_section_info): Test for absence of
+       DECL_EXTERNAL when checking for initializers of progmem variables.
+
+22012-01-12  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       Backport from mainline
+       2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       * config/arm/arm.md (mov_notscc): Use MVN for false condition.
+
+2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
+       (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
+
+2012-01-10  Joseph Myers  <joseph@codesourcery.com>
+
+       Revert:
+
+       2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR rtl-opt/37451
+       * loop-doloop.c (doloop_modify): New argument zero_extend_p and
+       zero extend count after the correction to it is done.
+       (doloop_optimize): Update call to doloop_modify, don't zero extend
+       count before call.
+
+       2008-11-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR rtl-opt/37782
+       * loop-doloop.c (doloop_modify): Add from_mode argument that says what
+       mode count is in.
+       (doloop_optimize): Update call to doloop_modify.
+
+2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
+
+2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
+       purported sigacthandler address isn't null before dereferencing it.
+       (sparc_is_sighandler): Likewise.
+
+2012-01-09  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       Backport from mainline
+       2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>
+
+       PR rtl-optimization/38644
+       * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
+       for epilogue having stack adjustment.
+
+2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/41929
+       * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
+       add CFA.  Revert back to old code for Solaris 8+ multi-threaded.
+       (sparc_is_sighandler): Likewise.
+       (MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.
+
+2012-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-01-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * c-decl.c (ext_block): Moved up.
+       (collect_all_refs, for_each_global_decl): Take ext_block into account.
+
+2012-01-06  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       PR middle-end/48660
+       * expr.h (copy_blkmode_to_reg): Declare.
+       * expr.c (copy_blkmode_to_reg): New function.
+       (expand_assignment): Don't expand register RESULT_DECLs before
+       the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
+       RESULT_DECL register.
+       (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
+
+2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/51315
+       * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
+       (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
+
+2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/51624
+       * tree-sra.c (build_ref_for_model): When replicating a chain of
+       COMPONENT_REFs, stop as soon as the offset would become negative.
+
+2012-01-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49651
+       * tree-ssa-structalias.c (type_can_have_subvars): New function.
+       (var_can_have_subvars): Use it.
+       (get_constraint_for_1): Only consider subfields if there can be any.
+
+2012-01-03  Sandra Loosemore  <sandra@codesourcery.com>
+
+       Backport from mainline:
+       2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (-flto and related options): Copy-edit.
+
+2012-01-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2011-11-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51042
+       * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
+       self-referential expressions.  Refactor code to avoid duplication.
+
+2012-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51070
+       * tree-loop-distribution.c (generate_builtin): Do not replace
+       the loop with a builtin if the partition contains statements which
+       results are used outside of the loop.
+       (stmt_has_scalar_dependences_outside_loop): Properly handle calls.
+
+2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from the mainline
+       2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
+       in setting options via target #pragma or attribute.
+
+2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/51623
+       * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
+       unlikely_text_section_p.  Instead check for being in a code section.
+
+2011-12-23  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/50396
+       * simplify-rtx.c (simplify_binary_operation_1): Properly
+       guard code that only works for integers.
+
+2011-12-22  Doug Kwan  <dougkwan@google.com>
+
+       Backport from mainline
+       2011-03-23  Julian Brown  <julian@codesourcery.com>
+
+       * expr.c (expand_expr_real_1): Only use BLKmode for volatile
+       accesses which are not naturally aligned.
+
+       2011-11-20  Joey Ye  <joey.ye@arm.com>
+
+       * expr.c (expand_expr_real_1): Correctly handle strict volatile
+       bitfield loads smaller than mode size.
+
+2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/51643
+       * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
+       change.
+
+2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/51643
+       * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
+       weak function on bare-metal EABI targets.
+
+2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2011-12-21  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41159
+       * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
+       mode of the pseudo as destination mode.  Only assert that
+       is equal to the promoted mode of the decl if it is a REG.
+
+2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/linux-unwind.h: Update copyright years.
+       (MD_FROB_UPDATE_CONTEXT): New define.
+       (alpha_frob_update_context): New function.
+
+2011-12-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/51583
+       * tree-sra.c (load_assign_lhs_subreplacements): Call
+       force_gimple_operand_gsi when necessary also in case of no
+       corresponding replacement on the RHS.
+
+2011-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
+       (frame_blockage): New expander.
+       (frame_blockage<P:mode>): New instruction.
+       * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
+       instructions establishing the frame isn't atomic, emit frame blockage.
+
+2011-12-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline.
+       2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR rtl-optimization/49720
+       * simplify-rtx.c (simplify_relational_operation_1): Detect
+       infinite recursion condition in "(eq/ne (plus x cst1) cst2)
+       simplifies to (eq/ne x (cst2 - cst1))" case.
+
+2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
+
+       Backport from mainline.
+       2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
+
+       * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
+
+2011-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
+       * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
+       * lto-streamer-in.c (lto_read_body): Likewise.
+       (lto_input_toplevel_asms): Likewise.
+       * lto-section-in.c (lto_create_simple_input_block): Likewise.
+       * lto-opts.c (lto_read_file_options): Likewise.
+       * ipa-prop.c (ipa_prop_read_section): Likewise.
+
+       * df.h (DF_NOTE): Fix typo in comment.
+
+2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * regmove.c (fixup_match_2): Only access call_used_regs with hard
+       regs.
+
+2011-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/51510
+       * calls.c (internal_arg_pointer_based_exp_scan): Don't use
+       VEC_safe_grow_cleared if idx is smaller than VEC_length.
+
+       Backported from mainline
+       2011-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/51485
+       * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
+       DRs in call stmts.
+
+2011-12-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/50569
+       * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
+       in the expression of MODEL instead of just the last one.
+
+2011-12-09  Michael Meissner  <meissner@the-meissners.org>
+
+       Backport from mainline
+       2011-12-09  Michael Meissner  <meissner@the-meissners.org>
+
+       PR rtl-optimization/51469
+       * varasm.c (default_binds_local_p_1): If the symbol is a gnu
+       indirect function, mark the symbol as non-local.
+
 2011-12-09  Jakub Jelinek  <jakub@redhat.com>
 
        Backport from mainline