+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