1. 10 Jun, 2018 6 commits
  2. 09 Jun, 2018 6 commits
  3. 08 Jun, 2018 28 commits
    • compiler: remove stack_allocation_expression · 88f12328
          
          Now we make temporaries for allocations on stack (CL 86242). This
          function is no longer used. Remove.
          
          Reviewed-on: https://go-review.googlesource.com/92618
      
      	* go-gcc.cc (class Gcc_backend): Remove
      	stack_allocation_expression method.
      
      From-SVN: r261353
      Cherry Zhang committed
    • re PR fortran/85631 (Runtime error message array bound mismatch with nonzero optimization) · d1ecece9
      2018-06-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85631
      	* trans.h (gfc_ss): Add field no_bounds_check.
      	* trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and
      	ss->no_bounds_check is set, do not use runtime checks.
      	* trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check
      	for reallocatable lhs.
      
      2018-06-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85631
      	* gfortran.dg/bounds_check_20.f90: New test.
      
      From-SVN: r261348
      Thomas Koenig committed
    • p8vector-builtin-3.c: Add vec_pack test. · 058872ea
      gcc/testsuite/ChangeLog:
      
      2018-06-08  Carl Love  <cel@us.ibm.com>
      
       	* gcc.target/powerpc/p8vector-builtin-3.c: Add vec_pack test. Update
      	vpkudum counts.
       	* gcc.target/powerpc/p9-extract-3.c: Make second argument of
      	vec_extract a signed int.
       	* gcc.target/powerpc/vec-cmp.c: Add vec_cmple, vec_cmpge tests. Update,
      	vcmpgtsb, vcmpgtub, vcmpgtsh, vcmpgtuh, vcmpgtsw, vcmpgtsw, vcmpgtuw,
      	vcmpgtsd, vcmpgtud.
      	* gcc.target/powerpc/vsx-extract-4.c: Make second argument of
      	vec_extract a signed int.
      	* gcc.target/powerpc/vsx-extract-5.c: Make second argument of
      	vec_extract a signed int.
       	* gcc.target/powerpc/vsx-vector-7.c (foo): Add tests for vec_sel and
      	vec_xor builtins.  Update xxsel, xxlxor counts.
      
      From-SVN: r261347
      Carl Love committed
    • re PR fortran/86059 (ICE in reduce_binary_ac, at fortran/arith.c:1308 (and others)) · 2f2fc325
      2018-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/86059 
      	* array.c (match_array_cons_element): NULL() cannot be in an
      	array constructor.
      
      2018-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/86059 
      	* gfortran.dg/associate_30.f90: Remove code tested ...
      	* gfortran.dg/pr67803.f90: Ditto.
      	* gfortran.dg/pr67805.f90: Ditto.
      	* gfortran.dg/pr86059.f90: ... here.  New test.
      
      From-SVN: r261344
      Steven G. Kargl committed
    • re PR fortran/78571 (ICE in create_character_initializer, at fortran/data.c:191) · 5954faa7
      2018-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/78571
      	* data.c (create_character_initializer): Return early if type is
      	incompatible with CHARACTER.
      
      2018-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/78571
      	* gfortran.dg/pr78571.f90: New test.
      
      From-SVN: r261343
      Steven G. Kargl committed
    • re PR target/85755 (PowerPC Gcc's -mupdate produces inefficient code on power8/power9 machines) · f57d1446
      gcc/
      	PR target/85755
      	* config/rs6000/rs6000.c (mem_operand_gpr): Enable PRE_INC and PRE_DEC
      	addresses.
      
      gcc/testsuite/
      	PR target/85755
      	* gcc.target/powerpc/pr85755.c: New test.
      
      From-SVN: r261340
      Peter Bergner committed
    • Define special members as defaulted · a1417556
      	* include/bits/ios_base.h (ios::Init::Init(const Init&))
      	(ios::Init::operator=): Define as defaulted.
      	* include/bits/stl_bvector.h (_Bit_reference(const _Bit_reference&)):
      	Likewise.
      	* include/bits/stream_iterator.h (istream_iterator::operator=)
      	(ostream_iterator::operator=): Likewise.
      	* include/bits/streambuf_iterator.h (istreambuf_iterator::operator=)
      	Likewise.
      	* include/std/bitset (bitset::reference::reference(const reference&)):
      	Likewise.
      	* include/std/complex (complex<float>::complex(const complex&))
      	(complex<double>::complex(const complex&))
      	(complex<long double>::complex(const complex&)): Likewise.
      
      From-SVN: r261338
      Jonathan Wakely committed
    • dumpfile.c (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 4. · 29a50dfb
      
      	* dumpfile.c (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 4.
      	* lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
      	New global vars.
      	(lto_register_dumps): New hook.
      	(LANG_HOOKS_REGISTER_DUMPS): New.
      	* lto-partition.c: Dump into dump_file instead of symtab->dump_file.
      	* lto-symtab.c: Include lto.h; dump into dump_file instead of
      	symtab->dump_file.
      	(lto_symtab_merge_decls): Initialize dump file.
      	* lto.c (read_cgraph_and_symbols): Initialize dump file.
      	(do_whole_program_analysis): Likewise.
      
      From-SVN: r261337
      Jan Hubicka committed
    • vsx-vector-6-be.p7.c: Rename this file to vsx-vector-6.p7.c. · adff928a
      gcc/testsuite/ChangeLog:
      
      2018-06-08  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/vsx-vector-6-be.p7.c: Rename this file to
      	vsx-vector-6.p7.c.
      	* gcc.target/powerpc/vsx-vector-6-le.p9.c: Rename this file to
      	vsx-vector-6.p9.c.
      	* gcc.target/powerpc/vsx-vector-6-be.p8.c: Move instruction counts
      	for BE system that are different then for an LE system from this file
      	into vsx-vector-6-le.c using be target qualifier.  Remove this file.
      	* gcc.target/powerpc/vsx-vector-6-le.c: Add le qualifiers as needed for
      	the various instruction counts.  Rename file to	vsx-vector-6.p8.c.
      
      From-SVN: r261333
      Carl Love committed
    • * es.po: Update. · e1224fa5
      From-SVN: r261331
      Joseph Myers committed
    • Fix function signature in header file. · 439608b7
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* tree-cfg.h (debug_function): Fix argument type to match
              implementation.
      
      From-SVN: r261327
      Martin Liska committed
    • PPC: remove usage of cgraph_node::instrumentation_clone and cgraph_node::instrumented_version. · d0765b25
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* config/powerpcspe/powerpcspe.c (rs6000_xcoff_visibility):
              Remove usage of MPX-related (and removed) fields.
      	* config/rs6000/rs6000.c (rs6000_xcoff_visibility): Likewise.
      
      From-SVN: r261326
      Martin Liska committed
    • Convert dump and optgroup flags to enums · 4af78ef8
      gcc/brig/ChangeLog:
      	* brigfrontend/brig-to-generic.cc
      	(brig_to_generic::write_globals): Use TDF_NONE rather than 0.
      	(dump_function): Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
      	rather than 0.
      
      gcc/ChangeLog:
      	* cfg.c (debug): Use TDF_NONE rather than 0.
      	* cfghooks.c (debug): Likewise.
      	* dumpfile.c (DUMP_FILE_INFO): Likewise; also for OPTGROUP.
      	(struct dump_option_value_info): Convert to...
      	(struct kv_pair): ...this template type.
      	(dump_options): Convert to kv_pair<dump_flags_t>; use TDF_NONE
      	rather than 0.
      	(optinfo_verbosity_options): Likewise.
      	(optgroup_options): Convert to kv_pair<optgroup_flags_t>; use
      	OPTGROUP_NONE.
      	(gcc::dump_manager::dump_register): Use optgroup_flags_t rather
      	than int for "optgroup_flags" param.
      	(dump_generic_expr_loc): Use dump_flags_t rather than int for
      	"dump_kind" param.
      	(dump_dec): Likewise.
      	(dump_finish): Use TDF_NONE rather than 0.
      	(gcc::dump_manager::opt_info_enable_passes): Use optgroup_flags_t
      	rather than int for "optgroup_flags" param.  Use TDF_NONE rather
      	than 0.  Update for change to option_ptr.
      	(opt_info_switch_p_1): Convert "optgroup_flags" param from int *
      	to optgroup_flags_t *.  Use TDF_NONE and OPTGROUP_NONE rather than
      	0.  Update for changes to optinfo_verbosity_options and
      	optgroup_options.
      	(opt_info_switch_p): Convert optgroup_flags from int to
      	optgroup_flags_t.
      	(dump_basic_block): Use dump_flags_t rather than int
      	for "dump_kind" param.
      	* dumpfile.h (TDF_ADDRESS, TDF_SLIM, TDF_RAW, TDF_DETAILS,
      	TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO, TDF_UID)
      	TDF_STMTADDR, TDF_GRAPH, TDF_MEMSYMS, TDF_RHS_ONLY, TDF_ASMNAME,
      	TDF_EH, TDF_NOUID, TDF_ALIAS, TDF_ENUMERATE_LOCALS, TDF_CSELIB,
      	TDF_SCEV, TDF_GIMPLE, TDF_FOLDING, MSG_OPTIMIZED_LOCATIONS,
      	MSG_MISSED_OPTIMIZATION, MSG_NOTE, MSG_ALL, TDF_COMPARE_DEBUG,
      	TDF_NONE): Convert from macros to...
      	(enum dump_flag): ...this new enum.
      	(dump_flags_t): Update to use enum.
      	(operator|, operator&, operator~, operator|=, operator&=):
      	Implement for dump_flags_t.
      	(OPTGROUP_NONE, OPTGROUP_IPA, OPTGROUP_LOOP, OPTGROUP_INLINE,
      	OPTGROUP_OMP, OPTGROUP_VEC, OPTGROUP_OTHER, OPTGROUP_ALL):
      	Convert from macros to...
      	(enum optgroup_flag): ...this new enum.
      	(optgroup_flags_t): New typedef.
      	(operator|, operator|=): Implement for optgroup_flags_t.
      	(struct dump_file_info): Convert field "alt_flags" to
      	dump_flags_t.  Convert field "optgroup_flags" to
      	optgroup_flags_t.
      	(dump_basic_block): Use dump_flags_t rather than int for param.
      	(dump_generic_expr_loc): Likewise.
      	(dump_dec): Likewise.
      	(dump_register): Convert param "optgroup_flags" to
      	optgroup_flags_t.
      	(opt_info_enable_passes): Likewise.
      	* early-remat.c (early_remat::dump_edge_list): Use TDF_NONE rather
      	than 0.
      	* gimple-pretty-print.c (debug): Likewise.
      	* gimple-ssa-store-merging.c (bswap_replace): Likewise.
      	(merged_store_group::apply_stores): Likewise.
      	* gimple-ssa-strength-reduction.c (insert_initializers): Likewise.
      	* gimple.c (verify_gimple_pp): Likewise.
      	* graphite-poly.c (print_pbb_body): Likewise.
      	* passes.c (pass_manager::register_one_dump_file): Convert
      	local "optgroup_flags" to optgroup_flags_t.
      	* print-tree.c (print_node): Use TDF_NONE rather than 0.
      	(debug): Likewise.
      	(debug_body): Likewise.
      	* tree-pass.h (struct pass_data): Convert field "optgroup_flags"
      	to optgroup_flags_t.
      	* tree-pretty-print.c (print_struct_decl): Use TDF_NONE rather
      	than 0.
      	* tree-ssa-math-opts.c (convert_mult_to_fma_1): Likewise.
      	(convert_mult_to_fma): Likewise.
      	* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
      	* tree-ssa-sccvn.c (vn_eliminate): Likewise.
      	* tree-vect-data-refs.c (dump_lower_bound): Convert param
      	"dump_kind" to dump_flags_t.
      
      From-SVN: r261325
      David Malcolm committed
    • rs6000: Delete unused min/max macros · a7efc32b
      The last use was deleted in 2017.  There are the generic MIN/MAX macros
      to use already, and in this new world we should use std::min, std::max.
      
      
      	* config/rs6000/rs6000.c (min, max): Delete.
      
      From-SVN: r261324
      Segher Boessenkool committed
    • rs6000: Delete mention of -mabi={no-,}spe in the documentation · 03304f93
      The option no longer exists.
      
      
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete mention of
      	-mabi=spe and -mabi=no-spe.
      
      From-SVN: r261323
      Segher Boessenkool committed
    • Make ipa-pure-const more strict about summary constrains. · a756f161
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-pure-const.c (propagate_pure_const): Use ::get at places
              where we expect an existing summary.
      
      From-SVN: r261322
      Martin Liska committed
    • Replace some ::get_create with ::get in IPA inline. · 6f86434f
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-inline-analysis.c (simple_edge_hints): Use ::get method.
      	* ipa-inline.h (estimate_edge_growth): Likewise.
      
      From-SVN: r261321
      Martin Liska committed
    • Come up with cgraph_node::get_uid and make cgraph_node::uid private. · 4325656f
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* cgraph.c (function_version_hasher::hash): Use
      	cgraph_node::get_uid ().
      	(function_version_hasher::equal):
      	* cgraph.h (cgraph_node::get_uid): New method.
      	* ipa-inline.c (update_caller_keys): Use
      	cgraph_node::get_uid ().
      	(update_callee_keys): Likewise.
      	* ipa-utils.c (searchc): Likewise.
      	(ipa_reduced_postorder): Likewise.
      	* lto-cgraph.c (input_node): Likewise.
      	* passes.c (is_pass_explicitly_enabled_or_disabled): Likewise.
      	* symbol-summary.h (symtab_insertion): Likewise.
      	(symtab_removal): Likewise.
      	(symtab_duplication): Likewise.
      	* tree-pretty-print.c (dump_function_header): Likewise.
      	* tree-sra.c (convert_callers_for_node): Likewise.
      
      From-SVN: r261320
      Martin Liska committed
    • Make cgraph_edge::uid really unique. · 8b25212d
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* cgraph.c (symbol_table::create_edge): Always assign a new
      	unique number.
      	(symbol_table::free_edge): Do not recycle numbers.
      	* cgraph.h (cgraph_edge::get): New method.
      	* symbol-summary.h (symtab_removal): Use it.
      	(symtab_duplication): Likewise.
      	(call_summary::hashable_uid): Remove.
      
      From-SVN: r261319
      Martin Liska committed
    • Port edge_growth_cache to call_summary. · 9fb50ad8
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-inline-analysis.c (inline_edge_removal_hook): Remove.
      	(initialize_growth_caches): Remove.
      	(free_growth_caches): Likewise.
      	(do_estimate_edge_time): Use edge_growth_cache.
      	(do_estimate_edge_size): Likewise.
      	(do_estimate_edge_hints): Likewise.
      	* ipa-inline.c (reset_edge_caches): Likewise.
      	(recursive_inlining): Likewise.
      	(inline_small_functions): Likewise.
      	* ipa-inline.h (initialize_growth_caches): Remove.
      	(estimate_edge_size): Likewise.
      	(estimate_edge_time): Likewise.
      	(estimate_edge_hints): Likewise.
      	(reset_edge_growth_cache): Likewise.
      	* symbol-summary.h (call_summary::remove): New method.
      
      From-SVN: r261318
      Martin Liska committed
    • Port IPA CP to edge_clone_summaries. · 1ac2bdb4
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-cp.c (class edge_clone_summary): New summary.
      	(grow_edge_clone_vectors): Remove.
      	(ipcp_edge_duplication_hook): Remove.
      	(class edge_clone_summary_t): New call_summary class.
      	(ipcp_edge_removal_hook): Remove.
      	(edge_clone_summary_t::duplicate): New function.
      	(get_next_cgraph_edge_clone): Use edge_clone_summaries.
      	(create_specialized_node): Likewise.
      	(ipcp_driver): Initialize edge_clone_summaries and do not
      	register hooks.
      
      From-SVN: r261317
      Martin Liska committed
    • Add call_summary::get method and m_initialize_when_cloning. · dbea5bf9
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* symbol-summary.h (get): New function.
      	(call_summary::m_initialize_when_cloning): New class member.
      
      From-SVN: r261316
      Martin Liska committed
    • Remove cgraph_node::summary_uid and make cgraph_node::uid really unique. · 74644756
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* cgraph.c (cgraph_node::remove): Do not recycle uid.
      	* cgraph.h (symbol_table::release_symbol): Do not pass uid.
      	(symbol_table::allocate_cgraph_symbol): Do not set uid.
      	* passes.c (uid_hash_t): Record removed_nodes by their uids.
      	(remove_cgraph_node_from_order): Use the removed_nodes set.
      	(do_per_function_toporder): Likwise.
      	* symbol-summary.h (symtab_insertion): Use cgraph_node::uid
      	instead of summary_uid.
      	(symtab_removal): Likewise.
      	(symtab_duplication): Likewise.
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* lto-partition.c (lto_balanced_map): Use cgraph_node::uid
      	instead of summary_uid.
      
      From-SVN: r261315
      Martin Liska committed
    • Convert IPA CP to symbol_summary. · 9d3e0adc
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-cp.c (ipcp_store_bits_results): Use
      	ipcp_transformation_sum.
      	(ipcp_store_vr_results): Likewise.
      	* ipa-prop.c (ipcp_grow_transformations_if_necessary): Renamed
      	to ...
      	(ipcp_transformation_initialize): ... this.
      	(ipa_set_node_agg_value_chain):
      	(ipa_node_params_t::duplicate): Use ipcp_transformation_sum.
      	(write_ipcp_transformation_info): Likewise.
      	(read_ipcp_transformation_info): Likewise.
      	(ipcp_update_bits): Likewise.
      	(ipcp_update_vr): Likewise.
      	(ipcp_transform_function): Likewise.
      	* ipa-prop.h: Rename ipcp_transformation_summary to
      	ipcp_transformation.
      	(class ipcp_transformation_t): New function summary.
      	(ipcp_get_transformation_summary): Use ipcp_transformation_sum.
      	(ipa_get_agg_replacements_for_node): Likewise.
      
      From-SVN: r261314
      Martin Liska committed
    • Covert ipa-pure-const.c to symbol_summary. · 36330f82
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-pure-const.c (struct funct_state_d): Do it class instead
      	of struct.
      	(class funct_state_summary_t): New function_summary class.
      	(has_function_state): Remove.
      	(get_function_state): Likewise.
      	(set_function_state): Likewise.
      	(add_new_function): Likewise.
      	(funct_state_summary_t::insert): New function.
      	(duplicate_node_data): Remove.
      	(remove_node_data): Remove.
      	(funct_state_summary_t::duplicate): New function.
      	(register_hooks): Create new funct_state_summaries.
      	(pure_const_generate_summary): Use it.
      	(pure_const_write_summary): Likewise.
      	(pure_const_read_summary): Likewise.
      	(propagate_pure_const): Likewise.
      	(propagate_nothrow): Likewise.
      	(dump_malloc_lattice): Likewise.
      	(propagate_malloc): Likewise.
      	(execute): Do not register hooks, just remove summary
      	instead.
      	(pass_ipa_pure_const::pass_ipa_pure_const): Simplify
      	constructor.
      
      From-SVN: r261313
      Martin Liska committed
    • Use symtab_summary in ipa-reference.c. · 6adcb793
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* ipa-reference.c (remove_node_data): Remove.
      	(duplicate_node_data): Likewise.
      	(class ipa_ref_var_info_summary_t): New class.
      	(class ipa_ref_opt_summary_t): Likewise.
      	(get_reference_vars_info): Use ipa_ref_var_info_summaries.
      	(get_reference_optimization_summary): Use
      	ipa_ref_opt_sum_summaries.
      	(set_reference_vars_info): Remove.
      	(set_reference_optimization_summary): Likewise.
      	(ipa_init): Create summaries.
      	(init_function_info): Use function summary.
      	(ipa_ref_opt_summary_t::duplicate): New function.
      	(ipa_ref_opt_summary_t::remove): New function.
      	(get_read_write_all_from_node): Fix GNU coding style.
      	(propagate): Use function summary.
      	(write_node_summary_p): Fix GNU coding style.
      	(stream_out_bitmap): Likewise.
      	(ipa_reference_read_optimization_summary): Use function summary.
      	(ipa_reference_c_finalize): Do not release hooks.
      
      From-SVN: r261312
      Martin Liska committed