lto-cgraph.c (lto_output_node, [...]): Stream split_part.
[gcc.git] / gcc / ChangeLog
index d2ff5c0a5f708bf98c5d27aaebe1dc0e42b84ddf..9c39d764e0173521033a4790f11f0914610c5757 100644 (file)
@@ -1,3 +1,878 @@
+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>
+
+       * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
+       function parameter declaration.
+       * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
+       Update arguments to nios2_adjust_call_address().
+       (sibcall_internal): Rename from *sibcall.
+       (sibcall_value_internal): Rename from *sibcall_value.
+       * config/nios2/nios2.c (nios2_emit_add_constant): New function.
+       (nios2_large_got_address): Add target temp reg parameter.
+       (nios2_got_address): Adjust call to nios2_large_got_address, add
+       force_reg around it.
+       (nios2_load_pic_address): Add target temp reg parameter, replace call
+       to nios2_got_address with corresponding code.
+       (nios2_legitimize_constant_address): Update call to
+       nios2_load_pic_address.
+       (nios2_adjust_call_address): Add temp reg parameter, update PIC case
+       to use temp reg for PIC loading purposes.
+       (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
+       (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
+       (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
+
+2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
+       usage of "the @option{...}".
+       (-Wopenmp-simd): Likewise.
+       (-fsanitize-recover): Likewise.
+       (-fsanitize-undefined-trap-on-error): Likewise.
+       (-flto): Likewise.
+       (tracer-dynamic-coverage-feedback): Likewise.
+       (reorder-block-duplicate-feedback): Likewise.
+       (loop-unroll-jam-size): Likewise.
+       (-B): Likewise.
+       (-I-): Likewise.
+       (-mabs=legacy): Likewise.
+       (-mupper-regs-df): Likewise.
+       (-mupper-regs-sf): Likewise.
+       (-mpointers-to-nested-functions): Likewise.
+
+2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/extend.texi (Cilk Plus Builtins): Add markup.
+
+2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
+       additional index entries and cross-references.
+       (-fchkp-check-incomplete-type): Likewise.
+       (-fchkp-first-field-has-own-bounds): Likewise.
+       (-fchkp-narrow-to-innermost-array): Likewise.
+       (-fchkp-use-fast-string-functions): Likewise.
+       (-fchkp-use-nochk-string-functions): Likewise.
+       (-fchkp-use-static-const-bounds): Likewise.
+       (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
+       (-fchkp-instrument-marked-only): Likewise.
+       (-fchkp-use-wrappers): Likewise.
+       (-static-libmpx): Likewise.
+       (-static-libmpxwrappers): Likewise.
+       * doc/extend.texi (bnd_legacy): Likewise.
+       (bnd_instrument): Likewise.
+       (bnd_variable_size): Likewise.
+       (Pointer Bounds Checker builtins): Likewise.
+
+2015-03-21  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/65458
+       * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
+       * cgraph.h (cgraph_node): Add parallelized_function field.
+       * lto-cgraph.c (lto_output_node): Write parallelized_function field.
+       (input_overwrite_node): Read parallelized_function field.
+       * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
+       parallelized_function on cgraph_node for child_fn.
+       * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
+       Remove include of gt-tree-parloops.h.
+       (parallelized_functions): Remove static variable.
+       (parallelized_function_p): Rewrite using parallelized_function field of
+       cgraph_node.
+       (create_loop_fn): Remove adding to parallelized_functions.
+       * Makefile.in (GTFILES): Remove tree-parloops.c
+
+2015-03-20  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/64366
+       * lra.c (lra_update_insn_regno_info): Consider regs in
+       CALL_INSN_FUNCTION_USAGE memory.
+
+2015-03-20  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/64715
+       * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
+       for type comparison and gcc_checking_assert.
+       (chrec_fold_plus_poly_poly): Likewise.
+       (chrec_fold_multiply_poly_poly): Likewise.
+       (chrec_convert_1): Likewise.
+       * gimplify.c (gimplify_expr): Remove premature folding of
+       &X + CST to &MEM[&X, CST].
+
+2015-03-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
+       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
+       CIF_FINAL_ERROR.
+
+2015-03-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/60851
+       * recog.c (constrain_operands): Accept a pseudo register before reload
+       for LRA enabled targets.
+
+2015-03-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/65240
+       * config/rs6000/predicates.md (easy_fp_constant): Remove special
+       -ffast-math handling that kept non-0 constants live in the RTL
+       until reload.  Remove logic testing the number of instructions it
+       took to create a constant in a GPR that was never used, due to a
+       test for soft-float earlier.
+       (memory_fp_constant): Delete, no longer used.
+
+       * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
+       alternatives for loading non-0 constants into GPRs for hard
+       floating point that is no longer needed due to changes in
+       easy_fp_constant.  Add support for loading 0.0 into GPRs.
+       (mov<mode>_hardfloat32): Likewise.
+       (mov<mode>_hardfloat64): Likewise.
+       (mov<mode>_64bit_dm): Likewise.
+       (movtd_64bit_nodm): Likewise.
+       (pre-reload move FP constant define_split): Delete define_split,
+       since it is no longer used.
+       (extenddftf2_internal): Remove GHF constraints that are not valid
+       for extenddftf2.
+
+2015-03-19  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/63491
+       * lra-constraints.c (check_and_process_move): Use src instead of
+       sreg.  Remove some dead code.
+
+2015-03-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/65380
+       * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
+       (sem_variable::merge): Likewise.
+
+2015-03-19  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/65465
+       * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
+       all fields of cgraph_thunk_info.
+
+2015-03-19  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+       * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
+       clone instrumented thunks.
+
+2015-03-19  Richard Biener  <rguenther@suse.de>
+
+       Revert
+       2015-03-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/63155
+       * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
+       * tree-ssa-coalesce.c: Include timevar.h.
+       (attempt_coalesce): Handle graph being NULL.
+       (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
+       Split out abnormal coalescing to ...
+       (perform_abnormal_coalescing): ... this function.
+       (coalesce_ssa_name): Perform abnormal coalescing without computing
+       live/conflict.
+       (verify_ssa_coalescing_worker): New function.
+       (verify_ssa_coalescing): Likewise.
+
+2015-03-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/65400
+       * tsan.c (instrument_gimple): Clear tail call flag on
+       calls.
+
+2015-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/65400
+       * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
+       call in the return bb.
+       (find_split_points): Add RETURN_BB argument, don't call
+       find_return_bb.
+       (split_function): Likewise.  Add ADD_TSAN_FUNC_EXIT argument,
+       if true append TSAN_FUNC_EXIT internal call after the call to
+       the split off function.
+       (execute_split_functions): Call find_return_bb here.
+       Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
+       Adjust find_split_points and split_function calls.
+
+2015-03-18  DJ Delorie  <dj@redhat.com>
+
+       * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
+       (iorqi3_virt): Likewise.
+
+2015-03-18  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-parloops.c (parallelize_loops): Make static.
+       * tree-parloops.h (parallelize_loops): Remove extern declaration.
+
+2015-03-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR middle-end/64491
+       Revert:
+       2014-11-20  Andrew Stubbs  <ams@codesourcery.com>
+
+       * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
+       condition would be removed due to undefined behaviour.
+
+2015-03-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/65432
+       * cgraph.c (cgraph_node::get_create): Remove unnecessary
+       xstrdup_for_dump wrapper.
+       * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
+       sem_item::name.
+       (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
+       with xstrdup_for_dump.
+       (sem_variable::equals): Likewise.
+       (sem_item_optimizer::read_section): Use symtab_node::name instead of
+       sem_item::name.
+       (sem_item_optimizer::parse_funcs_and_vars): Likewise.
+       (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
+       symtab_node::asm_name with xstrdup_for_dump.
+       (congruence_class::dump): Use symtab_node::name instead of
+       sem_item::name.
+       * ipa-icf.h (symtab_node::name): Remove.
+       (symtab_node::asm_name): Likewise.
+
+2015-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/65450
+       * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
+       function.
+       (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
+       it instead of duplicate_ssa_name_ptr_info.
+
+       PR target/65222
+       * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
+
+2015-03-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-data-ref.h (struct access_matrix): Remove.
+       (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
+       AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
+       AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
+       (am_vector_index_for_loop): Likewise.
+       (struct data_reference): Remove access_matrix member.
+       (DR_ACCESS_MATRIX): Remove.
+       (lambda_vector_new): Add comment.
+       (lambda_matrix_new): Use XOBNEWVEC.
+
+2015-03-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
+       (pass_ch::execute): Cleanup the CFG only if we did sth.
+       * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
+
 2015-03-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * expmed.c (synth_mult): Use std::swap instead of manually
 
 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