- 19 Jun, 2019 6 commits
-
-
2019-06-19 Martin Liska <mliska@suse.cz> * bench-stringop: New file. From-SVN: r272469
Martin Liska committed -
For string concatenation, string to/from byte or rune slice conversion, and int to string conversion, if the result does not escape, we can allocate a small (32-element, or 4-byte for int to string) buffer on stack, and pass it to the runtime function. If the result fits in the buffer, it doesn't need to do a heap allocation. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/182538 From-SVN: r272468
Ian Lance Taylor committed -
2019-06-19 Jim MacArthur <jim.macarthur@codethink.co.uk> Mark Eggleston <mark.eggleston@codethink.com> PR fortran/89103 * gfortran.texi: Add -fdec-blank-format-item * invoke.texi: Add option to list of options. * invoke.texi: Add to section on Commas in FORMAT specifications. * io.c (check_format): At FMT_RPAREN goto finished if -fdec-blank-format-item otherwise set error string. * lang.opt: Add new option. * options.c (set_dec_flags): Add SET_BITFLAG for flag_dec_format_defaults. * gfortran.dg/dec_format_empty_item_1.f: New test. * gfortran.dg/dec_format_empty_item_2.f: New test. * gfortran.dg/dec_format_empty_item_3.f: New test. Co-Authored-By: Mark Eggleston <mark.eggleston@codethink.com> From-SVN: r272467
Jim MacArthur committed -
gcc/testsuite/ChangeLog: 2019-06-19 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> * gcc.target/aarch64/pr88834.c: Move from here... * gcc.target/aarch64/sve/pr88834.c: ...to here. From-SVN: r272466
Kugan Vivekanandarajah committed -
gcc/ChangeLog: 2019-06-19 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> * tree-ssa-address.c (preferred_mem_scale_factor): Handle when mem_mode is BLKmode. From-SVN: r272465
Kugan Vivekanandarajah committed -
From-SVN: r272464
GCC Administrator committed
-
- 18 Jun, 2019 34 commits
-
-
If a string([]byte) conversion is used immediately in a string concatenation, we don't need to copy the backing store of the byte slice, as the runtime function doesn't hold any reference to it. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/182437 * go.dg/concatstring.go: New test. From-SVN: r272460
Cherry Zhang committed -
These new (non-parallel) algorithms were added to C++17 along with the parallel algorithms, but were missing from libstdc++. * include/bits/algorithmfwd.h: Change title of doc group. * include/bits/stl_algo.h (for_each_n): Add new C++17 algorithm from P0024R2. * include/bits/stl_numeric.h: Define doc group and add algos to it. * include/std/numeric (__is_random_access_iter): New internal trait. (reduce, transform_reduce, exclusive_scan, inclusive_scan) (transform_exclusive_scan, transform_inclusive_scan): Likewise. * testsuite/25_algorithms/for_each/for_each_n.cc: New test. * testsuite/26_numerics/exclusive_scan/1.cc: New test. * testsuite/26_numerics/inclusive_scan/1.cc: New test. * testsuite/26_numerics/reduce/1.cc: New test. * testsuite/26_numerics/transform_exclusive_scan/1.cc: New test. * testsuite/26_numerics/transform_inclusive_scan/1.cc: New test. * testsuite/26_numerics/transform_reduce/1.cc: New test. * testsuite/util/testsuite_iterators.h (test_container::size()): New member function. From-SVN: r272459
Jonathan Wakely committed -
Stack pointer adjustment code in prologue missed a case of no callee-saved registers and a stack frame size bigger than 128 bytes. Handle that case. This fixes the following gcc tests with call0 ABI: gcc.c-torture/execute/stdarg-2.c gcc.dg/torture/pr55882.c gcc.dg/torture/pr57569.c 2019-06-18 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack pointer adjustment for the case of no callee-saved registers and stack frame bigger than 128 bytes. From-SVN: r272455
Max Filippov committed -
gcc/fortran/ PR fortran/90921 * trans-decl.c (finish_oacc_declare): Reset module_oacc_clauses before scanning each namespace. gcc/testsuite/ PR fortran/90921 * gfortran.dg/goacc/declare-3.f95: Update. From-SVN: r272454
Julian Brown committed -
[PR85221] Set 'omp declare target', 'omp declare target link' attributes for Fortran OpenACC 'declare'd variables gcc/fortran/ PR fortran/85221 * trans-decl.c (add_attributes_to_decl): Handle OpenACC 'declare' directive. gcc/testsuite/ PR fortran/85221 * gfortran.dg/goacc/declare-3.f95: New file. From-SVN: r272453
Thomas Schwinge committed -
[PR90859] Document status quo for "[OMP] Mappings for VLA different depending on 'target { c && { ! lp64 } }'" gcc/testsuite/ PR middle-end/90859 * c-c++-common/goacc/firstprivate-mappings-1.c: Update. From-SVN: r272452
Thomas Schwinge committed -
gcc/testsuite/ * c-c++-common/goacc/firstprivate-mappings-1.c: New file. * g++.dg/goacc/firstprivate-mappings-1.C: Likewise. libgomp/ * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. From-SVN: r272451
Thomas Schwinge committed -
..., which got garbled in r230275. include/ * gomp-constants.h (enum gomp_map_kind): Fix description of 'GOMP_MAP_FIRSTPRIVATE'. From-SVN: r272450
Thomas Schwinge committed -
libgomp/ * testsuite/libgomp.fortran/allocatable3.f90: Add missing results check. From-SVN: r272449
Thomas Schwinge committed -
libgomp/ * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New file. From-SVN: r272448
Cesar Philippidis committed -
Test what OpenMP 5.0 has to say on this topic. And, do the same for OpenACC. libgomp/ PR fortran/90743 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping case. * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. From-SVN: r272447
Thomas Schwinge committed -
gcc/testsuite/ PR testsuite/90861 * c-c++-common/goacc/declare-pr90861.c: New file. libgomp/ PR testsuite/90861 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. From-SVN: r272446
Thomas Schwinge committed -
gcc/testsuite/ PR testsuite/90868 * c-c++-common/goacc/declare-1.c: Update. * c-c++-common/goacc/declare-2.c: Likewise. From-SVN: r272445
Thomas Schwinge committed -
gcc/ PR middle-end/90862 * omp-low.c (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. gcc/testsuite/ PR middle-end/90862 * c-c++-common/goacc/declare-1.c: Update. * c-c++-common/goacc/declare-2.c: Likewise. libgomp/ PR middle-end/90862 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. From-SVN: r272444
Thomas Schwinge committed -
re PR c++/84698 (ICE when using noexcept(noexcept()) declaration on global friend function of template class) PR c++/84698 * g++.dg/cpp0x/noexcept42.C: New test. From-SVN: r272443
Marek Polacek committed -
PR c++/71548 * g++.dg/cpp0x/variadic177.C: New test. From-SVN: r272438
Marek Polacek committed -
* config/i386/i386.md (@cmp<mode>_1): Rename from cmp<mode>_1. (@add<mode>3_carry): Rename from add<mode>3_carry. (@sub<mode>3_carry_ccc): Rename from sub<mode>3_carry_ccc. (@sub<mode>3_carry_ccgz): Rename form sub<mode>3_carry_ccgz. (@copysign<mode>3_const): Rename from copysign<mode>3_const. (@copysign<mode>3_var): Rename from copysign<mode>3_var. (@xorsign<mode>3_1): Rename from xorsign<mode>3_1. (@x86_shift<mode>_adj_1): Rename from x86_shift<mode>_adj_1. (@x86_shift<mode>_adj_2): Rename from x86_shift<mode>_adj_2. (@x86_shift<mode>_adj_3): Rename from x86_shift<mode>_adj_3. (cmpstrnsi): Use gen_cmp_1. (lwp_slwpcb): Use gen_lwp_slwpcb_1. (@lwp_slwpcb<mode>_1): Rename from lwp_slwpcb<mode>_1. (@umonitor_<mode>): Rename from umonitor_<mode>. * config/i386/i386-expand.c (ix86_expand_copysign): Use gen_copysign3_const and gen_copysign3_var. (ix86_expand_xorsign): Use gen_xorsign3_1. (ix86_expand_branch): Use gen_sub3_carry_ccc, gen_sub3_carry_ccgz and gen_cmp1. (ix86_expand_int_addcc): Use gen_sub3_carry and gen_add3_carry. (ix86_split_ashl): Use gen_x86_shift_adj_1 and gen_x86_shift_adj_2. (ix86_split_ashr): Use gen_x86_shift_adj_1 and gen_x86_shift_adj_3. (ix86_split_lshr): Ditto. (ix86_expand_builtin) <case IX86_BUILTIN_UMONITOR>: Use gen_umonitor. From-SVN: r272432
Uros Bizjak committed -
From-SVN: r272431
Jason Merrill committed -
* constexpr.c (eval_and_check_array_index): Split out from... (cxx_eval_array_reference): ...here. (cxx_eval_store_expression): Use it here, too. (diag_array_subscript): Take location. Strip location wrapper. From-SVN: r272430
Jason Merrill committed -
* constexpr.c (cxx_eval_constant_expression): Handle conversion from and then to the same type. From-SVN: r272429
Jason Merrill committed -
* tree.c (build_constructor): Add MEM_STAT_DECL. gcc/cp/ * constexpr.c (unshare_constructor): Add MEM_STAT_DECL. From-SVN: r272428
Jason Merrill committed -
The SVE ACLE patches need to introduce a new CC_NZC mode for the conditions that can be tested after a PTRUE. In particular, LT needs to map to "mi"/"first" and GE to "pl"/"nfrst", instead of the normal CC mapping. Another advantage of using a separate mode is that we can print the SVE names of the conditions, which makes the output a bit easier to read. It therefore seems like an independent improvement that can go in now. The patch also avoids using (compare X (const_int 0)), because that gets folded away when used with LTU and GEU ("cc"/"last" and "cs"/"nlast"). Just using an unspec should be OK. The full set of conditions can't be tested without other SVE ACLE patches. 2019-06-18 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-modes.def (CC_NZC): New CC_MODE. * config/aarch64/aarch64-sve.md (*<optab><mode>3_cc) (ptest_ptrue<mode>, while_ult<GPI:mode><PRED_ALL:mode>) (*while_ult<GPI:mode><PRED_ALL:mode>_cc, *cmp<cmp_op><mode>) (*cmp<cmp_op><mode>_ptest, *cmp<cmp_op><mode>_cc) (*pred_cmp<cmp_op><mode>_combine, *pred_cmp<cmp_op><mode>) (vec_cmp<mode><vpred>, vec_cmpu<mode><vpred>, cbranch<mode>4): Use CC_NZC instead of CC. * config/aarch64/aarch64.md (condjump): Print a '.' in SVE conditions. * config/aarch64/aarch64.c (aarch64_sve_condition_codes): New variable. (aarch64_print_operand): Handle E_CC_NZCmode. (aarch64_emit_sve_ptrue_op_cc): Use gen_set_clobber_cc_nzc instead of gen_set_clobber_cc. gcc/testsuite/ * gcc.target/aarch64/sve/struct_vect_18.c: Allow branches to contain dots. * gcc.target/aarch64/sve/struct_vect_19.c: Likewise. * gcc.target/aarch64/sve/struct_vect_20.c: Likewise. * gcc.target/aarch64/sve/struct_vect_21.c: Likewise. * gcc.target/aarch64/sve/struct_vect_22.c: Likewise. * gcc.target/aarch64/sve/struct_vect_23.c: Likewise. * gcc.target/aarch64/sve/unroll-1.c: Likewise. * gcc.target/aarch64/sve/while_1.c: Check for b.any. From-SVN: r272427
Richard Sandiford committed -
2019-06-18 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-sve.md: Tabify file. From-SVN: r272426
Richard Sandiford committed -
Following on from the previous ptrue patch. 2019-06-18 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-protos.h (aarch64_pfalse_reg): Declare. * config/aarch64/aarch64.c (aarch64_pfalse_reg): New function. * config/aarch64/aarch64-sve.md: Use it. From-SVN: r272425
Richard Sandiford committed -
This is the first step to canonicalising predicate constants so that they can be reused between modes. 2019-06-18 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): Declare. * config/aarch64/aarch64.c (aarch64_ptrue_reg): New functions. (aarch64_expand_sve_widened_duplicate, aarch64_expand_sve_mem_move) (aarch64_maybe_expand_sve_subreg_move, aarch64_evpc_rev_local) (aarch64_expand_sve_vec_cmp_int): Use it. (aarch64_expand_sve_vec_cmp_float): Likewise. * config/aarch64/aarch64-sve.md: Likewise throughout. From-SVN: r272424
Richard Sandiford committed -
This patch makes the binary IFN_COND patterns use the same approach as the ternary patterns, with one pattern handling the cases in which the "else" value isn't tied to one of the other inputs. 2019-06-18 Richard Sandiford <richard.sandiford@arm.com> Kugan Vivekanandarajah <kuganv@linaro.org> gcc/ * config/aarch64/aarch64-sve.md (*cond_<optab><mode>_0): Delete. (*cond_<optab><mode>_z): Fold into... (*cond_<optab><mode>_any): ...here. Also handle cases in which operand 4 can be tied to operand 0 (either inherently or via RA). From-SVN: r272423
Richard Sandiford committed -
* gcc.target/i386/pr81563.c (dg-final): Check that no registers are restored from %esp. From-SVN: r272422
Uros Bizjak committed -
2019-06-18 Richard Biener <rguenther@suse.de> PR debug/90900 * cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL as if optimized away. * gcc.dg/gomp/pr90900.c: New testcase. From-SVN: r272421
Richard Biener committed -
gcc/testsuite/ChangeLog: * gcc.dg/pr90866-2.c: Remove a pointless declaration to avoid compilation errors on arm-none-eabi. From-SVN: r272418
Martin Sebor committed -
PR ada/80590 * sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation during normal processing. From-SVN: r272417
Arnaud Charlet committed -
* include/c_global/cstddef (std::byte): Perform arithmetic operations in unsigned int to avoid promotion (LWG 2950). From-SVN: r272415
Jonathan Wakely committed -
Move the ifunc symbol tests into a separate file with dg-require-ifunc. And added a base pcs ifunc symbol to the test for completeness. gcc/testsuite/ChangeLog: * gcc.target/aarch64/pcs_attribute-2.c: Remove ifunc usage. * gcc.target/aarch64/pcs_attribute-3.c: New test. From-SVN: r272414
Szabolcs Nagy committed -
Parametrize some define_insn to simplify code in define_expands generating those insns. Build and reg-tested on x86_64 with nvptx accelerator. 2019-06-18 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx-protos.h (gen_set_softstack_insn): Remove. * config/nvptx/nvptx.c (gen_set_softstack_insn): Remove. * config/nvptx/nvptx.md (define_insn "set_softstack_<mode>"): Rename to ... (define_insn "@set_softstack_<mode>"): ... this. (define_insn "omp_simt_enter_<mode>"): Rename to ... (define_insn "@omp_simt_enter_<mode>"): ... this. (define_insn "omp_simt_exit_<mode>"): Rename to ... (define_insn "@omp_simt_exit_<mode>"): ... this. From-SVN: r272413
Tom de Vries committed -
Atm we see: ... libgcc/config/nvptx/crt0.c:36:1: warning: no previous prototype for \ ‘__main’ [-Wmissing-prototypes] ... Fix this by adding the prototype. Build and reg-tested on nvptx. Build and reg-tested on x86_64 with nvptx accelerator. 2019-06-18 Tom de Vries <tdevries@suse.de> * config/nvptx/crt0.c (__main): Declare. From-SVN: r272412
Tom de Vries committed
-