Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
gcc/ChangeLog:
* print-tree.c (print_node): Print DECL_READ_P flag.
From-SVN: r248339
|
|
* 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
|
|
* 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
|
|
* ipa-inline.c (edge_badness): Use inlined_time instead of
inline_summaries->get.
From-SVN: r248334
|
|
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
|
|
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
|
|
From-SVN: r248330
|
|
* 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
|
|
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-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
|
|
* 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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
* 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-22 Richard Biener <rguenther@suse.de>
* df-scan.c (df_insn_refs_verify): Speedup when not verifying.
From-SVN: r248318
|
|
From-SVN: r248317
|
|
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
|
|
From-SVN: r248312
|
|
2017-05-19 Eli Zaretskii <eliz@gnu.org>
* environ.h: Add #ifndef guard.
From-SVN: r248308
|
|
From-SVN: r248307
|
|
* c-warn.c (match_case_to_enum_1): Don't warn about enums with no
enumerators.
From-SVN: r248303
|
|
From-SVN: r248302
|
|
* 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 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
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
From-SVN: r248282
|
|
2017-05-19 Martin Liska <mliska@suse.cz>
* check_GNU_style.py: New file.
From-SVN: r248281
|
|
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
|
|
gcc/
* gimplify.c (oacc_default_clause): Clarify.
From-SVN: r248279
|
|
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
|
|
libgomp/
* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
Debug output for failure.
From-SVN: r248277
|
|
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
|
|
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 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
|
|
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
|
|
* 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
|
|
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
|
|
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-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
|
|
* 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
|
|
* 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
|
|
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
|
|
From-SVN: r248260
|
|
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
|