- May 19, 2017
-
-
Martin Liska authored
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
-
Nathan Sidwell authored
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
-
Prakhar Bahuguna authored
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
-
Richard Biener authored
re PR c++/80593 (GCC 7, aligned_storage and “dereferencing type-punned 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
-
Nathan Sidwell authored
* 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
-
Jonathan Wakely authored
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
-
Segher Boessenkool authored
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
-
Richard Biener authored
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
-
Jan Hubicka authored
* 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
-
Jan Hubicka authored
* 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
-
Richard Biener authored
re PR middle-end/80764 (ICE at -O3 in both 32-bit and 64-bit modes on 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
-
GCC Administrator authored
From-SVN: r248260
-
- May 18, 2017
-
-
Segher Boessenkool authored
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
-
Ian Lance Taylor authored
PR go/80814 * Makefile.am (AM_GOCFLAGS): Define. * Makefile.in: Rebuild. From-SVN: r248255
-
Michael Meissner authored
[gcc] 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80510 * config/rs6000/predicates.md (simple_offsettable_mem_operand): New predicate. * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. (define_peephole2 for Altivec d-form load): Add peepholes to catch cases where the register allocator uses a move and an offsettable memory operation to/from a FPR register on ISA 2.06/2.07. (define_peephole2 for Altivec d-form store): Likewise. [gcc/testsuite] 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80510 * gcc.target/powerpc/pr80510-1.c: New test. * gcc.target/powerpc/pr80510-2.c: Likewise. From-SVN: r248254
-
Eric Gallager authored
2017-05-18 Eric Gallager <egall@gwmail.gwu.edu> * gcc.dg/pragma-diag-7.c: New test. From-SVN: r248253
-
Matthias Klose authored
2017-05-18 Matthias Klose <doko@ubuntu.com> * gcc_release (build_gzip): Build xz tarball instead of bz2 tarball. (build_diffs): Handle building diffs from either bz2 or xz tarballs, compress diffs using xz instead of bz2. (build_diff): Likewise. (upload_files): Check for *.xz files instead of *.bz2 files. (announce_snapshot): Announce xz tarball instead of bz2 tarball. (XZ): New definition. (<toplevel>): Look for both bz2 and xz compressed old tarballs. From-SVN: r248251
-
Nathan Sidwell authored
* cp-tree.h (OVL_ARG_DEPENDENT): Delete. (OVL_USED_P): New. (lookup_keep): Declare. * name-lookup.c (add_function): Don't set OVL_ARG_DEPENDENT. * pt.c (tsubst_copy): Assert lookup is persistent. * semantics.c (finish_call_expr): Use lkp_iterator, call lookup_keep. * tree.c (ovl_copy): New. (ovl_insert, ovl_iterator::remove_node): Copy immutable nodes. (lookup_keep): New. From-SVN: r248250
-
Ian Lance Taylor authored
Go 1.8 includes a language change (https://golang.org/doc/go1.8#language): in an explicit conversion from one struct type to another, any field tags are ignored. This CL implements this language change in the gofrontend. The tests for this are in the gc testsuite, which will be copied into the gccgo repository in due course. Updates golang/go#16085. Reviewed-on: https://go-review.googlesource.com/43614 From-SVN: r248248
-
Uros Bizjak authored
PR target/80799 * config/i386/mmx.md (*mov<mode>_internal): Enable alternatives 11, 12, 13 and 14 also for 32bit targets. Remove alternatives 15, 16, 17 and 18. * config/i386/sse.md (vec_concatv2di): Change alternative (!x, *y) to (x, ?!*Yn). testsuite/ChangeLog: PR target/80799 * g++.dg/other/i386-11.C: New test. From-SVN: r248246
-
Jonathan Wakely authored
PR libstdc++/80478 * include/std/functional (_Mem_fn_traits_base): Add specializations for noexcept member function types. * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. From-SVN: r248245
-
Paolo Carlini authored
2017-05-18 Paolo Carlini <paolo.carlini@oracle.com> * dumpfile.h (enum dump_kind): Remove stray comma. From-SVN: r248244
-
Jan Hubicka authored
* Makefile.in: Add ipa-predicate.o and ipa-predicate.h * ipa-inline-analysis.c (NUM_CONDITIONS): turn into predicate::num_conditions (IS_NOT_CONSTANT): turn into predicate::is_not_constant. (CHANGED): turn into predicate::changed. (agg_position_info): Move to ipa-predicate.h (add_condition, predicate::add_clause, predicate::operator &=, predicate::or_with, predicate::evaluate, predicate::probability, dump_condition, dump_clause, predicate::dump, predicate::remap_after_duplication, predicate::remap_after_inlining, predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c (evaluate_conditions_for_known_args): Update. (set_cond_stmt_execution_predicate): Update. * ipa-inline.h: Include ipa-predicate.h (condition, inline_param_summary, conditions, agg_position_info, predicate): Move to ipa-predicate.h * ipa-predicate.c: New file. * ipa-predicate.h: New file. From-SVN: r248243
-
Bernd Edlinger authored
gcc/c-family: 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-format.c (local_tree_type_node): Add GTY attribute. gcc/c: 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de> * config-lang.in (gtfiles): Add c-family/c-format.c. From-SVN: r248242
-
Jan Hubicka authored
* Makefile.in: Add ipa-predicate.o and ipa-predicate.h * ipa-inline-analysis.c (NUM_CONDITIONS): turn into predicate::num_conditions (IS_NOT_CONSTANT): turn into predicate::is_not_constant. (CHANGED): turn into predicate::changed. (agg_position_info): Move to ipa-predicate.h (add_condition, predicate::add_clause, predicate::operator &=, predicate::or_with, predicate::evaluate, predicate::probability, dump_condition, dump_clause, predicate::dump, predicate::remap_after_duplication, predicate::remap_after_inlining, predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c (evaluate_conditions_for_known_args): Update. (set_cond_stmt_execution_predicate): Update. * ipa-inline.h: Include ipa-predicate.h (condition, inline_param_summary, conditions, agg_position_info, predicate): Move to ipa-predicate.h * ipa-predicate.c: New file. * ipa-predicate.h: New file. From-SVN: r248241
-
Wilco Dijkstra authored
Add an assert to leaf_function_p to ensure it is not called from a prolog or epilog sequence (which would incorrectly return true in a non-leaf function). There are several targets which still call leaf_function_p, and while most appear safe or appear aware of the issue, it is likely not all such calls are safe. This check enables any such latent bugs to be found. gcc/ * final.c (leaf_function_p): Check we are not in a sequence. From-SVN: r248240
-
Nathan Sidwell authored
* cp-tree.h (OVL_USED): Replace with ... (OVL_USING_P): ... this. (ovl_iterator::using_p): Adjust. * name-lookup.c (push_overloaded_decl_1) do_nonmember_using_decl): Adjust. * search.c (lookup_field_r): Adjust. * tree.c (ovl_insert, ovl_scope): Adjust. (--This line, and those below, will be ignored-- M cp/tree.c M cp/cp-tree.h M cp/name-lookup.c M cp/search.c M cp/ChangeLog From-SVN: r248229
-
Martin Liska authored
2017-05-18 Martin Liska <mliska@suse.cz> * cfgrtl.c (rtl_verify_edges): Remove usage of TDF_RTL. * dumpfile.c (dump_register): Use new enum dump_kind. (get_dump_file_name): Likewise. (dump_enable_all): Likewise. (dump_switch_p_1): Likewise. (enable_rtl_dump_file): Remove usage of TDF_RTL. * dumpfile.h (enum dump_kind): New enum type. (struct dump_file_info): Create constructor and format fields and comments. * passes.c (pass_manager::register_one_dump_file): Use num dump_kind. * statistics.c (statistics_early_init): Likewise. * tree-ssa-loop-prefetch.c (dump_mem_details): Replace TDF_TREE with TDF_SLIM. (gather_memory_references_ref): Likewise. From-SVN: r248206
-
Martin Liska authored
2017-05-18 Martin Liska <mliska@suse.cz> * ansidecl.h: Define CONSTEXPR macro. 2017-05-18 Martin Liska <mliska@suse.cz> * vec.h (struct vnull): Use it. From-SVN: r248205
-
Jan Hubicka authored
* ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h (true_predicate, false_predicate, true_predicate_p, false_predicate_p): Remove. (single_cond_predicate, not_inlined_predicate): Turn to member function in ipa-inline.h (add_condition): Update. (add_clause): Turn to... (predicate::add_clause): ... this one; update; allow passing NULL as parameter. (and_predicates): Turn to ... (predicate::operator &=): ... this one. (predicates_equal_p): Move to predicate::operator == in ipa-inline.h (or_predicates): Turn to ... (predicate::or_with): ... this one. (evaluate_predicate): Turn to ... (predicate::evaluate): ... this one. (predicate_probability): Turn to ... (predicate::probability): ... this one. (dump_condition): Update. (dump_predicate): Turn to ... (predicate::dump): ... this one. (account_size_time): Update. (edge_set_predicate): Update. (set_hint_predicate): UPdate. (evaluate_conditions_for_known_args): Update. (evaluate_properties_for_edge): Update. (remap_predicate_after_duplication): Turn to... (predicate::remap_after_duplication): ... this one. (remap_hint_predicate_after_duplication): Update. (inline_summary_t::duplicate): UPdate. (dump_inline_edge_summary): Update. (dump_inline_summary): Update. (set_cond_stmt_execution_predicate): Update. (set_switch_stmt_execution_predicate): Update. (compute_bb_predicates): Update. (will_be_nonconstant_expr_predicate): Update. (will_be_nonconstant_predicate): Update. (phi_result_unknown_predicate): Update. (predicate_for_phi_result): Update. (array_index_predicate): Update. (estimate_function_body_sizes): Update. (estimate_node_size_and_time): Update. (estimate_ipcp_clone_size_and_time): Update. (remap_predicate): Rename to ... (predicate::remap_after_inlining): ... this one. (remap_hint_predicate): Update. (inline_merge_summary): Update. (inline_update_overall_summary): Update. (estimate_size_after_inlining): Update. (read_predicate): Rename to ... (predicate::stream_in): ... this one. (read_inline_edge_summary): Update. (write_predicate): Rename to ... (predicate::stream_out): ... this one. (write_inline_edge_summary): Update. * ipa-inline.h (MAX_CLAUSES): Turn to predicate::max_clauses. (clause_t): Turn to uint32_t (predicate): Turn to class; implement constructor and operators ==, !=, & (size_time_entry): Update. (inline_summary): Update. (inline_edge_summary): Update. From-SVN: r248204
-
Will Schmidt authored
2017-05-18 Will Schmidt <will_schmidt@vnet.ibm.com> [gcc/testsuite] * fold-vec-div-float.c: Update dg-requires and dg-options statements. * fold-vec-div-floatdouble.c: Likewise. * fold-vec-logical-ands-char.c: Likewise. * fold-vec-logical-ands-int.c: Likewise. * fold-vec-logical-ands-short.c: Likewise. * fold-vec-logical-ors-char.c: Likewise. * fold-vec-logical-ors-int.c: Likewise. * fold-vec-logical-ors-short.c: Likewise. * fold-vec-logical-other-char.c: Likewise. * fold-vec-mule-misc.c: Likewise. * fold-vec-mult-float.c: Likewise. * fold-vec-mult-floatdouble.c: Likewise. * fold-vec-mult-int.c: Likewise. * fold-vec-mult-int128-p9.c: Likewise. * fold-vec-sub-floatdouble.c: Likewise. * fold-vec-div-longlong.c: Update dg-requires and dg-options statements. Add lp64 requirement. * fold-vec-mult-int128-p8.c: Likewise. * fold-vec-logical-ors-longlong.c: Fix comment typo. From-SVN: r248202
-
Steven Munroe authored
2017-05-17 Steven Munroe <munroesj@gcc.gnu.org> * gcc.target/powerpc/bmi-andn-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-andn-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-4.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-5.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsi-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsi-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsmsk-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsmsk-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsr-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsr-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-tzcnt-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-tzcnt-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-bzhi32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-bzhi64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-bzhi64-1a.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx32-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx64-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pdep32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pdep64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pext32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pext64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pext64-1a.c: Fix-up dg-options. From-SVN: r248201
-
Thomas Schwinge authored
gcc/brig/ * brigfrontend/brig-to-generic.h (class brig_to_generic): Use "dump_flags_t" for "m_dump_flags" member. From-SVN: r248200
-
Nathan Sidwell authored
From-SVN: r248199
-
Nathan Sidwell authored
* cp-tree.h (lookup_add): Swap args. (ovl_cons, build_overload): Delete. * name-lookup.c (add_function, push_overloaded_decl_1) do_nonmember_using_decl, merge_functions, remove_hidden_names): Use lookup_add, ovl_insert. * pt.c (check_explicit_specialization): Use lookup_add. (do_class_deduction): Likewise. Refactor if. * tree.c (lookup_add): Swap args. (ovl_cons, build_overload): Delete. (--This line, and those below, will be ignored-- M cp/cp-tree.h M cp/name-lookup.c M cp/pt.c M cp/ChangeLog M cp/tree.c From-SVN: r248198
-
Marek Polacek authored
* c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0. (c_common_fixed_point_type_for_size): Likewise. (c_common_type_for_mode): Likewise. (shorten_compare): Likewise. (c_promoting_integer_type_p): Use false/true instead of 0/1. * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0. * c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0. (check_earlier_gotos): Likewise. (define_label): Likewise. (pending_xref_error): Likewise. (smallest_type_quals_location): Likewise. (grokdeclarator): Likewise. (grokparms): Likewise. (identifier_global_value): Likewise. * c-typeck.c (set_nonincremental_init_from_string): Likewise. (find_init_member): Likewise. From-SVN: r248195
-
Marc Glisse authored
2017-05-18 Marc Glisse <marc.glisse@inria.fr> * fold-const.c (fold_binary_loc): Move transformation... * match.pd (C - X CMP X): ... here. From-SVN: r248193
-
Marek Polacek authored
* c-common.c (self_promoting_args_p): Change the return type to bool. Use false/true instead of 0/1. * c-common.h (self_promoting_args_p): Update. * c-decl.c (start_decl): Use false/true instead of 0/1. (grokdeclarator): Likewise. (finish_struct): Likewise. (start_function): Change the return type to bool. Use false/true instead of 0/1. (declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0. * c-tree.h (start_function): Update. * c-typeck.c (same_translation_unit_p): Change the return type to bool. (set_designator): Change the return type to bool. Use false/true instead of 0/1. From-SVN: r248192
-
Nathan Sidwell authored
* name-lookup.c (find_local_binding): New, broken out of ... (lookup_name_innermost_nonclass_level_1): ... here. Call it. (set_namespace_binding): Swap scope & name args. (namespace_binding_1): Likewise. (pushdecl_maybe_friend_1): Adjust set_namespace_binding call. (push_overloaded_decl_1): Likewise. (set_global_binding): Likewise. (get_namespace_binding): Adjust namespace_binding_1 call. From-SVN: r248191
-
Jonathan Wakely authored
* doc/xml/manual/policy_data_structures.xml: Fix typo. * doc/xml/manual/test_policy_data_structures.xml: Likewise. * doc/html/*: Regenerate. From-SVN: r248189
-