OSDN Git Service

2011-12-19 Martin Jambor <mjambor@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 966c5c8..7c60f7e 100644 (file)
@@ -1,3 +1,206 @@
+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-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple.h (gimplify_seq_add_stmt): Rename to...
+       (gimple_seq_add_stmt_without_update): ... this.
+       * gimplify.c (gimplify_seq_add_stmt): Rename to...
+       (gimple_seq_add_stmt_without_update): ... this.
+       (gimplify_seq_add_stmt): New inline wrapper for it.
+       * tree-vect-patterns.c (append_pattern_def_seq): Use
+       gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.
+
+       PR tree-optimization/51596
+       * tree-cfg.c (replace_uses_by): Call gimple_purge_dead_eh_edges
+       when needed.
+
+       PR middle-end/51590
+       PR tree-optimization/51606
+       * tree-vect-patterns.c (append_pattern_def_seq, new_pattern_def_seq):
+       New inline functions.
+       (vect_recog_over_widening_pattern,
+       vect_recog_vector_vector_shift_pattern,
+       vect_recog_sdivmod_pow2_pattern, vect_recog_mixed_size_cond_pattern,
+       adjust_bool_pattern_cast, vect_recog_bool_pattern): Use them.
+
+2011-12-19  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/51572
+       * tree.c (free_lang_data_in_type): Do not unlink TYPE_DECL
+       from TYPE_FIELDS.
+       (find_decls_types_r): Walk TYPE_DECLs in TYPE_FIELDS.
+       * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Do
+       not stream TREE_CHAIN.
+       (write_ts_type_non_common_tree_pointers): Stream TYPE_FIELDS
+       using streamer_write_chain.
+       * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
+       Do not stream TREE_CHAIN.
+       (lto_input_ts_type_non_common_tree_pointers): Stream TYPE_FIELDS
+       using streamer_read_chain.
+       * gimple-streamer-in.c (input_gimple_stmt): Skip non-FIELD_DECLs.
+       * gimple.c (gimple_canonical_types_compatible_p): Properly
+       handle trailing non-FIELD_DECLs in TYPE_FIELDS.
+
+2011-12-19  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * configure: Regenerate.
+
+2011-12-19  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx[3] for
+       partial integer modes.
+
+2011-12-19  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR target/51532
+       * config/m68k/m68k.h (FL_CAS, TARGET_CAS): Define.
+       * config/m68k/m68k.c (FL_FOR_isa_20): Add FL_CAS.
+       * config/m68k/sync.md: Use TARGET_CAS instead of (TARGET_68020 ||
+       TARGET_68040).
+
+2011-12-18  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/ia64/ia64.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+       LEGITIMATE_ADDRESS_REG, LEGITIMATE_ADDRESS_DISP,
+       GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+       * config/ia64/ia64.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
+       (ia64_reg_ok_for_base_p, ia64_legitimate_address_reg,
+       ia64_legitimate_address_disp, ia64_legitimate_address_p): New
+       functions.
+
+2011-12-17  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/51491
+       * tree-ssa-ccp.c (insert_clobber_before_stack_restore)
+       (gsi_prev_dom_bb_nondebug, insert_clobbers_for_var): New function.
+       (ccp_fold_stmt): Use insert_clobbers_for_var after a successful
+       fold_builtin_alloca_with_align.
+       (ccp_visit_stmt): Calculate and free dominator info.
+
+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-16  Tristan Gingold  <gingold@adacore.com>
+
+       * config/alpha/vms.h (USE_TM_CLONE_REGISTRY): Define.
+
+2011-12-16  Tristan Gingold  <gingold@adacore.com>
+
+       * config/alpha/alpha.c (alpha_use_linkage): Follow transparent alias.
+       (alpha_write_one_linkage): Use assemble_name to emit linkage name.
+
+2011-12-16  Tristan Gingold  <gingold@adacore.com>
+
+       * config/vms/t-vms (vms.o, vms-c.o): Force output filename.
+
+2011-12-16  Tristan Gingold  <gingold@adacore.com>
+
+       * config/vms/vms.c (VMS_CRTL_GLOBAL): Define.
+       (vms_patch_builtins): Handle.
+       * config/vms/vms-crtlmap.map: Add an entry for environ.
+
+2011-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/51557
+       * sel-sched-ir.c (create_copy_of_insn_rtx): Copy all notes
+       other than REG_EQUAL, REG_EQUIV and REG_LABEL_OPERAND.
+
+       PR tree-optimization/51576
+       * tree-cfg.c (replace_uses_by): Call maybe_clean_or_replace_eh_stmt
+       even if fold_stmt didn't change anything.
+
+2011-12-16  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/51572
+       * dwarf2out.c (gen_type_die_with_usage): Use the context of
+       the TYPE_DECL as well if it is file-scope.
+
+2011-12-15  DJ Delorie  <dj@redhat.com>
+
+       * config/rl78/rl78.md (return): Rename to rl78_return.
+       * config/rl78/rl78.c (rl78_expand_epilogue): Use new name.
+       (rl78_expand_eh_epilogue): Use new name.
+       (rl78_calculate_death_notes): Likewise.
+
+2011-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt
+       field, add pattern_def_seq.
+       (STMT_VINFO_PATTERN_DEF_STMT): Remove.
+       (STMT_VINFO_PATTERN_DEF_SEQ): Define.
+       (NUM_PATTERNS): Bump to 10.
+       * tree-vect-loop.c (vect_determine_vectorization_factor,
+       vect_transform_loop): Adjust for pattern def changing from a single
+       gimple stmt to gimple_seq.
+       * tree-vect-stmts.c (vect_analyze_stmt, new_stmt_vec_info,
+       free_stmt_vec_info): Likewise.
+       * tree-vect-patterns.c (vect_recog_over_widening_pattern,
+       vect_recog_vector_vector_shift_pattern,
+       vect_recog_mixed_size_cond_pattern, adjust_bool_pattern_cast,
+       adjust_bool_pattern, vect_mark_pattern_stmts): Likewise.
+       (vect_recog_sdivmod_pow2_pattern): New function.
+       (vect_vect_recog_func_ptrs): Add it.
+
+       * config/i386/sse.md (vcond<V_256:mode><VI_256:mode>,
+       vcond<V_128:mode><VI124_128:mode>, vcond<VI8F_128:mode>v2di):
+       Use general_operand instead of nonimmediate_operand for
+       operand 5 and no predicate for operands 1 and 2.
+       * config/i386/i386.c (ix86_expand_int_vcond): Optimize
+       x < 0 ? -1 : 0 and x < 0 ? 1 : 0 into vector arithmetic
+       resp. logical shift.
+
+2011-12-15  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr-protos.h (print_operand): Remove.
+       (print_operand_address): Remove.
+       * config/avr/avr.h (PRINT_OPERAND): Remove.
+       (PRINT_OPERAND_ADDRESS): Remove.
+       (PRINT_OPERAND_PUNCT_VALID_P): Remove.
+       * config/avr/avr.c (TARGET_PRINT_OPERAND): New hook define.
+       (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
+       (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
+       (print_operand_address): Rename to...
+       (avr_print_operand_address): ...this and make static.
+       (print_operand): Rename to...
+       (avr_print_operand): ...this and make static.
+       (avr_print_operand_punct_valid_p): New static function.
+
+2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
+
+       * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
+
+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.
+
+2011-12-15  Romain Geissler  <romain.geissler@gmail.com>
+
+       * builtins.def (BUILT_IN_STPNCPY_CHK): New definition.
+       * builtins.c (expand_builtin, fold_builtin_4, maybe_emit_chk_warning):
+       Add BUILT_IN_STPNCPY_CHK case.
+       * gimple-fold.c (gimple_fold_builtin): Likewise.
+       * tree-object-size.c (pass_through_call): Likewise.
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
+       find_func_clobbers): Likewise.
+       * tree.h (fold_builtin_strncpy_chk): Rename to fold_builtin_stxncpy_chk
+       * builtins.c (fold_builtin_strncpy_chk): Likewise.
+       Rewrite stpncpy_chk calls to strncpy_chk calls if returned value is
+       ignored.
+
 2011-12-15  Richard Guenther  <rguenther@suse.de>
 
        PR lto/51567