-2014-03-23 Jakub Jelinek <jakub@redhat.com>
+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
(--help): Likewise.
* doc.invoke.texi (AVR Options): Likewise.
(V850 Options): Likewise.
-
+
2015-03-22 Jan Hubicka <hubicka@ucw.cz>
PR ipa/65475
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