+2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
+ flags for instrumentation thunk.
+ (chkp_produce_thunks): Likewise.
+
+2015-04-05 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65665
+ * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
+ has computed data structure.
+ (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
+
+2015-04-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * invoke.texi (inline-unit-growth): Increase growth to 20%
+ * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
+
+2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65647
+ * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
+ value checking.
+ (lra_rematerialization_iter): New.
+ * lra.c (lra): Initialize lra_rematerialization_iter.
+ Stop updating lra_constraint_new_regno_start after switching of
+ inheritance and rematerialization.
+ * lra-remat.c (lra_rematerialization_iter): New.
+ (lra_remat): Add printing pass iteration. Do rematerialization
+ only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
+
+2015-04-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64909
+ PR tree-optimization/65660
+ * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
+ to take a cost vector for scalar iteration cost.
+ (vect_get_single_scalar_iteration_cost): Likewise.
+ * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
+ Compute the scalar iteration cost into a cost vector.
+ (vect_get_known_peeling_cost): Use the scalar cost vector to
+ account for the cost of the peeled iterations.
+ (vect_estimate_min_profitable_iters): Likewise.
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
+ Likewise.
+
+2015-04-04 Alan Modra <amodra@gmail.com>
+
+ PR target/65576
+ PR target/65240
+ * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
+ 0.0 constant unless TARGET_VSX.
+ * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
+ alternative.
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65648
+ * ipa-inline-transform.c (inline_call): Skip sanity check to work
+ around the ICE
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65655
+ * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
+ speculative indirect edges to avoid ordering issue.
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * ipa-inline.c (edge_badness): Add combined size to the denominator.
+
+2015-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
+ TYPE_ARTIFICIAL on the .omp_data* types.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
+ instrumentation thunks.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * config/i386/i386.c (ix86_expand_call): Avoid nested
+ PARALLEL in returned call value.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * lto-cgraph.c (input_cgraph_1): Always link instrumented
+ assembler name with original one.
+
+2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_register_priority): Use AX_REG.
+
+2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ Revert parts of r216820.
+ * config/i386/i386.md (movqi_internal): Correct type calculation
+ for alternatives 3 and 5.
+
+2015-04-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/61977
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
+ predefine __vector/__bool/__pixel macros nor context sensitive
+ macros for CLK_ASM.
+ * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
+
+2015-04-02 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_output_move_double): Directly handle register
+ indexed memory operand. Simplify handling of scaled register indexed
+ memory operands.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR driver/65444
+ * config/i386/linux-common.h (MPX_SPEC): New.
+ (CHKP_SPEC): Add MPX_SPEC.
+ * doc/invoke.texi (-fcheck-pointer-boudns): Document
+ possible issues with '-z bndplt' support in linker.
+
+2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
+ (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
+ (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
+ * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
+ (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
+
+2015-04-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (UNSPEC_MOVA): Remove.
+ (atomic_load<mode>): Change operand 0 predicate to
+ nonimmediate_operand and fix up the destination when needed.
+ Use UNSPEC_LDA.
+ (atomic_loaddi_fpu): Use UNSPEC_LDA.
+ (atomic_store<mode>): Change operand 1 predicate to
+ nonimmendate_operand and move the source to register when needed.
+ Use UNSPEC_STA.
+ (atomic_store<mode>_1): Use UNSPEC_STA.
+ (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
+ Fix moves from memory operand. Use UNSPEC_STA.
+
+2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * expmed.c (strict_volatile_bitfield_p): Check that the access will
+ not cross a MODESIZE boundary.
+ (store_bit_field, extract_bit_field): Added assertions in the
+ strict volatile bitfields code path.
+
+2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR target/65624
+ * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
+ Increase args array size by one to avoid buffer overflow.
+
+2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
+ split_part.
+ * ipa-inline.c (edge_badness): Add wrapper penalty.
+ (sum_callers): Move up.
+ (inline_small_functions): Set single_caller.
+ * ipa-inline.h (inline_summary): Add single_caller.
+ * ipa-split.c (split_function): Set split_part.
+ (cgraph_node::create_clone): Do not shadow decl; copy split_part.
+ * cgraph.h (cgraph_node): Add split_part.
+
+2015-03-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/58945
+ * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
+ Do not split operands 0 and operands 2 to halfmode.
+ (atomic_compare_and_swap<mode>): Update for
+ atomic_compare_and_swap<dwi>_doubleword changes.
+
+2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (need_assembler_name_p): Artificial types have no ODR names.
+ * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
+ no caching is done.
+
+2015-03-31 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65557
+ * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
+ has already filled up function summary.
+ (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
+
+2015-03-31 Richard Biener <rguenther@suse.de>
+
+ * tree-sra.c (create_access_replacement): Drop under-/over-alignment
+ of types.
+
+2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
+ nested functions.
+ (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
+ (s390_asm_output_function_label): Adapt to new signature of
+ s390_function_num_hotpatch_hw
+ Optimise the code generating assembler output.
+ Add comments to assembler file.
+
+2015-03-31 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65626
+ * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
+ of the noreturn call so it is last and cleanup_control_flow_bb
+ can do the CFG part.
+
+2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65531
+ * ipa-chkp.c (chkp_maybe_create_clone): Don't set
+ same_comdat_group for external symbols.
+ * symtab.c (symtab_node::verify_symtab_nodes): Avoid
+ infinite same_comdat_group traversal loop.
+
+2015-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR plugins/61176
+ * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
+ automatically to $headers.
+
+2015-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65610
+ * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
+ * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
+ function.
+ (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
+ Use it.
+ * ipa-prop.c (param_type_may_change_p): Likewise.
+ * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
+ (remove_unused_scope_block_p): Add in_ctor_dtor_block
+ argument. Before inlining, preserve
+ inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
+ with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
+ recursive calls.
+ (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * ipa-inline.c (edge_badness): Base denominator on callee's
+ grwoth squared.
+
+2015-03-27 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/65478
+ * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
+ (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
+ * ipa-prop.h (ipa_node_params): New flags node_within_scc and
+ node_calling_single_call.
+ * ipa-cp.c (count_callers): New function.
+ (set_single_call_flag): Likewise.
+ (initialize_node_lattices): Count callers and set single_flag_call if
+ necessary.
+ (incorporate_penalties): New function.
+ (good_cloning_opportunity_p): Use it, dump new flags.
+ (propagate_constants_topo): Set node_within_scc flag if appropriate.
+ * doc/invoke.texi (ipa-cp-recursion-penalty,
+ ipa-cp-single-call-pentalty): Document.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65588
+ * symtab.c (symtab_node::get_partitioning_class): Register vars
+ are duplicated.
+ * varpool.c (symbol_table::output_variables) Do not assemble unefined
+ decls for non-symbols.
+
+2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65248
+ * output.h (default_binds_local_p_2): New.
+ * varasm.c (default_binds_local_p_2): Renamed to ...
+ (default_binds_local_p_3): This. Don't return true on protected
+ data symbol if protected data may be external.
+ (default_binds_local_p): Use default_binds_local_p_3.
+ (default_binds_local_p_1): Likewise.
+ (default_binds_local_p_2): New.
+ * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
+ default_binds_local_p_2 if TARGET_MACHO is undefined.
+
+2015-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65593
+ * config/i386/i386.c (legitimize_pic_address): If base
+ is SYMBOL_REF or LABEL_REF using %rip addressing, force
+ it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR target/65531
+ * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
+ comdat groups.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65600
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
+ of optimized out indirect call.
+ (redirect_to_unreachable): Always build symbol table node for
+ BUILT_IN_UNREACHABLE
+
+2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65407
+ * ira-costs.c (record_reg_classes): Process all constraint string
+ containing 0-9.
+
+2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
+ memory_operand.
+
+ PR target/65052
+ * config/c6x/constraints.md (S3): New constraint.
+ * config/c6x/c6x.md (real_jump): Use it.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/65595
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
+ do redirection if the call is not optimized out.
+
+2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65495
+ * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
+ (fchkp-check-incomplete-type): Add LTO.
+ (fchkp-zero-input-bounds-for-main): Likewise.
+ (fchkp-first-field-has-own-bounds): Likewise.
+ (fchkp-narrow-bounds): Likewise.
+ (fchkp-narrow-to-innermost-array): Likewise.
+ (fchkp-use-static-bounds): Likewise.
+ (fchkp-use-static-const-bounds): Likewise.
+ (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/65583
+ * ubsan.c (ubsan_create_edge): New function.
+ (instrument_bool_enum_load): Call it.
+ (instrument_nonnull_arg): Likewise.
+ (instrument_nonnull_return): Likewise.
+ (instrument_object_size): Likewise.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer.h (class lto_location_cache): Turn loc_cache into
+ auto_vec.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/65536
+ * lto-streamer.h (class lto_location_cache): New.
+ (struct data_in): Add location_cache.
+ (lto_input_location): Update prototype.
+ (stream_input_location_now): New.
+ * streamer-hooks.h (struct streamer_hooks): Make input_location to take
+ pointer to location.
+ (stream_input_location): Update.
+ * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
+ (warn_odr): Apply location cache before warning.
+ (lto_input_location): Update prototype.
+ * gimple-streamer-in.c (input_phi, input_gimple_stmt):
+ Use stream_input_location_now.
+ * lto-streamer-in.c (lto_location_cache::current_cache): New static
+ variable.
+ (lto_location_cache::cmp_loc): New function.
+ (lto_location_cache::apply_location_cache): New function.
+ (lto_location_cache::accept_location_cache): New function.
+ (lto_location_cache::revert_location_cache): New function.
+ (lto_location_cache::input_location): New function.
+ (lto_input_location): Do location caching.
+ (stream_input_location_now): New function.
+ (input_eh_region, input_struct_function_base): Use
+ stream_input_location_now.
+ (lto_data_in_create): use new.
+ (lto_data_in_delete): Use delete.
+ * tree-streamer-in.c (unpack_ts_block_value_fields,
+ unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
+ lto_input_ts_exp_tree_pointers): Update for cached location api.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * passes.def: Add pass_nothrow.
+ * ipa-pure-const.c: (pass_data_nothrow): New.
+ (pass_nothrow): New.
+ (pass_nothrow::execute): New.
+ (make_pass_nothrow): New.
+ * tree-pass.h (make_pass_nothrow): Declare.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
+ edge to change by speculation resolution or redirection.
+ (edge_set_predicate): Likewise.
+ (inline_summary_t::duplicate): Likewise.
+ (remap_edge_summaries): Likewise.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
+ New macros.
+ (can_inline_edge_p): Relax option matching for always inline functions.
+
+2015-03-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65561
+ * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
+ Check operand 4 and operand 0 for equality.
+ (avx512f_vextract<shuffletype>32x4_1_maskm):
+ Check operand 6 and operand 0 for equality.
+ (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
+ for equality.
+ (vec_extract_hi_<mode>_maskm): Ditto.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
+ dead calls back to live.
+ (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
+ cross check to ...
+ (cgraph_node::verify_node): ... here; verify only callee edges,
+ not caller.
+ * cif-code.def (CILK_SPAWN): New code.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (redirect_to_unreachable): New function.
+ (edge_set_predicate): Use it to mark unreachable edges.
+ (inline_summary_t::duplicate): Remove unnecesary code.
+ (remap_edge_summaries): Likewise.
+ (dump_inline_summary): Report contains_cilk_spawn.
+ (compute_inline_parameters): Compute contains_cilk_spawn.
+ (inline_read_section, inline_write_summary): Stream
+ contains_cilk_spawn.
+ * ipa-inline.c (can_inline_edge_p): Do not touch
+ DECL_STRUCT_FUNCTION that may not be available;
+ use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
+ remove check for callee_fun->can_throw_non_call_exceptions and
+ replace it by optimization attribute check; check for flag_exceptions.
+ * ipa-inline-transform.c (inline_call): Maintain
+ DECL_FUNCTION_PERSONALITY
+ * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
+
+2015-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65551
+ * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
+ TYPE_PRECISION only for INTEGRAL_TYPE_P types.
+
+2015-03-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65555
+ * tree-cfg.c (verify_gimple_call): Do not require a call to
+ have no LHS if it wasn't recognized as control altering yet.
+
+2015-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64715
+ * passes.def: Add another instance of pass_object_sizes before ccp1.
+ * tree-object-size.c (pass_object_sizes::execute): In
+ first_pass_instance, only handle __bos (, 1) and __bos (, 3)
+ calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
+ __bos result and the computed constant. Remove redundant
+ checks, obsoleted by gimple_call_builtin_p test.
+
+ * var-tracking.c (variable_tracking_main_1): Don't track
+ variables for targetm.no_register_allocation targets.
+
+2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
+ * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
+
+2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65569
+ * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
+ XXLXOR to create 0.0. On pre-VSX systems make sure the constant
+ 0.0 is correctly setup.
+ (extenddftf2_internal): Likewise.
+
+2015-03-25 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/65177
+ * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
+ (bb_in_bbs): New.
+ (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
+ edges not adjacent on the path to the original code.
+
+2015-03-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR bootstrap/65537
+ * doc/install.texi (Building a native compiler): Document new
+ bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
+ configuration assumes that the host supports the linker plugin.
+
+2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65508
+ * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
+ chain for generated call.
+
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ * passes.c (pass_manager::execute_early_local_passes): Guard
+ execution of pass_chkp_instrumentation_passes with
+ flag_check_pointer_bounds.
+ (pass_chkp_instrumentation_passes::gate): Likewise.
+
+2015-03-25 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/65538
+ * symbol-summary.h (function_summary::~function_summary):
+ Relese memory for allocated summaries.
+ (function_summary::release): New function.
+
+2015-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/65515
+ * lto-streamer-out.c (DFS::worklist): New struct.
+ (DFS::worklist_vec): New data member.
+ (DFS::next_dfs_num): Remove.
+ (DFS::DFS): Rewritten using worklist instead of recursion,
+ using most of code from DFS::DFS_write_tree.
+ (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
+ pass it to DFS_write_tree calls.
+ (DFS::DFS_write_tree): Remove SINGLE_P argument, after
+ quick initial checks push it into worklist_vec and return.
+
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65519
+ * genmatch.c (expr::gen_transform): Re-write to avoid
+ using gimple_build.
+
+2015-03-25 Bin Cheng <bin.cheng@arm.com>
+
+ * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
+
+2015-03-25 Bin Cheng <bin.cheng@arm.com>
+
+ * config/arm/arm.opt (print_tune_info): New option.
+ * config/arm/arm.c (arm_print_tune_info): New function.
+ (arm_file_start): Call arm_print_tune_info.
+ * config/arm/arm-protos.h (struct tune_params): Add comment.
+ * doc/invoke.texi (@item -mprint-tune-info): New item.
+ (-mtune): mention it in ARM Option Summary.
+
+2015-03-25 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
+ correct clause.
+
+2015-03-24 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
+ * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
+ (sem_item::add_type): New function.
+ (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
+ (sem_function::compare_polymorphic_p): Do not consider indirect calls.
+ (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
+ (sem_function::equals_wpa): Fix typo.
+ * ipa-icf.h (sem_item::add_type): New function.
+ (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
+ order.
+
+2015-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65533
+ * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
+ with swapped operands, call vect_free_slp_tree on
+ SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
+ vector.
+
+2015-03-24 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65517
+ * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
+ for fixup if necessary.
+
+2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Function Attributes): Add @cindex entries
+ for all attributes and regularize their format. Delete text
+ about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
+ information about "eightbit_data", "tiny_data", and "model"
+ variable attributes to the Variable Attributes section. Fix
+ some obvious typos and copy-editing issues.
+ (Variable Attributes, Type Attributes): Likewise add/fix
+ @cindex entries for all attributes.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65523
+ * tree-chkp.c (chkp_build_returned_bound): Ignore
+ ERF_RETURNS_ARG calls if they have fewer than needed arguments.
+
+2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65505
+ * config/sh/predicates.md (simple_mem_operand,
+ displacement_mem_operand): Add test for reg.
+ (short_displacement_mem_operand): Test for displacement_mem_operand
+ before invoking sh_disp_addr_displacement.
+ * config/sh/constraints.md (Sdd, Sra): Simplify.
+ * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
+ Remove redundant displacement_mem_operand tests.
+
+2015-03-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
+ the same -mmcu=MCU more than once.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/65522
+ * ipa-devirt.c: Remove duplicate demangle.h include.
+
+ PR target/65504
+ * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
+ on the pseudo.
+ (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
+ REG_POINTER on *destptr after adjusting it for prologue size.
+
+ PR ipa/65521
+ * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
+ ultimate_alias_target ()->order ints instead of
+ ultimate_alias_target () pointers.
+
+2015-03-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65518
+ * tree-vect-stmts.c (vectorizable_load): Reject single-element
+ interleaving cases we generate absymal code for.
+
+2015-03-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65494
+ * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
+ matches here.
+ (vect_analyze_slp_instance): But do that here, always and once.
+
+2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
+ adding T or multiplying by T+1 and subracting T.
+
+2015-03-22 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/64317
+ * Makefile.in (OBJS): Add gcse-common.c
+ * gcse.c: Include gcse-common.h
+ (struct modify_pair_s): Move structure definition to gcse-common.h
+ (compute_transp): Move function to gcse-common.c.
+ (canon_list_insert): Similarly.
+ (record_last_mem_set_info): Break out some code and put it into
+ gcse-common.c. Call into the new common code.
+ (compute_local_properties): Pass additional arguments to compute_transp.
+ * postreload-gcse.c: Include gcse-common.h and df.h
+ (modify_mem_list_set, blocks_with_calls): New variables.
+ (modify_mem_list, canon_modify_mem_list, transp): Likewise.
+ (get_bb_avail_insn): Pass in the expression index too.
+ (alloc_mem): Allocate memory for the new bitmaps and lists.
+ (free_mem): Free memory for the new bitmaps and lists.
+ (insert_expr_in_table): Record a bitmap index for each entry we
+ add to the table.
+ (record_last_mem_set_info): Call into common code in gcse-common.c.
+ (get_bb_avail_insn): If no available insn was found in the requested
+ BB. If BB has a single predecessor, see if the expression is
+ transparent in BB and available in that single predecessor.
+ (compute_expr_transp): New wrapper for compute_transp.
+ (eliminate_partially_redundant_load): Pass expression's bitmap_index
+ to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
+ (gcse_after_reload_main): If there are elements in the hash table,
+ then compute transparency for all the elements in the hash table.
+ * gcse-common.h: New file.
+ * gcse-common.c: New file.
+
+2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
+ as an adjective.
+ (System Headers): Likewise.
+ (Ifdef): Likewise.
+ (Traditional macros): Likewise.
+ (Invocation): Likewise.
+ (Option Index): Likewise.
+ * doc/cppopts.texi (-M): Likewise.
+ (-finput-charset): Likewise.
+ (--help): Likewise.
+ * doc.invoke.texi (AVR Options): Likewise.
+ (V850 Options): Likewise.
+
+2015-03-22 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65475
+ * ipa-devirt.c: Include demangle.h
+ (odr_type_d): Add field rtti_broken.
+ (odr_subtypes_equivalent_p): Do not require name to match.
+ (compare_virtual_tables): Fix typo; if type already has ODR violation,
+ bypass the tests; be ready for function referneces in vtables that are
+ not DECL_VIRTUAL; make warnings to be OPT_Wodr.
+ (warn_odr): Give up for nameless types.
+ (warn_types_mismatch): Report mismatch in mangled names;
+ report mismatch in anonymous namespaces; look into component types to
+ give useful error; report when mismatch is dragged in from other ODR
+ type.
+ (odr_types_equivalent_p): Match types for being polymorphic; avoid
+ duplicated diagnostics.
+ (add_type_duplicate): Reorder checks so more informative ones come
+ first; fix typo; do not output "the extra base is defined here" when
+ we did not warn.
+ (BINFO_N_BASE_BINFOS): Relax sanity check.
+
+2015-03-22 Martin Liska <mliska@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (def_builtin): Set deferred_isa_values for
+ masks that can potentially include a builtin.
+ (ix86_add_new_builtins): Introduce fast filter for isa values
+ that cannot trigger builtin inclusion.
+
+2015-03-22 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
+ (sem_item::update_hash_by_local_refs): Likewise.
+ (sem_variable::get_hash): Empty line is fixed.
+ (sem_item_optimizer::execute): Include adding of hash references.
+ (sem_item_optimizer::update_hash_by_addr_refs): New function.
+ (sem_item_optimizer::build_hash_based_classes): Use local hash.
+ * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
+ (sem_item::update_hash_by_local_refs): Likewise.
+
+2015-03-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65502
+ * ipa-comdats.c (enqueue_references): Walk through thunks.
+ (ipa_comdats): Likewise.
+ (set_comdat_group_1): New function.
+
+2015-03-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65475
+ * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
+ non-polymorphic
+
+2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
+ Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Update entry for Danny Smith.
+
2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
already is final.
(ipa_inline): Recompute inline_failed codes.
* cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
- USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
+ USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
CIF_FINAL_ERROR.
2015-03-20 Uros Bizjak <ubizjak@gmail.com>
2015-03-03 Jan Hubicka <hubicka@ucw.cz>
- PR ipa/65270
+ PR ipa/65270
* ipa-icf.c (sem_item::compare_cgraph_references): Compare
vtable references for their containing type.
(sem_function::equals_wpa): Compare TYPE_RESTRICT
to create a register in testing mode.
2015-03-03 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
+ Jan Hubicka <hubicka@ucw.cz>
PR ipa/65263
* cgraph.c (cgraph_node::has_thunk_p): New function.
* config/arm/arm.md (arm_comparison_operator): Disabled if not allow
volatile memory access in IT block
-2015-02-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47230
- * doc/install.texi (Specific, alpha*-*-*): Document that binutils 2.25
- or newer are required.
-
2015-02-25 Kai Tietz <ktietz@redhat.com>
PR tree-optimization/61917