aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2017-05-22invoke.texi (fdump-translation-unit): Delete documentation.Nathan Sidwell10-31/+31
gcc/ * doc/invoke.texi (fdump-translation-unit): Delete documentation. (fdump-lang): Document 'raw' option. * dumpfile.h (TDI_tu): Delete. * dumpfile.c (dump_files): Remove translation-unit. (FIRST_AUTO_NUMBERED_DUMP): Decrement. gcc/cp/ * cp-objcp-common.c (cp_register_dumps): Register raw dumper. * cp-tree.h (raw_dump_id): Declare. * decl2.c (raw_dump_id): Define. (dump_tu): Use raw_dump_id. gcc/c/ * c-decl.c (c_parse_final_cleanups): Drop TDI_tu handling. From-SVN: r248333
2017-05-22Simplify config/avr/genmultilib.awk.Georg-Johann Lay4-141/+77
gcc/ Simplify config/avr/genmultilib.awk. * config/avr/t-avr (AWK) [t-multilib]: Remove "-v FORMAT=Makefile" command option from $(AWK) call. * config/avr/genmultilib.awk: Simplify and rewrite so that it generates MULTILIB_REQUIRED instead of MULTILIB_EXCEPTIONS. [FORMAT]: Remove handling of variable. * config/avr/t-multilib: Regenerate. From-SVN: r248332
2017-05-22* config-lang.in (gtfiles): Sort list, break lines.Nathan Sidwell2-1/+27
From-SVN: r248330
2017-05-22cp-tree.h (CPTI_TERMINATE, [...]): Rename to ...Nathan Sidwell4-146/+128
* cp-tree.h (CPTI_TERMINATE, CPTI_CALL_UNEXPECTED): Rename to ... (CPTI_TERMINATE_FN, CPTI_CALL_UNEXPECTED_FN): ... here. ( CPTI_GET_EXCEPTION_PTR_FN, CPTI_BEGIN_CATCH_FN) (CPTI_END_CATCH_FN) CPTI_ALLOCATE_EXCEPTION_FN, CPTI_FREE_EXCEPTION_FN, CPTI_THROW_FN, CPTI_RETHROW_FN): New. (noexcept_deferred_spec): New. (terminate_node, call_unexpected_node): Rename to ... (terminate_fn, call_unexpected_fn): ... here. (get_exception_ptr_fn, begin_catch_fn, end_catch_fn) allocate_exception_fn, free_exception_fn, throw_fn, rethrow_fn): New. * except.c (fn1..fn5, throw_fn, rethrow_rn, spec): Delete. (init_exception_processing): Adjust. (declare_library_fn): Create and push the fns here. (do_get_exception_ptr, do_begin_catch, do_end_catch) do_allocate_exception_ptr, do_free_exception_ptr): Adjust declare_library_fn use. (unevaluated_noexcept_spec): Adjust. * cp-gimplify.c (genericize_eh_spec_block) gimplify_most_not_throw_expr): Adjust. ((((--This line, and those below, will be ignored-- M cp/cp-tree.h M cp/ChangeLog M cp/cp-gimplify.c M cp/except.c From-SVN: r248328
2017-05-22name-lookup.c (pushdecl_top_level) pushdecl_top_level_and_finish): Move ↵Nathan Sidwell2-56/+100
after namespace pushing and popping functions. * name-lookup.c (pushdecl_top_level) pushdecl_top_level_and_finish): Move after namespace pushing and popping functions. (push_to_top_level): Rename to ... (do_push_to_top_level): ... here. Remove timing code. (pop_from_top_level_1): Rename to ... (do_pop_from_top_level): ... here. (do_push_nested_namespace, do_pop_nested_namespace) (push_to_top_level): New wrapper for do_push_to_top_level. (pop_from_top_level): Adjust. (push_nested_namepace, pop_nested_namespace): Wrappers for workers. (--This line, and those below, will be ignored-- M cp/ChangeLog M cp/name-lookup.c From-SVN: r248327
2017-05-22Add MOVT testing for ARMv8-M BaselineThomas Preud'homme3-0/+33
2017-05-22 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ * gcc.target/arm/movsi_movt.c: New test. * gcc.target/arm/movdi_movt.c: New test. From-SVN: r248326
2017-05-22ipa-inline-analysis.c (inline_summary::reset): Do not reset self_time.Jan Hubicka3-13/+16
* ipa-inline-analysis.c (inline_summary::reset): Do not reset self_time. (dump_inline_summary): Do not print self_time. (estimate_function_body_sizes): Do not set self_time. (compute_inline_parameters): Likewise. (inline_read_section, inline_write_summary): Do not stream self_time. * ipa-inline.h (inline_summary): Drop self_time. From-SVN: r248325
2017-05-22decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are ↵Eric Botcazou4-5/+27
E_Access_Subtype. * gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Access_Subtype. <E_Access_Subtype>: Use the DECL of the base type directly. From-SVN: r248323
2017-05-22ipa-inline-analysis.c (account_size_time): Rename to ...Jan Hubicka4-92/+121
* ipa-inline-analysis.c (account_size_time): Rename to ... (inline_summary::account_size_time): ... this one. (reset_ipa_call_summary): Turn to ... (ipa_call_summary::reset): ... this one. (reset_inline_summary): Turn to ... (inline_summary::reset): ... this one. (inline_summary_t::remove): Update. (inline_summary_t::duplicate): Update. (ipa_call_summary_t::remove): Update. (dump_inline_summary): Update. (estimate_function_body_sizes): Update. (compute_inline_parameters): Update. (estimate_node_size_and_time): Update. (inline_merge_summary): Update. (inline_update_overall_summary): Update. (inline_read_section): Update. (inline_write_summary): Update. * ipa-inline.h (inline_summary): Rename entry to size_time_table; add account_size_time and reset member functions. (ipa_call_summary): Add reset function. * ipa-predicate.h (predicate::operator &): Constify. From-SVN: r248322
2017-05-22sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited ↵Eric Botcazou14-110/+154
view may appear in the profile of... * sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited view may appear in the profile of a function, and a call to that function in another unit in which the full view is available must use this full view to spurious type errors at the point of call. * inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading of parent body with a with clause for the main unit. * gcc-interface/decl.c (defer_limited_with_list): Document new usage. (gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment types declared in external units like types from limited with clauses. Adjust final processing of defer_limited_with_list accordingly. * gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try again to translate the prefix after the field if it is incomplete. From-SVN: r248321
2017-05-22decl.c (gnat_to_gnu_field): Do not enforce strict alignment for simple ↵Eric Botcazou5-22/+30
volatile fields and remove... * gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict alignment for simple volatile fields and remove associated errors. testsuite/ * gnat.dg/specs/volatile1.ads: Remove obsolete errors. * gnat.dg/specs/clause_on_volatile.ads: Likewise. From-SVN: r248320
2017-05-22configure.ac: Add check for sys/capability.h header.Eric Botcazou4-3/+665
* configure.ac: Add check for sys/capability.h header. (have_capability): New substitution. * configure: Regenerate. * Makefile.in (GNATLIBCFLAGS_FOR_C): Add @have_capability@. From-SVN: r248319
2017-05-22df-scan.c (df_insn_refs_verify): Speedup when not verifying.Richard Biener2-5/+16
2017-05-22 Richard Biener <rguenther@suse.de> * df-scan.c (df_insn_refs_verify): Speedup when not verifying. From-SVN: r248318
2017-05-22Daily bump.GCC Administrator1-1/+1
From-SVN: r248317
2017-05-21re PR c++/70265 (ICE on code with constexpr on x86_64-linux-gnu in tree ↵Paolo Carlini3-0/+32
check: expected statement_list, have nop_expr in tsi_start, at tree-iterator.h:42) 2017-05-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70265 * g++.dg/cpp1y/constexpr-70265-1.C: New. * g++.dg/cpp1y/constexpr-70265-2.C: Likewise. From-SVN: r248313
2017-05-21Daily bump.GCC Administrator1-1/+1
From-SVN: r248312
2017-05-19environ.h: Add #ifndef guard.Eli Zaretskii2-0/+6
2017-05-19 Eli Zaretskii <eliz@gnu.org> * environ.h: Add #ifndef guard. From-SVN: r248308
2017-05-20Daily bump.GCC Administrator1-1/+1
From-SVN: r248307
2017-05-19c-warn.c (match_case_to_enum_1): Don't warn about enums with no enumerators.Jason Merrill3-0/+22
* c-warn.c (match_case_to_enum_1): Don't warn about enums with no enumerators. From-SVN: r248303
2017-05-19* tree.c (make_tree_vec_stat, grow_tree_vec_stat): Use size_t.Jason Merrill2-3/+7
From-SVN: r248302
2017-05-19dwarf.c (free_line_header): Don't free dirs if dirs_count == 0.Than McIntosh6-15/+365
* dwarf.c (free_line_header): Don't free dirs if dirs_count == 0. (read_line_header): Don't allocate dirs if dirs_count == 0. * edtest.c: New file. * edtest2.c: New file. * Makefile.am (edtest_SOURCES, edtest_LDADD): Define. (check_PROGRAMS): Add edtest. (edtest2_build.c, gen_edtest2_build): New targets. * Makefile.in: Rebuild. From-SVN: r248295
2017-05-19[multiple changes]Jerry DeLisle6-11/+120
2017-05-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/80333 * trans-io.c (nml_get_addr_expr): If we are dealing with class type data set tmp tree to get that address. (transfer_namelist_element): Set the array spec to point to the the class data. 2017-05-19 Paul Thomas <pault@gcc.gnu.org> Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/80333 * list_read.c (nml_read_obj): Compute pointer into class/type arrays from the nl->dim information. Update it for each iteration of the loop for the given object. 2017-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/80333 * gfortran.dg/dtio_30.f03: New test. From-SVN: r248293
2017-05-19re PR sanitizer/80800 (UBSAN: yet another false positive)Marek Polacek5-1/+40
PR sanitizer/80800 * fold-const.c (extract_muldiv_1) <case TRUNC_DIV_EXPR>: Add TYPE_OVERFLOW_WRAPS checks. * c-c++-common/ubsan/pr80800.c: New test. * c-c++-common/Wduplicated-branches-1.c: Adjust an expression. From-SVN: r248291
2017-05-19c-format.c (locus): Move out of function scope, add GTY attribute.Bernd Edlinger9-54/+72
gcc/c-family: 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-format.c (locus): Move out of function scope, add GTY attribute. gcc/cp: 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de> * config-lang.in (gtfiles): Add c-family/c-format.c, except.c, init.c, lambda.c and friend.c. * class.c (dvirt_fn): Move out of function scope, add GTY attribute. * except.c (fn1-5, throw_fn, rethrow_fn, spec): Likewise. * init.c (fn): Likewise. * lambda.c (ptr_id, max_id): Likewise. * friend.c (global_friend): Add GTY attribute. From-SVN: r248290
2017-05-19call.c (add_list_candidates): Use OVL_FIRST.Nathan Sidwell10-39/+76
* call.c (add_list_candidates): Use OVL_FIRST. (build_new_method_call_1): Likewise. * cp-tree.h (OVL_SINGLE_P): New. (TYPE_HIDDEN_P): New. * decl.c (xref_tag_1): Use TYPE_HIDDEN_P. * dump.c (cp_tump_tree): Adjust overload dumping. * error.c (dump_decl): Use OVL_SINGLE_P, simplify context printing. * method.c (lazily_declare_fn): Assert we added it. * parser.c (cp_parser_nested_name_specifier): Use OVL_SINGLE_P, OVL_FIRST. (cp_parser_template_name): Use lkp_iterator. * pt.c (begin_template_parm_list): Fixup comment. (instantiate_class_template_1): Use TYPE_HIDDEN_P. * tree.c (ovl_iterator::remove_node): Cope with inherited ctors. (ovl_scope): Use lkp_iterator. From-SVN: r248285
2017-05-19fortran: remove trailing exclamation mark from various diagnostics (PR ↵David Malcolm6-10/+20
fortran/79852) gcc/fortran/ChangeLog: PR fortran/79852 * bbt.c (insert): Remove trailing exclamation mark from message. * decl.c (gfc_match_final_decl): Likewise. * dump-parse-tree.c (show_expr): Likewise. * module.c (gfc_use_module): Likewise. * primary.c (build_actual_constructor): Likewise. (gfc_convert_to_structure_constructor): Likewise. From-SVN: r248283
2017-05-19Make the script executable.Martin Liska1-0/+0
From-SVN: r248282
2017-05-19Introduce new check_GNU_style.py script.Martin Liska2-0/+282
2017-05-19 Martin Liska <mliska@suse.cz> * check_GNU_style.py: New file. From-SVN: r248281
2017-05-19OpenACC 2.5 default (present) clauseThomas Schwinge27-52/+346
gcc/c/ * c-parser.c (c_parser_omp_clause_default): Handle "OMP_CLAUSE_DEFAULT_PRESENT". gcc/cp/ * parser.c (cp_parser_omp_clause_default): Handle "OMP_CLAUSE_DEFAULT_PRESENT". gcc/fortran/ * gfortran.h (enum gfc_omp_default_sharing): Add "OMP_DEFAULT_PRESENT". * dump-parse-tree.c (show_omp_clauses): Handle it. * openmp.c (gfc_match_omp_clauses): Likewise. * trans-openmp.c (gfc_trans_omp_clauses): Likewise. gcc/ * tree-core.h (enum omp_clause_default_kind): Add "OMP_CLAUSE_DEFAULT_PRESENT". * tree-pretty-print.c (dump_omp_clause): Handle it. * gimplify.c (enum gimplify_omp_var_data): Add "GOVD_MAP_FORCE_PRESENT". (gimplify_adjust_omp_clauses_1): Map it to "GOMP_MAP_FORCE_PRESENT". (oacc_default_clause): Handle "OMP_CLAUSE_DEFAULT_PRESENT". gcc/testsuite/ * c-c++-common/goacc/default-1.c: Update. * c-c++-common/goacc/default-2.c: Likewise. * c-c++-common/goacc/default-4.c: Likewise. * gfortran.dg/goacc/default-1.f95: Likewise. * gfortran.dg/goacc/default-4.f: Likewise. * c-c++-common/goacc/default-5.c: New file. * gfortran.dg/goacc/default-5.f: Likewise. libgomp/ * testsuite/libgomp.oacc-c++/template-reduction.C: Update. * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. From-SVN: r248280
2017-05-19Clarify gcc/gimplify.c:oacc_default_clauseThomas Schwinge2-18/+26
gcc/ * gimplify.c (oacc_default_clause): Clarify. From-SVN: r248279
2017-05-19OpenACC default clause maintenanceThomas Schwinge13-55/+280
gcc/cp/ * parser.c (cp_parser_omp_clause_default): Avoid printing more than one syntax error message. gcc/testsuite/ * c-c++-common/goacc/default-1.c: New file. * c-c++-common/goacc/default-2.c: Likewise. * c-c++-common/goacc/data-default-1.c: Remove file, including its test cases in... * c-c++-common/goacc/default-3.c: ... this new file, and... * c-c++-common/goacc/default-4.c: ... this new file. * gfortran.dg/goacc/default.f95: Remove file, including its test cases in... * gfortran.dg/goacc/default-1.f95: ... this new file, and... * gfortran.dg/goacc/default-2.f: ... this new file. * gfortran.dg/goacc/default-3.f95: New file. * gfortran.dg/goacc/default-4.f: Likewise. From-SVN: r248278
2017-05-19libgomp hsa plugin: debug output for HSA runtime library loading failureThomas Schwinge2-2/+11
libgomp/ * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): Debug output for failure. From-SVN: r248277
2017-05-19Enable by default -Werror just for bootstrap-debug.mk and default build.Martin Liska3-12/+28
2017-05-19 Martin Liska <mliska@suse.cz> * configure.ac: Add --enable-werror-always just for bootstrap-debug (or none build config) and do not add it when we are on a release branch. * configure: Regenerated. From-SVN: r248276
2017-05-19toplev.c (general_init): Call register dump lang hook.Nathan Sidwell17-40/+105
LANG_HOOK_REGISTER_DUMPS gcc/ * toplev.c (general_init): Call register dump lang hook. * doc/invoke.texi: Document -fdump-lang option family. * dumpfile.c (dump_files): Remove class dump here. (FIRST_AUTO_NUMBERED_DUMP): Adjust. * dumpfile.h (tree_dump_index): Remove TDI_class. * langhooks-def.h (lhd_register_dumps): Declare. (LANG_HOOKS_REGISTER_DUMPS): Define. (LANG_HOOKS_INITIALIZER): Add it. * langhooks.c (lhd_register_dumps): Define. * langhooks.h (struct lang_hooks): Add register_dumps. c-family/ * c-opts.c (class_dump_file, class_dump_flags): Delete. (c_common_parse_file): Remove class dump handling. (get_dump_info): Likewise. cp/ * class.c (class_dump_id): Define. (dump_class_hierarchy, dump_vtable, dump_vtt): Use it. * cp-objcp-common.c (cp_register_dumps): New. * cp-objcp-common.h (cp_register_dumps): Declare. (LANG_HOOKS_REGISTER_DUMPS): Override. * cp-tree.h (class_dump_id): Declare. testsuite/ * g++.dg/inherit/covariant7.C: Adjust. From-SVN: r248271
2017-05-19[ARM] Only test tls-disable-literal-pool.c if target supports native TLSPrakhar Bahuguna2-3/+8
2017-05-19 Prakhar Bahuguna <prakhar.bahuguna@arm.com> gcc/testsuite/ * gcc.target/arm/tls-disable-literal-pool.c: Change require-effective-target to tls_native. Move dg-error to return statement line and change to dg-message. From-SVN: r248270
2017-05-19re PR c++/80593 (GCC 7, aligned_storage and “dereferencing type-punned ↵Richard Biener5-5/+36
pointer will break strict-aliasing rules”) 2017-05-19 Richard Biener <rguenther@suse.de> PR c++/80593 * c-warn.c (strict_aliasing_warning): Do not warn for accesses to alias-set zero memory. * g++.dg/warn/Wstrict-aliasing-bogus-char-2.C: New testcase. * g++.dg/warn/Wstrict-aliasing-6.C: Adjust expected outcome. From-SVN: r248269
2017-05-19context.h (context::set_passes): New.Nathan Sidwell4-8/+19
* context.h (context::set_passes): New. * context.c (context::context): Do not create pass manager. * toplev.c (general_init): Create pass manager here. From-SVN: r248268
2017-05-19PR libstdc++/80796 Add new std::search overload for C++17Jonathan Wakely3-0/+67
PR libstdc++/80796 * include/bits/stl_algo.h (search): Add new overload for C++17. * testsuite/25_algorithms/search/searcher.cc: New. From-SVN: r248266
2017-05-19rs6000: Make constant formation a tiny bit betterSegher Boessenkool2-0/+7
If we cannot load a constant into a register in one insn, and that constant is a valid mask (for rotate instructions), we currently prefer to load -1 and then mask it. This patch makes us not do that if instead we could use two add or or instructions, since those are sometimes faster on certain CPUs (and never are slower). * config/rs6000/rs6000.md (splitter to load of -1 and mask): Don't use this splitter if two add or or instructions would also work for the constant we want to generate. From-SVN: r248265
2017-05-19re PR tree-optimization/80821 (genmatch conflicting predicates)Richard Biener2-0/+10
2017-05-19 Richard Biener <rguenther@suse.de> PR build/80821 * genmatch.c (dt_node::gen_kids_1): Add missing scope around predicate evaluation. From-SVN: r248264
2017-05-19ipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor.Jan Hubicka3-4/+19
* ipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor. * ipa-inline.c (want_inline_small_function_p): Do not cast to unsigned. From-SVN: r248263
2017-05-19ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.Jan Hubicka8-145/+153
* 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: r248262
2017-05-19re PR middle-end/80764 (ICE at -O3 in both 32-bit and 64-bit modes on ↵Richard Biener4-1/+28
x86_64-linux-gnu (internal compiler error: in verify_loop_structure, at cfgloop.c:1644)) 2017-05-19 Richard Biener <rguenther@suse.de> PR middle-end/80764 * cfgexpand.c (expand_gimple_cond): Fix loop fixup. * gcc.dg/torture/pr80764.c: New testcase. From-SVN: r248261
2017-05-19Daily bump.GCC Administrator1-1/+1
From-SVN: r248260
2017-05-19rs6000: Separate shrink-wrapping for FPRsSegher Boessenkool2-31/+146
This patch implements separate shrink-wrapping for the non-volatile floating point registers (FPR14..FPR31). It is pretty much exactly analogous to the code for GPRs. * config/rs6000/rs6000.c (struct machine_function): Add field fpr_is_wrapped_separately. (rs6000_get_separate_components): Use 64 components. Handle the new FPR components. (rs6000_components_for_bb): Handle the FPR components. (rs6000_emit_prologue_components): Handle the FPR components. (rs6000_emit_epilogue_components): Handle the FPR components. (rs6000_set_handled_components): Handle the FPR components. (rs6000_emit_prologue): Don't output prologue code for those FPRs that are already separately shrink-wrapped. (rs6000_emit_epilogue): Don't output epilogue code for those FPRs that are already separately shrink-wrapped. From-SVN: r248256