+2011-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize
+ *op0 and *op1 to NULL_TREE first to avoid warnings.
+ * calls.c (initialize_argument_information): Initialize base to avoid
+ warnings.
+
+ PR middle-end/51644
+ PR middle-end/51647
+ * tree-eh.c (decide_copy_try_finally): At -O0, return true
+ even when ndests is not 1, if there are only gimple_clobber_p
+ (or debug) stmts in the finally sequence.
+ * tree-inline.c (estimate_num_insns): Return 0 for gimple_clobber_p
+ stmts.
+
+2011-12-21 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51472
+ * trans-mem.c (tm_log_add): Use create_tmp_var_reg.
+
+2011-12-21 Martin Jambor <mjambor@suse.cz>
+
+ * tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
+ (rewrite_update_enter_block): Likewise.
+ (dump_update_ssa): Likewise.
+ (update_ssa): Likewise but also dump a newline at the beginning.
+
+2011-12-21 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ PR target/50038
+ * implicit-zee.c: Delete.
+ * ree.c: New file.
+ * Makefile.in: Replace implicit-zee.c with ree.c.
+ * config/i386/i386.c (ix86_option_override_internal): Rename
+ flag_zee to flag_ree.
+ * common.opt (fzee): Ignored.
+ (free): New.
+ * passes.c (init_optimization_passes): Replace pass_implicit_zee
+ with pass_ree.
+ * tree-pass.h (pass_implicit_zee): Delete.
+ (pass_ree): New.
+ * timevar.def (TV_ZEE): Delete.
+ (TV_REE): New.
+ * doc/invoke.texi: Add -free description.
+
+2011-12-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-protos.h (vms_function_section): New prototype.
+ * config/vms/vms.c (vms_function_section): New function.
+ * config/vms/vms.h (TARGET_ASM_FUNCTION_SECTION): Define.
+
+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 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.
+
+2011-12-20 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (MAX_VECT_LEN): New.
+ (struct expand_vec_perm_d): New.
+ (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
+ (ia64_unpack_assemble): Use ia64_expand_vec_perm_const_1.
+ (expand_vselect, expand_vselect_vconcat): New.
+ (expand_vec_perm_identity, expand_vec_perm_shrp): New.
+ (expand_vec_perm_1, expand_vec_perm_broadcast): New.
+ (expand_vec_perm_interleave_2, expand_vec_perm_v4hi_5): New.
+ (ia64_expand_vec_perm_const_1, ia64_expand_vec_perm_const): New.
+ (ia64_vectorize_vec_perm_const_ok): New.
+ (ia64_expand_vec_setv2sf, ia64_expand_vec_perm_even_odd): New.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/vect.md (VEC): New mode iterator.
+ (vecint): New mode attribute.
+ (vec_interleave_lowv8qi, vec_interleave_highv8qi): Privatize with '*'.
+ (vec_interleave_lowv4hi, vec_interleave_highv4hi): Likewise.
+ (vec_interleave_lowv2si, vec_interleave_highv2si): Likewise.
+ (vec_interleave_lowv2sf, vec_interleave_highv2sf): Likewise.
+ (mix1_even, mix1_odd, mux1_alt): Likewise.
+ (mux1_brcst_qi): Remove '*' from name.
+ (vec_extract_evenv8qi, vec_extract_oddv8qi): Remove.
+ (vec_extract_evenv4hi, vec_extract_oddv4hi): Remove.
+ (vec_extract_evenv2si, vec_extract_oddv2si): Remove.
+ (vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
+ (vec_extract_evenodd_helper): Remove.
+ (vec_setv2sf): Use ia64_expand_vec_setv2sf.
+ (vec_pack_trunc_v4hi): Use ia64_expand_vec_perm_even_odd.
+ (vec_pack_trunc_v2si): Likewise.
+ (vec_perm_const<VEC>): New.
+
+2011-12-20 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-generic.c (expand_vector_operations_1): Correct tests
+ for vector types -- use the type not the mode. Fix optab selection
+ for vector shifts by a scalar. Handle over-large integer modes
+ like BLKmode.
+
+2011-12-20 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.md (*arm_xorsi3): Match iorsi3 and perform
+ post-reload splitting.
+
+ * config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
+ * config/arm/arm.c (arm_select_cc_mode): Use it.
+
+2011-12-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict
+ handling of signedness differences to integer types. Only build
+ a new optype if type1 isn't correct.
+
+2011-12-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/49865
+ * ira-costs.c (find_costs_and_classes): Prefer registers even
+ if the memory cost is the same.
+
+2011-12-20 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (diagnose_mismatched_decls, grokdeclarator, grokfield)
+ (finish_struct): Refer to C11 in comments. Use flag_isoc11.
+ * c-parser.c (c_parser_static_assert_declaration)
+ (c_parser_static_assert_declaration_no_semi, c_parser_declspecs)
+ (c_parser_alignas_specifier, c_parser_alignof_expression): Refer
+ to C11 in comments. Use flag_isoc11.
+ * c-typeck.c (comptypes_check_different_types): Refer to C11 in
+ comment.
+ * doc/cpp.texi (Overview): Refer to -std=c11 instead of -std=c1x.
+ * doc/cppopts.texi (-std=c11, -std=gnu11): Document in preference
+ to -std=c1x and -std=gnu1x.
+ * doc/extend.texi (Inline, Alternate Keywords, Other Builtins)
+ (__builtin_complex, Unnamed Fields): Refer to -std=c11 and C11
+ instead of -std=c1x and C1X.
+ * doc/invoke.texi (-std=c11, -std=iso9899:2011): Document in
+ preference to -std=c1x.
+ (-std=gnu11): Document in preference to -std=gnu1x.
+ * doc/standards.texi: Document C11 instead of C1X. Document C11
+ as actual standard. Document headers required from freestanding
+ C11 implementations.
+ * ginclude/float.h, ginclude/stddef.h: Test __STDC_VERSION__ >=
+ 201112L for C11. Update comments to refer to C11.
+
+2011-12-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * configure: Regenerate.
+
+2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/51200
+ * expr.c (store_field): Avoid a direct store if the mode is larger
+ than the size of the bit field.
+ * stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
+ treat non-volatile bit fields like volatile ones.
+ * toplev.c (process_options): Disallow combination of
+ -fstrict-volatile-bitfields and ABI versions less than 2.
+ * config/arm/arm.c (arm_option_override): Don't enable
+ flag_strict_volatile_bitfields if the ABI version is less than 2.
+ * config/h8300/h8300.c (h8300_option_override): Likewise.
+ * config/rx/rx.c (rx_option_override): Likewise.
+ * config/m32c/m32c.c (m32c_option_override): Likewise.
+ * config/sh/sh.c (sh_option_override): Likewise.
+
+2011-12-20 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46796
+ * dwarf2out.c (modified_type_die): When the type variant
+ chain is corrupt use the types name, if available, instead
+ of __unknown__.
+
+2011-12-20 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.c (alpha_start_function): Adjust condition to
+ create VMS trampoline entry point.
+
+2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/42839
+ * fwprop.c (forward_propagate_subreg): Skip the SIGN/ZERO_EXTEND
+ optimization if the source register is already extended.
+
+2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lower-subreg.c (can_decompose_p): Check every word of a hard
+ register.
+
+2011-12-19 Sandra Loosemore <sandra@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-opt/50380
+ * cse.c (find_comparison_args): Detect fixed point and
+ bail early.
+
+2011-12-19 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51411
+ * trans-mem.c (ipa_tm_create_version): Unset DECL_WEAK.
+
+2011-12-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.
+
+2011-12-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51573
+ * streamer-hooks.h (struct streamer_hooks): Add second
+ ref_p parameter to write_tree.
+ (stream_write_tree): Adjust.
+ (stream_write_tree_shallow_non_ref): New define.
+ * lto-streamer.h (lto_output_tree): Adjust.
+ * lto-streamer-out.c (lto_output_tree): Likewise.
+ * tree-streamer-out.c (streamer_write_chain): Only
+ force the immediate tree to be streamed as non-reference.
+
+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.
2011-10-12 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