- 27 Apr, 2019 2 commits
-
-
This improves optimization of code storing constants to memory. Given this testcase: void sub1 (int *a, long long *b) { *a = 1; *b = 1; } an unpatched rv64 compiler emits two li instructions, one for an SImode pseudo and one for a DImode pseudo. With the patch, we get a single DImode li insn. gcc/ * config/riscv/riscv-protos.h (riscv_move_integer): Add machine_mode parameter. * config/riscv/riscv.c (riscv_move_integer): New parameter orig_mode. Pass orig_mode to riscv_build_integer. (riscv_split_integer): Pass mode to riscv_move_integer. (riscv_legitimize_const_move): Likewise. (riscv_legitimize_move): For MEM dest and CONST_INT src case, new local promoted_mode. Replace force_reg call with code to load constant into promoted reg and then subreg it for the store. * config/riscv/riscv.md (low<mode>+1): Pass <GPR:MODE>mode to riscv_move_integer. gcc/testsuite/ * gcc.target/riscv/load-immediate.c: New. From-SVN: r270621
Jim Wilson committed -
From-SVN: r270620
GCC Administrator committed
-
- 26 Apr, 2019 17 commits
-
-
AIX doesn't allow to mmap an address range which is already mmap. Therefore, once the region has been allocated, it must munmap before being able to play with it. The corresponding Go Toolchain patch is CL 174059. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/174138 From-SVN: r270615
Ian Lance Taylor committed -
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. From-SVN: r270613
H.J. Lu committed -
gcc/cp: PR c++/90243 - orphaned note in uninstantiated constexpr function * decl.c (check_for_uninitialized_const_var): Suppress notes if no error was shown. gcc/testsuite: PR c++/90243 * g++.dg/diagnostic/pr90243.C: New test. From-SVN: r270610
Jonathan Wakely committed -
* include/experimental/bits/fs_path.h (path::_S_convert_loc<_InputIterator>): Create const std::string to avoid redundant call to _S_convert_loc with non-const pointers. From-SVN: r270608
Jonathan Wakely committed -
* gdbhooks.py: Fix UnicodeDecodeErrors when printing trees with corrupt codes. From-SVN: r270607
Eugene Sharygin committed -
PR debug/90197 * c-tree.h (c_finish_loop): Add 2 further location_t arguments. * c-parser.c (c_parser_while_statement): Adjust c_finish_loop caller. (c_parser_do_statement): Likewise. (c_parser_for_statement): Likewise. Formatting fixes. * c-typeck.c (c_finish_loop): Add COND_LOCUS and INCR_LOCUS arguments, emit DEBUG_BEGIN_STMTs if needed. From-SVN: r270606
Jakub Jelinek committed -
* libiberty.h (vasprintf): Don't declare if HAVE_DECL_VASPRINTF is not defined. From-SVN: r270605
Michael Forney committed -
The pmr::string typedef isn't available for the old COW string, so some tests that use it were failing. * testsuite/20_util/variant/run.cc: Use a new Hashable type to test hashing, because pmr::string depends on _GLIBCXX_USE_CXX11_ABI==1. * testsuite/21_strings/basic_string/hash/hash.cc [!_GLIBCXX_USE_CXX11_ABI]: Don't test pmr strings. * testsuite/21_strings/basic_string/hash/hash_char8_t.cc [!_GLIBCXX_USE_CXX11_ABI]: Likewise. From-SVN: r270604
Jonathan Wakely committed -
/cp 2019-04-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/90173 * decl.c (grokdeclarator): Set type to error_mark_node upon error about template placeholder type non followed by a simple declarator-id. /testsuite 2019-04-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/90173 * g++.dg/cpp1z/class-deduction66.C: New. From-SVN: r270603
Paolo Carlini committed -
Jakub noted in https://gcc.gnu.org/ml/libstdc++/2019-04/msg00140.html that an unwanted std::wstring::_M_replace_dispatch symbol has started to be exported from the Fedora shared library. This symbol is triggered by the instantiation of std::wstring::assign(const char*, const char*) from std::__str_codecvt_in which is called from path::_S_convert_loc. The branch that triggers that instantiation can't actually happen in that case, because codecvt facets will only return noconv when the input and output types are the same. Guarding the assign call with an if-constexpr check that the types are the same avoids instantiating template specializations that will never actually be needed. * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches wstring::_M_replace_dispatch with more specific patterns. * include/bits/fs_path.h (path::_S_convert_loc<_InputIterator>): Create const std::string to avoid redundant call to _S_convert_loc with non-const pointers. * include/bits/locale_conv.h (__do_str_codecvt): Use if-constexpr to avoid unnecessary basic_string::assign instantiations. From-SVN: r270602
Jonathan Wakely committed -
The 20_util/scoped_allocator/69293_neg.cc test was failing in C++2a mode because the expected static_assert text wasn't matched. The code is still ill-formed in C++2a, but uses the new __uses_alloc_args function and so fails a different static_assert. This patch adds the same string to the new static_assert, so the test passes. Now that G++ allows concepts to be declared without 'bool' we can use the correct C++2a syntax for the _Std_pair concept used to constrain the uses-allocator construction utilities. Also add a new test to verify that pmr::polymorphic_allocator correctly performs recursive uses-allocator construction for nested pairs in C++2a. * include/std/memory (__uses_alloc_args): Add string-literal to static_assert, to match the one in __uses_alloc. [__cpp_concepts] (_Std_pair): Use C++2a syntax for concept. * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check for recursive uses-allocator construction of nested pairs. * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add comment. From-SVN: r270600
Jonathan Wakely committed -
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. From-SVN: r270598
Jakub Jelinek committed -
/cp 2018-04-26 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Fix value assigned to typespec_loc, use min_location. /testsuite 2018-04-26 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/trailing1.C: New. From-SVN: r270597
Paolo Carlini committed -
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. From-SVN: r270595
Jakub Jelinek committed -
The handling of -Wstrict-aliasing=1 applied COMPLETE_TYPE_P to the pointer type rather than the pointer target, so missed the warnings for "struct incomplete" in the testcase. I couldn't find any existing C tests for -Wstrict-aliasing=1, so I added a few extra tests besides the ones fixed by the patch. I'm sure there's lots more we could test -- this is just supposed to be better than the status quo (i.e. nothing). 2019-04-26 Richard Sandiford <richard.sandiford@arm.com> gcc/c-family/ * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to the pointer target rather than the pointer itself. gcc/testsuite/ * gcc.dg/alias-16.c: New test. From-SVN: r270594
Richard Sandiford committed -
2019-04-26 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree.h (TYPE_VECTOR_SUBPARTS, SET_TYPE_VECTOR_SUBPARTS): Add commentary about the encoding of precision. From-SVN: r270593
Richard Sandiford committed -
From-SVN: r270592
GCC Administrator committed
-
- 25 Apr, 2019 18 commits
-
-
PR libstdc++/90239 * doc/xml/manual/status_cxx2020.xml: Amend P0591R4 status. * include/std/scoped_allocator [__cplusplus > 201703L] (scoped_allocator_adaptor::construct): Define in terms of uses_allocator_construction_args, as per P0591R4. * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: New test. * testsuite/util/testsuite_allocator.h: Remove name of unused parameter. From-SVN: r270588
Jonathan Wakely committed -
2019-04-25 Andreas Tobler <andreast@gcc.gnu.org> * config/i386/freebsd64.h: Add bits for 32-bit multilib support. * config/i386/t-freebsd64: New file. * config.gcc: Add the t-freebsd64 for multilib support. From-SVN: r270586
Andreas Tobler committed -
* doc/extend.texi (vector_size): Add missing comma after @xref. From-SVN: r270585
Uros Bizjak committed -
From-SVN: r270581
Jakub Jelinek committed -
PR middle-end/89765 * gimplify.c (gimplify_expr): Avoid turning a lvalue VIEW_CONVERT_EXPR into one operating on an rvalue. From-SVN: r270579
Richard Biener committed -
Before AVX512F, processors with the newer ISAs also support the older ISAs, i.e., AVX2 processors also support AVX and SSE4, SSE4 processors also support SSSE3, ... After AVX512F, an AVX512XX processor may not support AVX512YY. It means AVX512XX features, except for AVX512F, can't be used to decide priority in target_clones. This patch updates error message for ISAs with P_ZERO priority. It also merges _feature_list into _isa_names_table and marks ISAs, which have unknown priority, with P_ZERO so that we only need to update one place to add a new ISA feature. gcc/ 2019-04-25 H.J. Lu <hongjiu.lu@intel.com> PR target/89929 * config/i386/i386.c (feature_priority): Moved to file scope. (processor_features): Likewise. (processor_model): Likewise. (_arch_names_table): Likewise. (arch_names_table): Likewise. (_feature_list): Removed. (feature_list): Likewise. (_isa_names_table): Moved to file scope. Add priority. (isa_names_table): Likewise. (get_builtin_code_for_version): Replace feature_list with isa_names_table. Update error message for P_ZERO priority. gcc/testsuite/ 2019-04-25 Martin Liska <mliska@suse.cz> H.J. Lu <hongjiu.lu@intel.com> PR target/89929 * g++.target/i386/mv28.C: New test. * gcc.target/i386/mvc14.c: Likewise. * g++.target/i386/pr57362.C: Updated. From-SVN: r270578
H.J. Lu committed -
libphobos/ChangeLog: 2019-04-25 Iain Buclaw <ibuclaw@gdcproject.org> PR d/90250 * libdruntime/gcc/sections/elf_shared.d (initTLSRanges): Populate _tlsRanges in every startup thread. * testsuite/libphobos.thread/thread.exp: Load libphobos-dg.exp. * testsuite/libphobos.thread/tlsgc_sections.d: New test. From-SVN: r270576
Iain Buclaw committed -
2019-04-25 Richard Biener <rguenther@suse.de> * tree-pass.h (make_pass_phi_only_cprop): Remove. * timevar.def (TV_TREE_PHI_CPROP): Likewise. From-SVN: r270575
Richard Biener committed -
PR tree-optimization/90037 * Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c * passes.def: Replace all instance of phi-only cprop with the lattice propagator. Move propagation pass from after erroneous path isolation to before erroneous path isolation. * tree-ssa-phionlycprop.c: Remove. * gcc.dg/tree-ssa/20030710-1.c: Update dump file to scan. * gcc.dg/isolate-2.c: Likewise. * gcc.dg/isolate-4.c: Likewise. * gcc.dg/pr19431.c: Accept either ordering of PHI args. * gcc.dg/pr90037.c: New test. From-SVN: r270574
Jeff Law committed -
* m4/druntime/cpu.m4 (DRUNTIME_CPU_SOURCES): Quote brackets. * configure: Regenerate. From-SVN: r270573
Rainer Orth committed -
PR c++/44648 * g++.dg/warn/Wunused-var-35.C: Remove xfail. From-SVN: r270572
Jakub Jelinek committed -
From-SVN: r270571
Johannes Pfau committed -
re PR tree-optimization/90213 (UBSAN: signed integer overflow: -5621332293356458048 * 8 cannot be represented in type 'long int') 2019-04-24 Richard Biener <rguenther@suse.de> PR middle-end/90213 * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication by size and BITS_PER_UNIT on poly-wide-ints. From-SVN: r270570
Richard Biener committed -
2019-04-25 Richard Biener <rguenther@suse.de> PR middle-end/90194 * match.pd: Add pattern to simplify view-conversion of an empty constructor. * g++.dg/torture/pr90194.C: New testcase. From-SVN: r270569
Richard Biener committed -
* libdruntime/Makefile.am: Add emutls and gthread files. * libdruntime/Makefile.in: Regenerate. * libdruntime/gcc/emutls.d: New file. Implement GC-compatible emutls. * libdruntime/gcc/gthread.d: New file. * libdruntime/gcc/sections/elf_shared.d: Integrate emutls support. * testsuite/libphobos.allocations/tls_gc_integration.d: New test for TLS. From-SVN: r270568
Johannes Pfau committed -
2019-04-25 Iain Buclaw <ibuclaw@gdcproject.org> * testsuite/Makefile.am: Set PWD_COMMAND. * testsuite/Makefile.in: Regenerate. From-SVN: r270566
Iain Buclaw committed -
Fix a problem with Function_declaration::import_function relating to how no-name or "sink" parameters are handled. In Gogo::start_function (for the non-inline case) when parameter bindings are being added, parameters with empty/sink names are renamed to synthesized "r.%d" / "p.%d" names so as to avoid collisions. This same handling needs to be present when creating the bindings for an inline function that's being instantiated after being read from export data. Fixes golang/go#31637. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/173538 From-SVN: r270564
Ian Lance Taylor committed -
From-SVN: r270563
GCC Administrator committed
-
- 24 Apr, 2019 3 commits
-
-
The monolithic core/threadasm.S source has been removed, and split into multiple parts, one for each intended target CPU/OS. Added .type and .size directives for all asm implementations of fiber_switchContent and callWithStackShell where they were missing. libphobos/ChangeLog: 2019-04-25 Iain Buclaw <ibuclaw@gdcproject.org> PR d/90086 * m4/druntime/cpu.m4 (DRUNTIME_CPU_SOURCES): New macro. * configure.ac: Use it. * configure: Regenerate. * libdruntime/Makefile.am: Add new config sources to DRUNTIME_SOURCES_CONFIGURED. * libdruntime/Makefile.in: Regenerate. * libdruntime/config/aarch64/switchcontext.S: New file. * libdruntime/config/arm/switchcontext.S: New file. * libdruntime/config/common/threadasm.S: New file. * libdruntime/config/mingw/switchcontext.S: New file. * libdruntime/config/mips/switchcontext.S: New file. * libdruntime/config/powerpc/switchcontext.S: New file. * libdruntime/config/powerpc64/callwithstack.S: New file. * libdruntime/config/x86/switchcontext.S: New file. * libdruntime/core/threadasm.S: Remove. From-SVN: r270560
Iain Buclaw committed -
* doc/xml/manual/status_cxx2017.xml: Document P0024R2 status. * doc/html/*: Regenerate. From-SVN: r270559
Jonathan Wakely committed -
This change revealed two testsuite bugs where some string comparisons only compiled by converting the strings to filesystem::path objects. * include/bits/fs_path.h (operator<, operator<=, operator>) (operator>=, operator==, operator!=): Make hidden friends, as per LWG 3065. * testsuite/27_io/filesystem/path/native/string-char8_t.cc: Fix string type in test. * testsuite/27_io/filesystem/path/native/string.cc: Likewise. From-SVN: r270558
Jonathan Wakely committed
-