aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-05-24dump-parse-tree.c (show_expr): Replace stdout with dumpfile for showing values.Thomas Koenig2-3/+8
2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org> * dump-parse-tree.c (show_expr): Replace stdout with dumpfile for showing values. From-SVN: r248426
2017-05-24re PR fortran/66094 (Handle transpose(A) in inline matmul)Thomas Koenig4-16/+176
2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66094 * frontend-passes.c (matrix_case): Add A2TB2. (inline_limit_check): Handle MATMUL(TRANSPOSE(A),B) (inline_matmul_assign): Likewise. 2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66094 * gfortran.dg/inline_matmul_16.f90: New test. From-SVN: r248425
2017-05-24When lra-remat rematerializes an instruction with a clobber, it checks that ↵Wilco Dijkstra2-3/+24
the clobber does not kill live registers. When lra-remat rematerializes an instruction with a clobber, it checks that the clobber does not kill live registers. However it fails to check that the clobber also doesn't overlap with the destination register of the final rematerialized instruction. As a result it is possible to generate illegal instructions with the same hard register as the destination and a clobber. Fix this by also checking for overlaps with the destination register. gcc/ PR rtl-optimization/80754 * lra-remat.c (do_remat): Add overlap checks for dst_regno. From-SVN: r248424
2017-05-24cp-tree.h (ovl_skip_hidden): Declare.Nathan Sidwell5-68/+36
* cp-tree.h (ovl_skip_hidden): Declare. * tree.c (ovl_skip_hidden): New. * name-lookup.c (arg_assoc_namespace): Call ovl_skip_hidden. (lookup_arg_dependent_1): Likewise. (ambiguous_decl): Use DECL_HIDDEN_P, ovl_skip_hidden. (hidden_name_p, remove_hidden_names): Delete. (lookup_name_real_1): Do not strip hidden names. * name-lookup.h (hidden_name_p, remove_hidden_names): Delete. From-SVN: r248423
2017-05-24Fix a SPARC -mcbcond compare-and-branch out of range failure.Sheldon Lobo2-1/+7
* config/sparc/sparc.md (length): Return the correct value for -mflat sibcalls to match output_sibcall. From-SVN: r248422
2017-05-24rs6000: Fix for separate shrink-wrapping for fp (PR80860, PR80843)Segher Boessenkool2-3/+14
After my r248256, rs6000_components_for_bb allocates an sbitmap of size only 32 while it can use up to 64. This patch fixes it. It moves the n_components variable into the machine_function struct so that other hooks can use it. PR bootstrap/80860 PR bootstrap/80843 * config/rs6000/rs6000.c (struct machine_function): Add new field n_components. (rs6000_get_separate_components): Init that field, use it. (rs6000_components_for_bb): Use the field. From-SVN: r248421
2017-05-24[ARM] Fix typo in comment in arm_expand_prologueThomas Preud'homme2-1/+5
2017-05-24 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.c (arm_expand_prologue): Fix typo in comment. From-SVN: r248419
2017-05-24Reinstate absolute line number in gcc.dg/cpp/19940712-1.cTom de Vries2-1/+5
2017-05-24 Tom de Vries <tom@codesourcery.com> * gcc.dg/cpp/19940712-1.c: Reinstate absolute line number. From-SVN: r248418
2017-05-24re PR middle-end/80823 (ICE: verify_flow_info failed)Peter Bergner4-1/+33
gcc/ PR middle-end/80823 * tree-cfg.c (group_case_labels_stmt): Delete increment of "i"; gcc/testsuite/ PR middle-end/80823 * gcc.dg/pr80823.c: New test. From-SVN: r248408
2017-05-24S/390: Fix PR80725.Andreas Krebbel5-4/+46
gcc/ChangeLog: 2017-05-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/80725 * config/s390/s390.c (s390_check_qrst_address): Check incoming address against address_operand predicate. * config/s390/s390.md ("*indirect_jump"): Swap alternatives. gcc/testsuite/ChangeLog: 2017-05-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/pr80725.c: New test. From-SVN: r248407
2017-05-24cp-tree.h (OVL_HIDDEN_P): New.Nathan Sidwell7-21/+144
gcc/cp/ * cp-tree.h (OVL_HIDDEN_P): New. (ovl_iterator::hidden_p, ovl_iterator::reveal_node): New. (ovl_iterator::reveal_node): Declare. * tree.c (ovl_copy): Copy OVL_HIDDEN_P. (ovl_insert): Order on hiddenness. (ovl_iterator::reveal_node): New. * name-lookup.c (anticipated_builtin_p): New. (supplement_binding_1): Use it. (set_local_extern_decl_linkage): Use hidden_p. (do_pushdecl): Deal with unhiding a hidden decl, use anticipated_builtin_p. (do_nonmember_using_decl): Use anticipated_decl_p. (lookup_name_real_1): Use DECL_HIDDEN_P. gcc/testsuite/ * g++.dg/lookup/extern-c-hidden.C: New. * g++.dg/lookup/extern-redecl1.C: New. From-SVN: r248406
2017-05-24var-tracking.c (track_expr_p): Do not return 0 for tracked record parameters ↵Eric Botcazou2-2/+8
passed indirectly. * var-tracking.c (track_expr_p): Do not return 0 for tracked record parameters passed indirectly. From-SVN: r248402
2017-05-23-Wunused and C++17 structured bindingsJason Merrill5-1/+43
* decl.c (poplevel): Don't warn about unused structured bindings, only real variables. * error.c (dump_simple_decl): Handle structured bindings. * expr.c (mark_exp_read): Look through DECL_VALUE_EXPR. From-SVN: r248399
2017-05-24Daily bump.GCC Administrator1-1/+1
From-SVN: r248398
2017-05-23compiler: detect failure to set init priority for packageIan Lance Taylor2-2/+8
This would have caught the problem fixed by https://golang.org/cl/43610. Reviewed-on: https://go-review.googlesource.com/43999 From-SVN: r248394
2017-05-23cp-tree.h (PUSH_GLOBAL, [...]): Delete.Nathan Sidwell3-444/+292
* cp-tree.h (PUSH_GLOBAL, PUSH_LOCAL, PUSH_USING): Delete. * name-lookup.c (create_local_binding): New. (update_binding): New. (pushdecl_maybe_friend_1): Rename to ... (do_pushdecl): ... this. Reimplement. (pushdecl): Adjust. (push_overloaded_decl_1, push_overloaded_decl): Delete. From-SVN: r248387
2017-05-23PR c++/80396 - built-in for make_integer_sequence.Jason Merrill8-2/+191
* pt.c (builtin_pack_fn_p, builtin_pack_call_p) (expand_integer_pack, expand_builtin_pack_call): New. (find_parameter_packs_r): Check builtin_pack_call_p. (check_for_bare_parameter_packs): Handle it. (tsubst_pack_expansion): Call expand_builtin_pack_call. (declare_integer_pack): New. (init_template_processing): Call it. * decl2.c (mark_used): Check builtin_pack_fn_p. From-SVN: r248384
2017-05-23i386.md (*movdi_internal): Remove SSE4 alternative 18 (?r, *v).Uros Bizjak4-97/+70
* config/i386/i386.md (*movdi_internal): Remove SSE4 alternative 18 (?r, *v). Update insn attributes. (*movsi_internal): Remove SSE4 alternative 13 (?r, *v). Update insn attributes. (*zero_extendsidi2): Remove SSE4 alternative (?r, *x). Update insn attributes. * config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4 alternative 1 (r, v). Remove isa attribute. * config/i386/i386.c (dimode_scalar_chain::make_vector_copies): Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC and !TARGET_INTER_UNIT_MOVES_TO_VEC targets. From-SVN: r248383
2017-05-23name-lookup.c (find_namespace_binding): New.Nathan Sidwell2-95/+58
* name-lookup.c (find_namespace_binding): New. (pushdecl_maybe_friend_1): Use CP_DECL_CONTEXT. (set_identifier_type_value_with_scope): Use find_namespace_binding. (find_binding, cp_binding_level_find_binding_for_name) binding_for_name, namespace_binding_1): Delete. (push_overloaded_decl_1): Use CP_DECL_CONTEXT. (get_namespace_binding, set_namespace_binding) finish_namespace_using_decl, unqualified_namespace_lookup_1, qualified_lookup_using_namespace, lookup_type_scope_1, lookup_name_innermost_nonclass_level_1): Use find_namespace_binding. ((--This line, and those below, will be ignored-- M cp/name-lookup.c M cp/ChangeLog From-SVN: r248382
2017-05-23re PR c++/80866 (segfault in is_overloaded_fn())Nathan Sidwell4-0/+24
PR c++/80866 * parser.c (cp_parser_template_id): Keep the lookup when stashing the template_id. PR c++/80866 * g++.dg/parse/pr80866.C: New. From-SVN: r248377
2017-05-23Document dg-line directiveTom de Vries2-0/+17
2017-05-23 Tom de Vries <tom@codesourcery.com> * doc/sourcebuild.texi (Directives, Verify compiler message): Document dg-line directive. From-SVN: r248376
2017-05-23cgraphunit.c (symbol_table::process_new_functions): Update.Jan Hubicka14-113/+197
* cgraphunit.c (symbol_table::process_new_functions): Update. * ipa-fnsummary.c (pass_data_inline_parameters): Remove. (inline_generate_summary): Rename to ... (ipa_fn_summary_generate): ... this one. (inline_read_summary): Rename to ... (ipa_fn_summary_read): ... this one. (inline_write_summary): Rename to ... (ipa_fn_summary_write): ... this one. (inline_free_summary): Rename to ... (ipa_free_fn_summary): ... this one. (pass_data_local_fn_summary, pass_local_fn_summary, make_pass_local_fn_summary, pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary, make_pass_ipa_free_fn_summary, pass_data_ipa_fn_summary, pass_ipa_fn_summary, make_pass_ipa_fn_summary): New. * ipa-fnsummary.h (inline_generate_summary, inline_read_summary, inline_write_summary, inline_free_summary): Remove. (ipa_free_fn_summary) : New. * ipa-inline.c (ipa_inline): Update. (pass_ipa_inline): Do not generate summaries. * ipa.c (pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary): Remove. * passes.def: Replace pass_inline_parameters by pass_local_fn_summary and add pass_ipa_fn_summary. * tree-pass.h (make_pass_ipa_fn_summary, make_pass_local_fn_summary): New. (make_pass_inline_parameters): Remove. * lto.c (do_whole_program_analysis): Replace inline_free_summary by ipa_free_fn_summary. * gcc.dg/ipa/ctor-empty-1.c: Update template. * gcc.dg/ipa/inline-5.c: Likewise. * gfortran.dg/pr48636.f90: Likewise. From-SVN: r248375
2017-05-23cp-tree.h (DECL_HIDDEN_P): New.Nathan Sidwell5-83/+153
gcc/cp/ * cp-tree.h (DECL_HIDDEN_P): New. * name-lookup.c (set_decl_context) set_local_extern_decl_linkage): New, broken out of ... (pushdecl_maybe_friend_1): ... here. Call them. gcc/testsuite/ * g++.dg/parse/ctor9.C: Adjust expected error. (--This line, and those below, will be ignored-- M cp/name-lookup.c M cp/ChangeLog M cp/cp-tree.h M testsuite/ChangeLog M testsuite/g++.dg/parse/ctor9.C From-SVN: r248373
2017-05-23Remove unused "default_kind" member from gcc/omp-low.c's "struct omp_context"Thomas Schwinge2-11/+4
gcc/ * omp-low.c (struct omp_context): Remove "default_kind" member. Adjust all users. From-SVN: r248372
2017-05-23re PR fortran/80256 (Cygwin test fail: bind_c_array_params_2.f90 ↵Jerry DeLisle2-1/+8
scan-assembler-times) 2017-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/80256 * gfortran.dg/bind_c_array_params_2.f90: Modify to pass on Cygwin. From-SVN: r248371
2017-05-23OpenACC 2.5 kernels construct: num_gangs, num_workers, vector_length clausesThomas Schwinge18-25/+330
gcc/c/ * c-parser.c (OACC_KERNELS_CLAUSE_MASK): Add "PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS", "VECTOR_LENGTH". gcc/cp/ * parser.c (OACC_KERNELS_CLAUSE_MASK): Add "PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS", "VECTOR_LENGTH". gcc/fortran/ * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS", "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH". gcc/ * omp-offload.c (execute_oacc_device_lower): Remove the parallelism dimensions function attributes for unparallelized OpenACC kernels constructs. gcc/testsuite/ * c-c++-common/goacc/parallel-dims-1.c: Update. * c-c++-common/goacc/parallel-dims-2.c: Likewise. * c-c++-common/goacc/routine-1.c: Likewise. * c-c++-common/goacc/uninit-dim-clause.c: Likewise. * g++.dg/goacc/template.C: Likewise. * gfortran.dg/goacc/kernels-tree.f95: Likewise. * gfortran.dg/goacc/routine-3.f90: Likewise. * gfortran.dg/goacc/sie.f95: Likewise. * gfortran.dg/goacc/uninit-dim-clause.f95: Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. From-SVN: r248370
2017-05-23Introduce symtab_node::dump_{asm_,}name functions.Martin Liska20-283/+302
2017-05-23 Martin Liska <mliska@suse.cz> * cgraph.c (cgraph_node::get_create): Use symtab_node::dump_{asm_,}name functions. (cgraph_edge::make_speculative): Likewise. (cgraph_edge::resolve_speculation): Likewise. (cgraph_edge::redirect_call_stmt_to_callee): Likewise. (cgraph_node::dump): Likewise. * cgraph.h: Likewise. * cgraphunit.c (analyze_functions): Likewise. (symbol_table::compile): Likewise. * ipa-cp.c (print_all_lattices): Likewise. (determine_versionability): Likewise. (initialize_node_lattices): Likewise. (ipcp_verify_propagated_values): Likewise. (estimate_local_effects): Likewise. (update_profiling_info): Likewise. (create_specialized_node): Likewise. (perhaps_add_new_callers): Likewise. (decide_about_value): Likewise. (decide_whether_version_node): Likewise. (identify_dead_nodes): Likewise. (ipcp_store_bits_results): Likewise. * ipa-devirt.c (dump_targets): Likewise. (ipa_devirt): Likewise. * ipa-icf.c (sem_item::dump): Likewise. (sem_function::equals): Likewise. (sem_variable::equals): Likewise. (sem_item_optimizer::read_section): Likewise. (sem_item_optimizer::execute): Likewise. (congruence_class::dump): Likewise. * ipa-inline-analysis.c (dump_ipa_call_summary): Likewise. (dump_inline_summary): Likewise. (estimate_node_size_and_time): Likewise. (inline_analyze_function): Likewise. * ipa-inline-transform.c (inline_call): Likewise. * ipa-inline.c (report_inline_failed_reason): Likewise. (want_early_inline_function_p): Likewise. (edge_badness): Likewise. (update_edge_key): Likewise. (inline_small_functions): Likewise. * ipa-profile.c (ipa_profile): Likewise. * ipa-prop.c (ipa_print_node_jump_functions): Likewise. (ipa_make_edge_direct_to_target): Likewise. (remove_described_reference): Likewise. (ipa_impossible_devirt_target): Likewise. (propagate_controlled_uses): Likewise. (ipa_print_node_params): Likewise. (ipcp_transform_function): Likewise. * ipa-pure-const.c (pure_const_read_summary): Likewise. (propagate_pure_const): Likewise. * ipa-reference.c (generate_summary): Likewise. (read_write_all_from_decl): Likewise. (propagate): Likewise. (ipa_reference_read_optimization_summary): Likewise. * ipa-utils.c (ipa_merge_profiles): Likewise. * ipa.c (walk_polymorphic_call_targets): Likewise. (symbol_table::remove_unreachable_nodes): Likewise. (ipa_single_use): Likewise. * passes.c (execute_todo): Likewise. * predict.c (drop_profile): Likewise. * symtab.c (symtab_node::get_dump_name): New function. (symtab_node::dump_name): Likewise. (symtab_node::dump_asm_name): Likewise. (symtab_node::dump_references): Likewise. (symtab_node::dump_referring): Likewise. (symtab_node::dump_base): Likewise. (symtab_node::debug_symtab): Likewise. * tree-sra.c (convert_callers_for_node): Likewise. * tree-ssa-structalias.c (ipa_pta_execute): Likewise. * value-prof.c (init_node_map): Likewise. 2017-05-23 Martin Liska <mliska@suse.cz> * lto-symtab.c (lto_cgraph_replace_node): Use symtab_node::dump_{asm_,}name functions. * lto.c (read_cgraph_and_symbols): Likewise. (do_whole_program_analysis): Likewise. From-SVN: r248369
2017-05-23Move symtab_node::dump_table to symbol_table::dumpMartin Liska10-29/+38
2017-05-23 Martin Liska <mliska@suse.cz> * cgraph.h: Move symtab_node::dump_table to symbol_table::dump and symtab_node::debug_symtab to symbol_table::debug. * cgraphunit.c (analyze_functions): Use the renamed function. (symbol_table::compile): Likewise. * ipa-cp.c (ipcp_verify_propagated_values): Likewise. * ipa-icf.c (sem_item_optimizer::execute): Likewise. * passes.c (execute_todo): Likewise. * symtab.c (symbol_table::dump): New function. * tree-ssa-structalias.c (ipa_pta_execute): Use the renamed function. 2017-05-23 Martin Liska <mliska@suse.cz> * lto.c (read_cgraph_and_symbols): Use the renamed function. (do_whole_program_analysis): Use the renamed function. From-SVN: r248368
2017-05-23ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check that ↵Jan Hubicka2-2/+10
nonconst implies exec. * ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check that nonconst implies exec. From-SVN: r248366
2017-05-23ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.Jan Hubicka24-280/+320
* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list, inline_edge_removal_hook, inline_edge_duplication_hook): Remove. (inline_edge_summary_vec): Turn into ... (ipa_call_summaries): ... this one. (redirect_to_unreachable, edge_set_predicate, evaluate_properties_for_edge, inline_summary_alloc, reset_ipa_call_summary, reset_inline_summary, inline_summary_t::duplicate): Update. (inline_edge_duplication_hook): Turn to ... (ipa_call_summary_t::duplicate): ... this one. (inline_edge_removal_hook): Turn to ... (ipa_call_summary_t::remove): ... this one. (dump_inline_edge_summary): Turn to ... (dump_ipa_call_summary): ... this one. (estimate_function_body_sizes): Update. (inline_update_callee_summaries): Update. (remap_edge_change_prob): Update. (remap_edge_summaries): Update. (inline_merge_summary): Update. (do_estimate_edge_time): Update. (inline_generate_summary): Update. (inline_read_section): Update. (inline_read_summary): Update. (inline_free_summary): Update. * ipa-inline.c (can_inline_edge_p): Update. (compute_inlined_call_time): Update. (want_inline_small_function_p): Update. (edge_badness): Update. (early_inliner): Update. * ipa-inline.h (inline_edge_summary): Turn to ... (ipa_call_summary): ... this one. (ipa_call_summary_t): New class. (inline_edge_summary_t, inline_edge_summary_vec): Remove. (ipa_call_summaries): New. (inline_edge_summary): Remove. (estimate_edge_growth): Update. * ipa-profile.c (ipa_propagate_frequency_1): Update. * ipa-prop.c (ipa_make_edge_direct_to_target): Update. * ipa-split.c (execute_split_functions): Update. * ipa.c (symbol_table::remove_unreachable_nodes): Update. From-SVN: r248365
2017-05-23cp-tree.h (OVL_P): New.Nathan Sidwell8-242/+257
gcc/cp * cp-tree.h (OVL_P): New. * name-lookup.h (push_local_binding): Delete. (do_toplevel_using_decl, do_local_using_decl): Rename to ... (finish_namespace_using_decl, finish_local_using_decl): ... here * name-lookup.c (add_decl_to_level): Swap args. (pop_bindings_and_leave_scope): Look inside TREE_LIST. (diagnose_name_conflict): Check contexts are same for redecl. (update_local_overload): New. (compparms_for_decl_and_using): Rename to ... (matching_fn_p): ... here. (pushdecl_maybe_friend_1): Adjust add_decl_to_level, push_local_bindings call. (push_local_binding): Make static, replace FLAGS arg with IS_USING. (validate_nonmember_using_decl): Use OVL_FIRST. (do_nonmember_using_decl): Use in/out parameters. Use lkp_iterator and simplify. (do_toplevel_using_decl, do_local_using_decl): Rename to ... (finish_namespace_using_decl, finish_local_using_decl): ... here. Adjust. (lookup_type_current_level): Delete. * parser.c (cp_parser_using_declaration): Adjust. * pt.c (tsubst_expr): Adjust. libcc1/ * libcp1plugin.cc (plugin_add_using_decl): Call finish_namespace_using_decl. Use assert not unreachable. gcc/testsuite/ * g++.dg/lookup/using13.C: Adjust expected error. From-SVN: r248364
2017-05-23c-parser.c (c_parser_compound_statement_nostart): Remove redundant quotes.Marek Polacek2-1/+6
* c-parser.c (c_parser_compound_statement_nostart): Remove redundant quotes. From-SVN: r248363
2017-05-23Fix bogus builtin-snprintf-warn-3.c failure for avrSenthil Kumar Selvaraj2-1/+6
The test declares a struct with an array member that has INT_MAX/32767 elements. This causes a "type xxx is too large" error for targets like the avr, which has 16 bit pointers. Fix by marking the test as unsupported for targets with ptr size < 32. 2017-05-23 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/tree-ssa/builtin-snprintf-warn-3.c: Require ptr32plus. From-SVN: r248361
2017-05-23Document rdrand effective targetTom de Vries2-0/+8
2017-05-23 Tom de Vries <tom@codesourcery.com> * doc/sourcebuild.texi (Effective-Target Keywords, Other hardware attributes): Document rdrand effective target. From-SVN: r248360
2017-05-23Sort 'Other hardware attributes' table in sourcebuild.texiTom de Vries2-9/+15
2017-05-23 Tom de Vries <tom@codesourcery.com> * doc/sourcebuild.texi (Effective-Target Keywords, Other hardware attributes): Sort alphabetically. From-SVN: r248359
2017-05-23genmultilib.awk: Use gsub instead of gensub.Georg-Johann Lay2-1/+5
* config/avr/genmultilib.awk: Use gsub instead of gensub. From-SVN: r248357
2017-05-23Daily bump.GCC Administrator1-1/+1
From-SVN: r248356
2017-05-22re PR target/80718 (GCC generates slow code for offsettable vec_duplicate)Michael Meissner4-19/+345
[gcc] 2017-05-22 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80718 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Split V2DF/V2DI splat into two separate patterns, one that handles registers, and the other that only handles memory. Drop support for splatting from a GPR on ISA 2.07 and then splitting the splat into direct move and splat. (vsx_splat_<mode>_reg): Likewise. (vsx_splat_<mode>_mem): Likewise. [gcc/testsuite] 2017-05-22 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80718 * gcc.target/powerpc/pr80718.c: New test. From-SVN: r248352
2017-05-22cfgcleanup: Ignore clobbers in bb_is_just_returnSegher Boessenkool4-6/+31
The function bb_is_just_return finds if the BB it is asked about does just a return and nothing else. It currently does not allow clobbers in the block either, which we of course can allow just fine. This patch changes that. * cfgcleanup.c (bb_is_just_return): Allow CLOBBERs. gcc/testsuite/ From-SVN: r248351
2017-05-22p8-vec-xl-xst.c: Fix target string to LE-only.Bill Schmidt2-1/+6
2017-05-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/p8-vec-xl-xst.c: Fix target string to LE-only. From-SVN: r248348
2017-05-22c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal result for ↵Jakub Jelinek2-10/+13
SAVE_EXPR operand and set... * c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal result for SAVE_EXPR operand and set SAVE_EXPR_FOLDED_P even if it returned invariant. Call tree_invariant_p unconditionally afterwards to decide whether to return expr or op0. From-SVN: r248347
2017-05-22re PR middle-end/80809 (Multi-free error for variable size array used within ↵Jakub Jelinek2-0/+34
OpenMP task) PR middle-end/80809 * omp-low.c (finish_taskreg_remap): New function. (finish_taskreg_scan): If unit size of ctx->record_type is non-constant, unshare the size expression and replace decls in it with possible outer var refs. * testsuite/libgomp.c/pr80809-2.c: New test. * testsuite/libgomp.c/pr80809-3.c: New test. From-SVN: r248346
2017-05-22re PR middle-end/80809 (Multi-free error for variable size array used within ↵Jakub Jelinek2-3/+9
OpenMP task) PR middle-end/80809 * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use GOVD_SHARED rather than GOVD_PRIVATE with it. (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE. * testsuite/libgomp.c/pr80809-1.c: New test. From-SVN: r248345
2017-05-22re PR middle-end/80853 (OpenMP ICE in build_outer_var_ref with array reduction)Jakub Jelinek2-3/+20
PR middle-end/80853 * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref for pointer bases of array section reductions. * testsuite/libgomp.c/pr80853.c: New test. From-SVN: r248344
2017-05-22* da.po, es.po: Update.Joseph Myers3-546/+386
From-SVN: r248342
2017-05-22re PR fortran/80766 ([OOP] ICE with type-bound procedure returning an array)Janus Weil4-0/+50
2017-05-22 Janus Weil <janus@gcc.gnu.org> PR fortran/80766 * resolve.c (resolve_fl_derived): Make sure that vtype symbols are properly resolved. 2017-05-22 Janus Weil <janus@gcc.gnu.org> PR fortran/80766 * gfortran.dg/typebound_call_28.f90: New test. From-SVN: r248341
2017-05-22print-tree.c (print_node): Print DECL_READ_P flag.Martin Sebor2-0/+6
gcc/ChangeLog: * print-tree.c (print_node): Print DECL_READ_P flag. From-SVN: r248339
2017-05-22name-lookup.h (parse_using_directive): Replace with ...Nathan Sidwell7-131/+149
* name-lookup.h (parse_using_directive): Replace with ... (finish_namespace_using_directive): ... this and ... (finish_local_using_directive): ... this. * name-lookup.c (add_using_namespace_1): Move later. (add_using_namespace): Move later, add namespace_p arg, remove indirect arg. (push_using_directive_1): Directly recurse. (do_using_directive, parse_using_directive): Delete, split into ... (finish_namespace_using_directive): ... this and ... (finish_local_using_directive): ... this. (push_namespace): Use add_using_namespace. * parser.c (cp_parser_using_directive): Call finish_namespace_using_directive or finish_local_using_directive. * pt.c (tsubst_expr): Call finish_local_using_directive. From-SVN: r248337
2017-05-22Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.hJan Hubicka26-3719/+3909
* Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h * auto-profile.c: Replace ipa-inline.h by ipa-fnsummary.h * cgraph.c: Likewise. * cgraphunit.c: Likewise. * gengtype.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-icf.c: Likewise. * ipa-predicate.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-split.c: Likewise. * ipa.c: Likewise. * ipa-inline-analysis.c (inline_summaries, ipa_call_summaries, edge_predicate_pool, dump_inline_hints, inline_summary::account_size_time, redirect_to_unreachable, edge_set_predicate, set_hint_predicate, evaluate_conditions_for_known_args, evaluate_properties_for_edge, inline_summary_alloc, ipa_call_summary::reset, inline_summary::reset, inline_summary_t::remove, remap_hint_predicate_after_duplication, inline_summary_t::duplicate, ipa_call_summary_t::duplicate, ipa_call_summary_t::remove, initialize_growth_caches, free_growth_caches, dump_ipa_call_summary, dump_inline_summary, debug_inline_summary, dump_inline_summaries, initialize_inline_failed, mark_modified, unmodified_parm_1, unmodified_parm, unmodified_parm_or_parm_agg_item, eliminated_by_inlining_prob, set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate, compute_bb_predicates, will_be_nonconstant_expr_predicate, will_be_nonconstant_predicate, record_modified_bb_info, get_minimal_bb, record_modified, param_change_prob, phi_result_unknown_predicate, predicate_for_phi_result, array_index_predicate, clobber_only_eh_bb_p, fp_expression_p, estimate_function_body_sizes, compute_inline_parameters, compute_inline_parameters_for_curren, pass_data_inline_parameters, estimate_node_size_and_time, estimate_ipcp_clone_size_and_time, inline_update_callee_summaries, remap_edge_change_prob, remap_edge_summaries, remap_hint_predicate, inline_merge_summary, inline_update_overall_summary, inline_indirect_intraprocedural_analysis, inline_analyze_function, inline_summary_t::insert, inline_generate_summary, read_ipa_call_summary, inline_read_section, inline_read_summary, write_ipa_call_summary, inline_write_summary, inline_free_summary): Move to ipa-fnsummary.h (predicate_t): Remove. * ipa-fnsummary.c: New file. * ipa-inline.h: Do not include sreal.h and ipa-predicate.h (enum inline_hints_vals, inline_hints, agg_position_info, INLINE_SIZE_SCALE, size_time_entry, inline_summary, inline_summary_t, inline_summaries, ipa_call_summary, ipa_call_summary_t, ipa_call_summaries, debug_inline_summary, dump_inline_summaries, dump_inline_summary, dump_inline_hints, inline_generate_summary, inline_read_summary, inline_write_summary, inline_free_summary, inline_analyze_function, initialize_inline_failed, inline_merge_summary, inline_update_overall_summary, compute_inline_parameters): Move to ipa-fnsummary.h * ipa-fnsummary.h: New file. * ipa-inline-transform.h: Include ipa-inline.h. * ipa-inline.c: LIkewise. * lto.c: Replace ipa-inline.h by ipa-fnsummary.h * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h From-SVN: r248336
2017-05-22ipa-inline.c (edge_badness): Use inlined_time instead of inline_summaries->get.Jan Hubicka2-2/+12
* ipa-inline.c (edge_badness): Use inlined_time instead of inline_summaries->get. From-SVN: r248334