- 19 May, 2017 4 commits
-
-
* 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 committed -
* 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
Jan Hubicka committed -
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
Richard Biener committed -
From-SVN: r248260
GCC Administrator committed
-
- 18 May, 2017 34 commits
-
-
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
Segher Boessenkool committed -
PR go/80814 * Makefile.am (AM_GOCFLAGS): Define. * Makefile.in: Rebuild. From-SVN: r248255
Ian Lance Taylor committed -
[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
Michael Meissner committed -
2017-05-18 Eric Gallager <egall@gwmail.gwu.edu> * gcc.dg/pragma-diag-7.c: New test. From-SVN: r248253
Eric Gallager committed -
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
Matthias Klose committed -
* 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
Nathan Sidwell committed -
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
Ian Lance Taylor committed -
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
Uros Bizjak committed -
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
Jonathan Wakely committed -
2017-05-18 Paolo Carlini <paolo.carlini@oracle.com> * dumpfile.h (enum dump_kind): Remove stray comma. From-SVN: r248244
Paolo Carlini committed -
* 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
Jan Hubicka committed -
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
Bernd Edlinger committed -
* 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
Jan Hubicka committed -
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
Wilco Dijkstra committed -
* 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
Nathan Sidwell committed -
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 committed -
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
Martin Liska committed -
* 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
Jan Hubicka committed -
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
Will Schmidt committed -
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
Steven Munroe committed -
gcc/brig/ * brigfrontend/brig-to-generic.h (class brig_to_generic): Use "dump_flags_t" for "m_dump_flags" member. From-SVN: r248200
Thomas Schwinge committed -
From-SVN: r248199
Nathan Sidwell committed -
* 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
Nathan Sidwell committed -
* 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
Marek Polacek committed -
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
Marc Glisse committed -
* 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
Marek Polacek committed -
* 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
Nathan Sidwell committed -
* doc/xml/manual/policy_data_structures.xml: Fix typo. * doc/xml/manual/test_policy_data_structures.xml: Likewise. * doc/html/*: Regenerate. From-SVN: r248189
Jonathan Wakely committed -
2017-05-18 Fritz Reese <fritzoreese@gmail.com> PR fortran/79968 gcc/fortran/ChangeLog: PR fortran/79968 * decl.c (match_attr_spec, gfc_match_automatic, gfc_match_static, gfc_match_structure_decl): Unify diagnostic errors regarding -fdec options. * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto. From-SVN: r248188
Fritz Reese committed -
* doc/xml/manual/abi.xml: Document latest library versions. * doc/xml/manual/build_hacking.xml: Document requirement to update abi.xml when bumping library versions. * doc/html/*: Regenerate. From-SVN: r248186
Jonathan Wakely committed -
* MAINTAINERS: Add self to Write After Approval From-SVN: r248185
Sheldon Lobo committed -
* config/sparc/sparc.c (sparc_option_override): Set function alignment for -mcpu=niagara7 to 64 to match the I$ line. * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch latency to 1. * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch latency to 2. * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. * gcc.target/sparc/niagara7-align.c: New test. From-SVN: r248184
Sheldon Lobo committed -
PR sanitizer/80797 * ubsan.c (instrument_null): Unwrap ADDR_EXPRs. (pass_ubsan::execute): Call gimple_assign_single_p instead of gimple_assign_load_p. * c-c++-common/ubsan/null-12.c: New test. From-SVN: r248179
Marek Polacek committed -
From-SVN: r248178
GCC Administrator committed
-
- 17 May, 2017 2 commits
-
-
Decimal float negative zero should compare equal to positive zero. Decimal float zeroes are encoded as value class "normal" (in real.c); they need to be handled specially, but in this one case that does not yet happen. This fixes it. PR middle-end/80692 * real.c (do_compare): Give decimal_do_compare preference over comparing just the signs. gcc/testsuite/ PR middle-end/80692 * gcc.c-torture/execute/pr80692.c: New testcase. From-SVN: r248174
Segher Boessenkool committed -
2017-05-17 Andreas Tobler <andreast@gcc.gnu.org> * config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and _Unwind_SetIP available as functions for arm*-*-freebsd*. * config/arm/unwind-arm.c: Implement the above. From-SVN: r248173
Andreas Tobler committed
-