- 20 Nov, 2019 28 commits
-
-
libgomp/ * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. (copy_data, GOMP_OFFLOAD_host2dev): Use above function. (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy return code. Reviewed-by: Andrew Stubbs <ams@codesourcery.com> From-SVN: r278516
Julian Brown committed -
Since r278084 (part of the params refactoring), most of libgccjit's test suite has been ICEing. The root cause is that jit-playback.c injects params to its fake_args here: /* Aggressively garbage-collect, to shake out bugs: */ if (get_bool_option (GCC_JIT_BOOL_OPTION_SELFCHECK_GC)) { ADD_ARG ("--param"); ADD_ARG ("ggc-min-expand=0"); ADD_ARG ("--param"); ADD_ARG ("ggc-min-heapsize=0"); } (building a vec of char * where the char * are allocated using xstrdup) and r278084 added this logic to decode_cmdline_options_to_array: 964 /* Interpret "--param" "key=name" as "--param=key=name". */ 965 const char *needle = "--param"; 966 if (i + 1 < argc && strcmp (opt, needle) == 0) 967 { 968 const char *replacement 969 = opts_concat (needle, "=", argv[i + 1], NULL); 970 argv[++i] = replacement; 971 } Note that at line 970 it manipulates the argv in-place, inserting a new option allocated with opts_concat, which uses opts_obstack (itself initialized from toplev::main). jit-playback.c cleans up its fake arguments using "free", at which point we have a free of the middle of an obstack and an ICE. This patch fixes the issue by using the new syntax for the params. Fixes all 60 FAILs in jit.sum, restoring the number of PASS results from 2033 to 10469. gcc/jit/ChangeLog: PR jit/92483 * jit-playback.c (gcc::jit::playback::context::make_fake_args): Update GCC_JIT_BOOL_OPTION_SELFCHECK_GC for new --param syntax. From-SVN: r278515
David Malcolm committed -
PR libgomp/92511 libgomp/ * oacc-mem.c (present_create_copy): Fix device pointer return value in case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free in non-present/create case. (delete_copyout): Change error condition to fail only on copies outside of mapped block. Adjust error message accordingly. * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error message. * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r278514
Julian Brown committed -
* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Add CALL parameter and update call_size_time_table. (ipa_fn_summary::max_size_time_table_size): New constant. (estimate_calls_size_and_time_1): Break out from ... (estimate_calls_size_and_time): ... here; implement summary production. (summarize_calls_size_and_time): New function. (ipa_call_context::estimate_size_and_time): Bypass estimate_calls_size_and_time for leaf functions. (ipa_update_overall_fn_summary): Likewise. * ipa-fnsummary.h (call_size_time_table): New. (ipa_fn_summary::account_size_time): Update prototype. From-SVN: r278513
Jan Hubicka committed -
My patch that added initial C2X support and associated command-line options missed documenting -Wc11-c2x-compat although the other options were properly documented. This patch adds the missing documentation. Tested with "make info" and "make pdf". * doc/invoke.texi (-Wc11-c2x-compat): Document. From-SVN: r278510
Joseph Myers committed -
GCC currently defaults to -fcommon. As discussed in the PR, this is an ancient C feature which is not conforming with the latest C standards. On many targets this means global variable accesses have a codesize and performance penalty. This applies to C code only, C++ code is not affected by -fcommon. It is about time to change the default. gcc/ PR85678 * common.opt (fcommon): Change init to 1. * invoke.texi (-fcommon): Update documentation. testsuite/ * g++.dg/lto/odr-6_1.c: Add -fcommon. * gcc.dg/alias-15.c: Likewise. * gcc.dg/fdata-sections-1.c: Likewise. * gcc.dg/ipa/pr77653.c: Likewise. * gcc.dg/lto/20090729_0.c: Likewise. * gcc.dg/lto/20111207-1_0.c: Likewise. * gcc.dg/lto/c-compatible-types-1_0.c: Likewise. * gcc.dg/lto/pr55525_0.c: Likewise. * gcc.dg/lto/pr88077_0.c: Use long to avoid alignment warning. * gcc.dg/lto/pr88077_1.c: Add -fcommon. * gcc.target/aarch64/sve/peel_ind_1.c: Allow ANCHOR0. * gcc.target/aarch64/sve/peel_ind_2.c: Likewise. * gcc.target/aarch64/sve/peel_ind_3.c: Likewise. * gcc.target/i386/volatile-bitfields-2.c: Allow movl or movq. From-SVN: r278509
Wilco Dijkstra committed -
Add flags to find libatomic in build-tree testing, fixing a catastrophic libgomp testsuite failure with `riscv*-*-linux*' targets, which imply `-latomic' with the `-pthread' GCC option, implied in turn by the `-fopenacc' and `-fopenmp' options, removing failures like: .../bin/riscv64-linux-gnu-ld: cannot find -latomic collect2: error: ld returned 1 exit status compiler exited with status 1 FAIL: libgomp.c/../libgomp.c-c++-common/atomic-18.c (test for excess errors) Excess errors: .../bin/riscv64-linux-gnu-ld: cannot find -latomic UNRESOLVED: libgomp.c/../libgomp.c-c++-common/atomic-18.c compilation failed to produce executable and bringing overall test results for the `riscv64-linux-gnu' target (here with the `x86_64-linux-gnu' host and RISC-V QEMU in the Linux user emulation mode as the target board) from: === libgomp Summary === # of expected passes 90 # of unexpected failures 3267 # of expected failures 2 # of unresolved testcases 3247 # of unsupported tests 548 to: === libgomp Summary === # of expected passes 6834 # of unexpected failures 4 # of expected failures 4 # of unsupported tests 518 libgomp/ * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find libatomic in build-tree testing. From-SVN: r278505
Maciej W. Rozycki committed -
* fibonacci_heap.h (fibonacci_heap<K,V>::consolidate): Turn auto_vec to ordinary array. From-SVN: r278504
Jan Hubicka committed -
* fibonacci_heap.h (fibonacci_heap<K,V>::fibonacci_heap): Add allocator parameter. (fibonacci_heap<K,V>::~fibonacci_heap): Optimize destruction. (fibonacci_heap<K,V>::m_allocator): New. (fibonacci_heap<K,V>::m_own_allocator): New. (fibonacci_heap<K,V>::insert): Use allocator. (fibonacci_heap<K,V>::extract_min): Likewise. (fibonacci_heap<K,V>::union_with): Assert that both heaps share allocator. (fibonacci_heap<K,V>::consolidate): Allocate constant sized vector on stack. * fibonacci_heap.c: Include alloc-pool (test_empty_heap): Initialize allocator. (test_union): Likewise. * bb-reorder.c: Include alloc-pool.h. * tracer.c: Inlclude alloc-pool.h. From-SVN: r278501
Jan Hubicka committed -
2019-11-20 Martin Liska <mliska@suse.cz> * libtool-version: Remove. * lsan/libtool-version: Upate comment to not mention libmudflap. * tsan/libtool-version: Likewise. * ubsan/libtool-version: Likewise. From-SVN: r278500
Martin Liska committed -
* lto-streamer-out.c (DFS::sccstack): Turn into auto-vec. Preallocate for 32 entries. (DFS::worklist): Likewise. (DFS::DFS): Do not initialize sccstack and worklist. (DFS::~DFS): Do not release sccstack. From-SVN: r278498
Jan Hubicka committed -
This is the analogue of r278103, but for DFP. PR target/92573 * config/rs6000/dfp.md (dfptstsfi_<code>_<mode> for DFP_TEST and DDTD): Handle UNORDERED if !HONOR_NANS. From-SVN: r278497
Segher Boessenkool committed -
* ipa-inline.c (wrapper_heuristics_may_apply): Break out from ... (edge_badness): ... here. (inline_small_functions): Use monotonicity of badness calculation to avoid redundant updates. From-SVN: r278496
Jan Hubicka committed -
2019-11-20 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_analyze_slp_instance): Dump constructors we are actually analyzing. (vect_slp_check_for_constructors): Do not vectorize uniform constuctors, do not dump here. * gcc.dg/vect/bb-slp-42.c: Adjust. * gcc.dg/vect/bb-slp-40.c: Likewise. From-SVN: r278495
Richard Biener committed -
2019-11-20 Richard Biener <rguenther@suse.de> PR tree-optimization/92537 * tree-vect-slp.c (vect_analyze_slp_instance): Move CTOR vectorization validity check... (vect_slp_analyze_operations): ... here. * gfortran.dg/pr92537.f90: New testcase. From-SVN: r278494
Richard Biener committed -
In asm-flag-4.c, we need to use dg-message instead of dg-error because we have to match "sorry, unimplemented:" rather than "error:". In asm-flag-5.c, fix the dg-error syntax. 2019-11-20 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/asm-flag-4.c: Replace dg-error with dg-message. * gcc.target/arm/asm-flag-5.c: Add quotes around dg-error messages. From-SVN: r278487
Christophe Lyon committed -
* MAINTAINERS (aarch64 port): Remove my name, move to... (Write After Approval): ...Here. From-SVN: r278486
James Greenhalgh committed -
New arc-passes.def to register ARC specific passes. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (make_pass_arc_ifcvt): Declare. (make_pass_arc_predicate_delay_insns): Likewise. * config/arc/arc.c (class pass_arc_ifcvt): Reformat text, add gate method, remove clone. (class pass_arc_predicate_delay_insns): Likewise. (arc_init): Remove registering of ARC specific passes. * config/arc/t-arc (PASSES_EXTRA): Add arc-passes.def. * config/arc/arc-passes.def: New file. From-SVN: r278485
Claudiu Zissulescu committed -
PR c++/90767 * call.c (complain_about_no_candidates_for_method_call): If conv->from is not a type, pass to complain_about_bad_argument lvalue_type of conv->from. * g++.dg/diagnostic/pr90767-1.C: New test. * g++.dg/diagnostic/pr90767-2.C: New test. From-SVN: r278484
Jakub Jelinek committed -
PR middle-end/90840 * expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM and has a mode that doesn't have corresponding integral type. * gcc.c-torture/compile/pr90840.c: New test. From-SVN: r278483
Jakub Jelinek committed -
PR target/90867 * config/i386/i386-options.c (ix86_valid_target_attribute_tree): Don't clear opts->x_ix86_isa_flags{,2} here... (ix86_valid_target_attribute_inner_p): ... but here when seeing arch=. Also clear opts->x_ix86_isa_flags{,2}_explicit. * gcc.target/i386/pr90867.c: New test. From-SVN: r278482
Jakub Jelinek committed -
PR c/90898 * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove assertion. (insert_clobbers_for_var): Fix a typo in function comment. * gcc.dg/pr90898.c: New test. From-SVN: r278481
Jakub Jelinek committed -
PR middle-end/91195 * tree-ssa-phiopt.c (cond_store_replacement): Move lhs unsharing earlier. Set TREE_NO_WARNING on the rhs1 of the artificially added load. * gcc.dg/pr91195.c: New test. From-SVN: r278479
Jakub Jelinek committed -
PR target/92545 * config/avr/specs.h (LINK_SPEC) <%(link_pm_base_address)>: Remove. * config/avr/gen-avr-mmcu-specs.c (print_mcu) <*link_pm_base_address>: Don't write spec. <*link_arch>: Add --defsym=__RODATA_PM_OFFSET__= as needed. From-SVN: r278478
Georg-Johann Lay committed -
2019-11-20 Richard Biener <rguenther@suse.de> PR c/92088 c/ * c-decl.c (grokdeclarator): Prevent inlining of nested function with VLA arguments. * builtins.c (compute_objsize): Deal with VLAs. * gcc.dg/torture/pr92088-1.c: New testcase. * gcc.dg/torture/pr92088-2.c: Likewise. From-SVN: r278477
Richard Biener committed -
/cp 2019-11-20 Paolo Carlini <paolo.carlini@oracle.com> * cvt.c (ocp_convert): Use additional warning sentinel. /testsuite 2019-11-20 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/warn/multiple-sign-compare-warn-1.C: New. From-SVN: r278475
Paolo Carlini committed -
From-SVN: r278474
GCC Administrator committed -
The standard [[]] attributes currently defined in C2x are all not valid on types not being defined at the time. Use on such types results in a warning from attribs.c about attributes appertaining to types (the warning that I think is bogus in general for both C and C++, applying as it does to all [[]] attributes including gnu:: ones that are perfectly meaningful on types not being defined and work fine when __attribute__ syntax is used instead). If that warning is removed (as I intend to do in a subsequent patch), warnings may or may not result from the attribute handlers, depending on whether those particular attribute handlers consider the attributes meaningful in such a context. In C, however, the rules about where each [[]] attribute is valid are constraints, so a pedwarn, not a warning, is required. Because some handlers are shared between standard and gnu:: attributes, there can be cases that are valid for the GNU attribute variant but not for the standard one. So in general it is not correct to rely on the attribute handlers to give all required pedwarns (although in some cases, a pedwarn in the attribute handler is in appropriate way of diagnosing an invalid use); they not have the information about whether the attribute was a gnu:: one and can legitimately accept a wider range of uses for the gnu:: attributes. This patch ensures appropriate diagnostics for invalid uses of C2x standard attributes on types, and so helps pave the way for the subsequent removal of the bogus check in attribs.c, by adding a check run in the front end before calling decl_attributes; this check removes the attributes from the list after calling pedwarn to avoid subsequent duplicate warnings. Bootstrapped with no regressions for x86_64-pc-linux-gnu. gcc/c: * c-decl.c (c_warn_type_attributes): New function. (groktypename, grokdeclarator, finish_declspecs): Call c_warn_type_attributes before applying attributes to types. * c-tree.h (c_warn_type_attributes): Declare. gcc/testsuite: * gcc.dg/c2x-attr-deprecated-2.c, gcc.dg/c2x-attr-fallthrough-2.c, gcc.dg/c2x-attr-maybe_unused-2.c: Expect errors for invalid uses of standard attributes on types. Add more tests of invalid uses on types. From-SVN: r278471
Joseph Myers committed
-
- 19 Nov, 2019 12 commits
-
-
Updates cgo's gccgoPkgpathToSymbolNew() to bring it into conformance with the way that gccgo now handles package paths with embedded dots (see CL 200838). See also https://gcc.gnu.org/PR61880, a related bug. This CL is a copy of CL 207957 in the main Go repo. Updates golang/go#35623. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/207977 From-SVN: r278470
Ian Lance Taylor committed -
re PR c++/92414 (internal compiler error: tree check: expected constructor, have error_mark in cxx_eval_store_expression, at cp/constexpr.c:4009) PR c++/92414 * constexpr.c (cxx_eval_outermost_constant_expr): If DECL_INITIAL on object is erroneous, return t without trying to evaluate a constexpr dtor. * g++.dg/cpp2a/constexpr-dtor4.C: New test. From-SVN: r278468
Jakub Jelinek committed -
The C++ committee continues to discuss how best to avoid breaking existing code with the new rules for reversed operators. A recent suggestion was to base the tie-breaker on the parameter types of the candidates, which made a lot of sense to me, so this patch implements that. This patch also mentions that a candidate was reversed or rewritten when printing the list of candidates, and warns about a comparison that becomes recursive under the new rules. There is no flag for this warning; people can silence it by swapping the operands. * call.c (same_fn_or_template): Change to cand_parms_match. (joust): Adjust. (print_z_candidate): Mark rewritten/reversed candidates. (build_new_op_1): Warn about recursive call with reversed arguments. From-SVN: r278465
Jason Merrill committed -
* config/rs6000/rs6000.c (move_to_end_of_ready): New, factored out from common code. (power6_sched_reorder2): Factored out from rs6000_sched_reorder2, call new function. (power9_sched_reorder2): Call new function. (rs6000_sched_reorder2): Likewise. From-SVN: r278463
Pat Haugen committed -
From-SVN: r278461
Richard Sandiford committed -
* ipa-fnsummary.c (estimate_edge_size_and_time): Drop parameter PROB. (estimate_calls_size_and_time): Update. From-SVN: r278460
Jan Hubicka committed -
* ipa-inline.c (inlining_speedup): New function. (edge_badness): Use it. From-SVN: r278459
Jan Hubicka committed -
This patch tightens the instruction definitions to make sure that MSA branch instructions cannot be put into delay slots and have their delay slots eligible for being filled. Also, MSA *div*3 patterns use MSA branches for zero checks but are not marked as being multi instruction and thus could be put into delay slots. This patch fixes that. gcc/ChangeLog: 2019-11-19 Zoran Jovanovic <zoran.jovanovic@mips.com> Dragan Mladjenovic <dmladjenovic@wavecomp.com> * config/mips/mips-msa.md (msa_<msabr>_<msafmt_f>, msa_<msabr>_v_<msafmt_f>): Mark as not having "likely" version. * config/mips/mips.md (insn_count): The simd_div instruction with TARGET_CHECK_ZERO_DIV consists of 3 instructions. (can_delay): Exclude simd_branch. (defile_delay *): Add simd_branch instructions. They have one regular delay slot. gcc/testsuite/ChangeLog: 2019-11-19 Dragan Mladjenovic <dmladjenovic@wavecomp.com> * gcc.target/mips/msa-ds.c: New test. From-SVN: r278458
Dragan Mladjenovic committed -
To restore powerpc bootstrap. 2019-11-19 Richard Sandiford <richard.sandiford@arm.com> gcc/ Revert: 2019-11-18 Richard Sandiford <richard.sandiford@arm.com> * cse.c (cse_insn): Delete no-op register moves too. * simplify-rtx.c (comparison_to_mask): Handle unsigned comparisons. Take a second comparison to control the value for NE. (mask_to_comparison): Handle unsigned comparisons. (simplify_logical_relational_operation): Likewise. Update call to comparison_to_mask. Handle AND if !HONOR_NANs. (simplify_binary_operation_1): Call the above for AND too. gcc/testsuite/ Revert: 2019-11-18 Richard Sandiford <richard.sandiford@arm.com> * gcc.target/aarch64/sve/acle/asm/ptest_pmore.c: New test. From-SVN: r278455
Richard Sandiford committed -
PR79262 has been fixed for almost all AArch64 cpus, however the example is still vectorized in a few cases, resulting in lower performance. Adjust the vector cost slightly so that so that -mcpu=cortex-a53 now has identical performance as -mcpu=cortex-a57 on libquantum. gcc/ PR target/79262 * config/aarch64/aarch64.c (generic_vector_cost): Adjust vec_to_scalar_cost. From-SVN: r278452
Wilco Dijkstra committed -
PR c++/89913 gcc/cp/ * pt.c (get_underlying_template): Exit loop if the original type of the alias is null. gcc/testsuite/ * g++.dg/cpp2a/pr89913.C: New test. From-SVN: r278451
Andrew Sutton committed -
PR c++/92078 gcc/cp/ * pt.c (maybe_new_partial_specialization): Apply access to newly created partial specializations. Update comment style. gcc/testsuite/ * g++.dg/cpp2a/concepts-pr92078.C: New. * g++.dg/cpp2a/concepts-requires18.C: Update diagnostics. From-SVN: r278450
Andrew Sutton committed
-