v6 of analyzer patch kit

2020-01-09 Thread David Malcolm
On Wed, 2020-01-08 at 04:02 -0500, David Malcolm wrote: > Here's an updated version of the analyzer patch kit. I've rebased (to r280067) and applied various fixes to the kit; I've pushed a v6 of the kit to the dmalcolm/analyzer branch of the git mirror (along with various followups): https://gcc.g

[PATCH] Add ordered_hash_map (v6)

2020-01-09 Thread David Malcolm
On Thu, 2020-01-09 at 11:56 +, Jonathan Wakely wrote: > On 08/01/20 18:47 -0500, David Malcolm wrote: > > On Wed, 2019-12-04 at 10:59 -0700, Martin Sebor wrote: > > > On 11/15/19 6:23 PM, David Malcolm wrote: > > > > This patch adds an ordered_hash_map template, which is similar > > > > to > >

[PATCH] testsuite: add dg-enable-nn-line-numbers (v6)

2020-01-09 Thread David Malcolm
On Wed, 2020-01-08 at 17:07 -0500, David Malcolm wrote: [...] > Here's an alterative patch to the above that replaces the > "-fdiagnostics-nn-line-numbers" option in earlier versions of the > analyzer patch kit, by doing it at the DejaGnu level instead. [...] > I'm testing this now (but it seems t

Re: [PATCH 43/49] analyzer: new file: exploded-graph.h

2020-01-09 Thread David Malcolm
On Wed, 2019-12-11 at 13:04 -0700, Jeff Law wrote: > On Fri, 2019-11-15 at 20:23 -0500, David Malcolm wrote: > > This patch adds exploded_graph and related classes, for managing > > exploring paths through the user's code as a directed graph > > of pairs. > > > > gcc/ChangeLog: > > * analyzer

Re: [PATCH 33/49] analyzer: new files: sm.{cc|h}

2020-01-09 Thread David Malcolm
On Wed, 2019-12-11 at 12:23 -0700, Jeff Law wrote: > On Fri, 2019-11-15 at 20:23 -0500, David Malcolm wrote: > > This patch adds a "state_machine" base class for describing > > API checkers in terms of state machine transitions. Followup > > patches use this to add specific API checkers. > > > >

[PATCH] analyzer: fix ICE on METHOD_TYPE (PR 93212)

2020-01-09 Thread David Malcolm
PR analyzer/93212 reports an ICE when attempting to use -fanalyzer on a C++ source file. That isn't supported yet, but the fix is trivial (handling METHOD_TYPE as well as FUNCTION_TYPE). Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to the dmalcolm/analyzer branch on the G

Re: [PATCH 2/3] Don't allow mixed component and non-component accesses for OpenACC/Fortran

2020-01-09 Thread Julian Brown
On Tue, 7 Jan 2020 11:21:38 +0100 Tobias Burnus wrote: > Hi Julian, > > please hold back the commit. > > Actually, it does not seem to work if one modifies the test > case a bit. The following code compiles – but I think it > should not: > > type one >integer i, j > end type > type two >

[PATCH] Fix component mappings with derived types for OpenACC

2020-01-09 Thread Julian Brown
Hi, This patch fixes a bug with mapping Fortran components (i.e. with the manual deep-copy support) which themselves have derived types. I've also added a couple of new tests to make sure such mappings are lowered correctly, and to check for the case that Tobias found in the message: https://gc

[PATCH] V12 patch #14 of 14, Add tests for generating prefixed instructions when using vec_extract with large offsets with -mcpu=future

2020-01-09 Thread Michael Meissner
While this patch is similar in spirit to V11 #15, I lost that patch, and I re-implemented the check. Can I check this test into the trunk? 2020-01-09 Michael Meissner * gcc.target/powerpc/vec-extract-large-si.c: New test for vec_extract from a vector unsigned int in memory wit

[PATCH] V12 patch #13 of 14, Add tests for vec_extract with PC-relative addresses

2020-01-09 Thread Michael Meissner
This patch is the same as: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01504.html This patch adds some tests to validate the work in patches V12 #1-4 generate the correct code with vec_extract is used with a vector with a PC-relative address and -mcpu=future is used. Can I check this into the t

[PATCH] V12 patch #12 of 14, Add test for -fstack-protect-strong with large stack sizes and -mcpu=future

2020-01-09 Thread Michael Meissner
This patch is the same as: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01503.html This patch adds a new test to test that -fstack-protect-strong generates the correct code when a large stack is used and the compiler option -mcpu=future is also used. Can I check this into the trunk? This is a b

[PATCH] V12 patch #11 of 14, Add tests for using PC-relative instructions with -mcpu=future

2020-01-09 Thread Michael Meissner
This patch is the same as: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01501.html This patch adds a set of tests for each type to verify that the appropriate PC-relative instructions are generated when -mcpu=future is used. Can I check this patch into the trunk? 2020-01-09 Michael Meissner

[PATCH] V12 patch #10 of 14, Add tests for generating prefixed load/store instructions with large numeric offsets

2020-01-09 Thread Michael Meissner
This patch is the same as: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01500.html This patch adds one test per type validating that we generate the appropriate prefixed instructions to load/store the type when the offset if large. Can I check this into the trunk? 2020-01-09 Michael Meissner

[PATCH] V12 patch #9 of 14, Add test to validate we don't generate an illegal prefixed instruction

2020-01-09 Thread Michael Meissner
This patch is the same as: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01499.html It adds a new test to make sure if we are using a prefixed load or store instruction, the compiler does not try to use a load with update or store with update version of the isntruction, since there are no prefixed

[PATCH] V12 patch #8 of 14, Add test to verify prefixed instruction is generated for -mcpu=future for DS/DS illegal offsets

2020-01-09 Thread Michael Meissner
This patch is the same as: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01497.html It adds a test to validate that the compiler will now generate a prefixed load or store instead of loading up an offset that would be illegal for DS/DQ-FORM instructions. Can I check this into the trunk? 2020-01-

[PATCH] V12 patch #7 of 14, Add PADDI/PLI tests

2020-01-09 Thread Michael Meissner
This patch adds new tests for the compiler generating PLI or PADDI with large constants when -mcpu=future is used. It renames the files as you requested several patch generations ago so the -fident option doesn't give a false positive result. Can I check this patch into the trunk? 2020-01-09 Mi

[PATCH] V12 patch #6 of 14, Add -mcpu=future target-supports options

2020-01-09 Thread Michael Meissner
This patch is the same as V11, #7: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01495.html This patch adds the necessary options to target-supports.exp to enable the specific target supports for -mcpu=future. It contains changes that you asked for some time ago. Can I check this into the trunk?

[PATCH] V12 patch #5 of 14, Make -mpcrel default for -mcpu=future on little endian Linux 64-bit systems

2020-01-09 Thread Michael Meissner
This patch is the same as patch V11 #6: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01494.html Assuming patches 1-4 are applied, it fixes all of the known codegen bugs with the -mcpu=future support, and so it is time to make -mpcrel default on the one system that will support PC-relative address

[PATCH] V12 patch #4 of 14, Optimize adjusting PC-relative vector addresses

2020-01-09 Thread Michael Meissner
This patch folds a PC-relative vector address that is adjusted with a constant offset, to fold the constant into the PC-relative address. I moved this code to be a separate function to make it clearer what the steps were. With patch V12 #3, address_to_insn_form is now used to validate the address

Re: [PATCH] rs6000: Fix PR93136, gcc.dg/vmx/ops.c and several other test break after r279772

2020-01-09 Thread Peter Bergner
On 1/9/20 4:51 PM, Segher Boessenkool wrote: > On Thu, Jan 09, 2020 at 01:44:59PM -0600, Peter Bergner wrote: >> The other test cases just need a slight adjustment to some of their >> counts. > > What were the changes? Or, I'll just trust you looked at it and it is > okay :-) I did look. Most o

[PATCH] V12 patch #3 of 14, Improve address validation in rs6000_adjust_vec_address

2020-01-09 Thread Michael Meissner
In the patches: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01530.html https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01533.html Segher said the whole code was too complex. This patch is my attempt to make it somewhat easier to understand. One part that is an issue was there was a section of co

[PATCH] V12 patch #2 of 14, Refactor rs6000_adjust_vec_address & rs6000_split_vec_extract_var

2020-01-09 Thread Michael Meissner
In https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01530.html, Seghar had some questions about that patch. This patch addresses some of those concerns. Instead of limiting the vector element number in rs6000_split_vec_extract_var so that the memory access does not go out of bounds, I decided to mov

[PATCH] V12 patch #1 of 14, add gcc_asserts for rs6000_adjust_vec_address

2020-01-09 Thread Michael Meissner
In https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01530.html, Segher asked me to do the gcc_asserts as early as possible. This patch makes sure the base register temporary is not used in the other arguments. I have built and bootstrapped a compiler on a little endian power8 system, and there were

libgo patch committed: Compile examples in _test packages

2020-01-09 Thread Ian Lance Taylor
This libgo patch compiles examples in _test packages. Previously if the only names defined by _test packages were examples, the gotest script would emit an incorrect _testmain.go file. I worked around that by marking the example_test.go files +build ignored. This CL changes the gotest script to

Re: [PATCH] rs6000: Fix PR93136, gcc.dg/vmx/ops.c and several other test break after r279772

2020-01-09 Thread Segher Boessenkool
Hi! On Thu, Jan 09, 2020 at 01:44:59PM -0600, Peter Bergner wrote: > The other test cases just need a slight adjustment to some of their > counts. What were the changes? Or, I'll just trust you looked at it and it is okay :-) > were seeing double/triple/... counting due to using "xxland" instea

PowerPC -mcpu=future Version 12 patches

2020-01-09 Thread Michael Meissner
This is version 12 of my patches for PowerPC -mcpu=future. There are currently 14 patches. Note, the PCREL_OPT patches are not part of this series. I want to concentrate on getting the other patches checked in. Patches #1-4 reflect changes that were asked for in the previous (V11) set of patche

Re: [PATCH PR92926]Fix wrong code caused by ctor node translation unit wide sharing

2020-01-09 Thread Jason Merrill
On 1/9/20 4:37 PM, Jakub Jelinek wrote: On Thu, Jan 09, 2020 at 04:27:09PM -0500, Jason Merrill wrote: Isn't the right spot to fix this somewhere in cp_gimplify_expr? I mean, the way gimplification works, we unshare_body first and then gimplify, which is destructive for the GENERIC it is gimplif

Re: [PATCH PR92926]Fix wrong code caused by ctor node translation unit wide sharing

2020-01-09 Thread Jakub Jelinek
On Thu, Jan 09, 2020 at 04:27:09PM -0500, Jason Merrill wrote: > > Isn't the right spot to fix this somewhere in cp_gimplify_expr? > > I mean, the way gimplification works, we unshare_body first and then > > gimplify, which is destructive for the GENERIC it is gimplifying. The > > reason why this

[PATCH] libstdc++: Fix incompatibilities with C++20

2020-01-09 Thread Jonathan Wakely
The equality operators for _ExtPtr_allocator are defined as non-const member functions, which causes ambiguities in C++20 due to the synthesized operator!= candidates. They should always have been const. The _Pointer_adapter class template has both value_type and element_type members, which makes

Re: [PATCH PR92926]Fix wrong code caused by ctor node translation unit wide sharing

2020-01-09 Thread Jason Merrill
On 1/9/20 3:59 AM, Jakub Jelinek wrote: On Thu, Jan 09, 2020 at 02:20:23PM +0800, Bin.Cheng wrote: On December 20, 2019 2:13:47 AM GMT+01:00, "Bin.Cheng" wrote: On Fri, Dec 13, 2019 at 11:26 AM bin.cheng wrote: Hi, As reported in PR92926, constant ctor is shared translation unit wide bec

Re: [ PATCH ] [ C++ ] Implementing P0767 - deprecate POD

2020-01-09 Thread Jonathan Wakely
On 09/01/20 19:57 +, Jonathan Wakely wrote: I'll commit the attached patch after more testing. And this follow-up to fix some fallout. commit 212e166cbeb4c7df38436563c3c51dbd4e0efc0d Author: Jonathan Wakely Date: Thu Jan 9 19:55:17 2020 + libstdc++: Fix testsuite failures and

Re: [Patch] OpenACC – support "if" + "if_present" clauses with "host_data"

2020-01-09 Thread Thomas Schwinge
Hi! Jakub, please see one question below. On 2019-12-24T15:23:56+0100, Tobias Burnus wrote: > OK for the trunk? Tobias, thanks for taking over this patch. I have a few additional small changes that I'd like to do (have WIP patches already), but what we've got here already is OK for trunk with

Re: [patch, fortran] Fix PR 65428, ICE on nested empty array constructors

2020-01-09 Thread Thomas Koenig
Hi Tobias, I am not completely happy about the introduction of yet another two global variables, but I also do not see an easy way out. Hence: OK. Actually, I wasn't too happy myself, but, like you, I didn't find anything better. I was playing around with the following test case – you might c

Re: [PING^4][PATCH 0/4] Fix library testsuite compilation for build sysroot

2020-01-09 Thread Tobias Burnus
Hi Maciej, On 1/6/20 4:25 PM, Maciej W. Rozycki wrote: Without the patch, the compiler is found (with [find_gcc] I suppose) and invoked as x86_64-none-linux-gnu-gcc. That works fine for us, but we do (I think) "installed testing", which IIUC is atypical. […] However before I make any definite

Re: [C++ coroutines 5/7, v3] Standard library header.

2020-01-09 Thread Jonathan Wakely
On 09/01/20 19:43 +, Iain Sandoe wrote: Hi Jonathan, thanks for the review - hopefully the attached addresses both those and the whitespace differences we discussed off-line. I’m attaching the header as a textfile since it’s a new one, perhaps that will make it easier to review the whitespa

Re: [patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Jonathan Wakely
On 09/01/20 20:09 +0100, Olivier Hainque wrote: Hi Jonathan, Yes, this is fine in principle. Please update the docs and change _Mt to _Cmp2 though. Sure, will adjust, test and follow up. Revised patch attached. Bootstrapped and regression tests fine on x86_64-linux. 2020-01-09 Olivier Hai

Re: [ PATCH ] [ C++ ] Implementing P0767 - deprecate POD

2020-01-09 Thread Jonathan Wakely
On 04/12/19 17:56 -0500, JeanHeyd Meneide wrote: Dear Jonathan, Done! re-patched, below. Thanks! Some comments below. Best, JeanHeyd 2019-12-03 JeanHeyd "ThePhD" Meneide * include/bits/c++config: Add new _GLIBCXX20_DEPRECATED macro. * include/std/type_traits: Deprecate

[PATCH] rs6000: Fix PR93136, gcc.dg/vmx/ops.c and several other test break after r279772

2020-01-09 Thread Peter Bergner
My fix to PR92923 seems to have caused the vmx/ops.c and vsx-vector-6.p*.c test failures. The ops.c issue is we need a new option to quiet a warning we didn't see when we were emitting VIEW_CONVERT_EXPRs. The other test cases just need a slight adjustment to some of their counts. However, we wer

Re: [C++ coroutines 5/7, v3] Standard library header.

2020-01-09 Thread Iain Sandoe
Hi Jonathan, thanks for the review - hopefully the attached addresses both those and the whitespace differences we discussed off-line. I’m attaching the header as a textfile since it’s a new one, perhaps that will make it easier to review the whitespace stuff. thanks Iain Jonathan Wakely wrote

Re: [patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Olivier Hainque
Hi Jonathan, >> Yes, this is fine in principle. Please update the docs and change >> _Mt to _Cmp2 though. > > Sure, will adjust, test and follow up. Revised patch attached. Bootstrapped and regression tests fine on x86_64-linux. 2020-01-09 Olivier Hainque libstdc++-v3/ * doc

Re: drop -aux{dir,base}, revamp -dump{dir,base}

2020-01-09 Thread Alexandre Oliva
On Jan 9, 2020, Richard Biener wrote: > Did I miss the actual (non-documentation) patch? No, I didn't post it. It's kind of big, and only yesterday did I get it to work as expected and now extensively documented, passing all of the extensive testsuite I wrote for it. Alas, some of the latest

Re: [PATCH] [RFC] ipa: duplicate ipa_size_summary for cloned nodes

2020-01-09 Thread Martin Jambor
Hello again, On Fri, Jan 03 2020, Martin Jambor wrote: > Hi, > > On Thu, Dec 19 2019, Jan Hubicka wrote: >>> On 2019/12/18 23:48, Jan Hubicka wrote: >>> >> The size_info of ipa_size_summary are created by r277424. It should be >>> >> duplicated for cloned nodes, otherwise self_size and >>> >> es

[committed][AArch64] Pass a mode to some SVE immediate queries

2020-01-09 Thread Richard Sandiford
It helps the SVE2 ACLE support if aarch64_sve_arith_immediate_p and aarch64_sve_sqadd_sqsub_immediate_p accept scalars as well as vectors. Tested on aarch64-linux-gnu and applied as r280059. Richard 2020-01-09 Richard Sandiford gcc/ * config/aarch64/aarch64-protos.h (aarch64_sve_ari

[wwwdocs] Git transition - how to access private user and vendor branches

2020-01-09 Thread Richard Earnshaw (lists)
Given the proposed intention to use non-standard refspecs for private and vendor branches I've written some notes on how to use these. It would be helpful if someone could do some experiments to ensure that what I've written works properly for all versions of git, not just the one I have insta

[PATCH] libstdc++: Fix undefined behaviour in random dist serialization (PR93205)

2020-01-09 Thread Jonathan Wakely
The deserialization functions for random number distributions fail to check the stream state before using the extracted values. In some cases this leads to using indeterminate values to resize a vector, and then filling that vector with indeterminate values. No values that affect control flow shou

[committed][AArch64] Add banner comments to aarch64-sve2.md

2020-01-09 Thread Richard Sandiford
This patch imposes the same sort of structure on aarch64-sve2.md as we already have for aarch64-sve.md, before it grows a lot more patterns. Tested on aarch64-linux-gnu and applied as 280058. Richard 2020-01-09 Richard Sandiford gcc/ * config/aarch64/aarch64-sve2.md: Add banner comm

Re: [Patch] [AArch64] [SVE] Implement svld1ro intrinsic.

2020-01-09 Thread Richard Sandiford
Matthew Malcomson writes: > We take no action to ensure the SVE vector size is large enough. It is > left to the user to check that before compiling this intrinsic or before > running such a program on a machine. > > The main difference between ld1ro and ld1rq is in the allowed offsets, > the imp

Go patch committed: Don't localize names in export data

2020-01-09 Thread Ian Lance Taylor
This patch changes the Go frontend to not localize names in export data. Localizing these names causes the compiler output to change depending on the LANG environment variable, so don't do it. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofr

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-09 Thread Stam Markianos-Wright
On 1/9/20 4:07 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> diff --git a/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C >> b/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C >> new file mode 100644 >> index 000..55cbb0b0ef7 >> --- /dev/null >> +++ b/gc

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-09 Thread Richard Sandiford
Stam Markianos-Wright writes: > diff --git a/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C > b/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C > new file mode 100644 > index 000..55cbb0b0ef7 > --- /dev/null > +++ b/gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C

Go patch committed: Don't add composite literal keys to package bindings

2020-01-09 Thread Ian Lance Taylor
This patch to the Go frontend avoids adding composite literal keys to the package bindings. Doing this gets confusing when it is combined with dot imports. The test case showing the resulting compilation failure is https://golang.org/cl/213899. Fix this by adding a new expression type to hold co

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for bfdot for ARMv8.6 Extension

2020-01-09 Thread Richard Sandiford
Please update the names of the testsuite files to match the ones in the bfloat16_t patch. (Same for the usdot/sudot patch -- sorry for forgetting there.) OK with that change, thanks. Richard Stam Markianos-Wright writes: > On 12/30/19 10:29 AM, Richard Sandiford wrote: >> Stam Markianos-Wright

[Patch] [AArch64] [SVE] Implement svld1ro intrinsic.

2020-01-09 Thread Matthew Malcomson
We take no action to ensure the SVE vector size is large enough. It is left to the user to check that before compiling this intrinsic or before running such a program on a machine. The main difference between ld1ro and ld1rq is in the allowed offsets, the implementation difference is that ld1ro i

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2020-01-09 Thread Richard Sandiford
OK, thanks. Richard Stam Markianos-Wright writes: > On 12/30/19 10:21 AM, Richard Sandiford wrote: >> Stam Markianos-Wright writes: >>> On 12/20/19 2:13 PM, Richard Sandiford wrote: Stam Markianos-Wright writes: > +**... > +**ret > +*/ > +int32x2_t ufoo (int32x2_t r, uint8

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2020-01-09 Thread Richard Sandiford
Thanks for the update, looks great. Stam Markianos-Wright writes: > diff --git a/gcc/config/aarch64/arm_bf16.h b/gcc/config/aarch64/arm_bf16.h > new file mode 100644 > index > ..884b6f3bc7a28c516e54c26a71b1b769f55867a7 > --- /dev/null > +++ b/gcc/config/aa

Re: [C++ coroutines 6/7] libiberty demangler update.

2020-01-09 Thread Ian Lance Taylor
Iain Sandoe writes: > The coroutines implementation introduces a new operator with a > mangling of 'aw'. This patch adds that to libiberty's demangler. > > Although this is presented as part of the coroutines patch series > it could stand alone, since clang and EDG-based compilers are > already

[committed][AArch64] Simplify WHILERW and WHILEWR definition

2020-01-09 Thread Richard Sandiford
I'd made WHILERW and WHILEWR use separate patterns from the SVE WHILE instructions, but they're similar enough that we can use a single pattern. This means that we also get the flag-related patterns "for free". Tested on aarch64-linux-gnu and applied as r280054. Richard 2020-01-09 Richard San

[committed][AArch64] Rename UNSPEC_WHILE* to match instruction mnemonics

2020-01-09 Thread Richard Sandiford
The UNSPEC_WHILE*s had an underscore before the condition code, whereas almost all other SVE unspecs are taken directly from the mnemonic. Tested on aarch64-linux-gnu and applied as r280053. Richard 2020-01-09 Richard Sandiford gcc/ * config/aarch64/aarch64.md (UNSPEC_WHILE_LE): Ren

[committed][AArch64] Rename SVE shape "unary_count" to "unary_to_uint"

2020-01-09 Thread Richard Sandiford
The SVE ACLE shape names use "_int" and "_uint" for arguments that are signed-integer or unsigned-integer variants of the main vector type. With SVE2 this variation also becomes common for return values, which the main SVE2 patch handles using "_to_int" and "_to_uint". This patch renames the existi

[committed][AArch64] Specify some SVE ACLE functions in a more generic way

2020-01-09 Thread Richard Sandiford
This patch generalises some boilerplate that becomes much more common with SVE2 intrinsics. Tested on aarch64-linux-gnu and applied as r280051. Richard 2020-01-09 Richard Sandiford gcc/ * config/aarch64/aarch64-sve-builtins-functions.h (code_for_mode_function): New class.

[committed][AArch64] Tweak iterator usage for [SU]Q{ADD,SUB}

2020-01-09 Thread Richard Sandiford
The pattern: ;; q (define_insn "aarch64_" [(set (match_operand:VSDQ_I 0 "register_operand" "=w") (BINQOPS:VSDQ_I (match_operand:VSDQ_I 1 "register_operand" "w") (match_operand:VSDQ_I 2 "register_operand" "w")))] "TARGET_SIMD" "\\t%0, %1, %2" [(set_attr "t

[committed][AArch64] Remove fictitious [SU]RHSUB instructions

2020-01-09 Thread Richard Sandiford
We've had skeleton support for "SRHSUB" and "URHSUB" since the initial commit of the port, but no such instructions exist. Tested on aarch64-linux-gnu and applied as 280049. Richard 2020-01-09 Richard Sandiford gcc/ * config/aarch64/iterators.md (SRHSUB, URHSUB): Delete. (HA

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [1/2]

2020-01-09 Thread Stam Markianos-Wright
On 1/7/20 5:14 PM, Richard Sandiford wrote: > Thanks for the update. The new patch looks really good, just some > minor comments. > > Stam Markianos-Wright writes: >> [...] >> Also I've update the filenames of all our tests to make them a bit clearer: >> >> C tests: >> >> __ bfloat16_scalar_co

Re: [GCC][PATCH][Aarch64] Add Bfloat16_t scalar type, vector types and machine modes to Aarch64 back-end [2/2]

2020-01-09 Thread Stam Markianos-Wright
On 1/7/20 3:26 PM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 12/19/19 10:08 AM, Richard Sandiford wrote: >>> Stam Markianos-Wright writes: diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index f57469b6e23..f40f6432fd4 100644 --- a/gcc

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for bfdot for ARMv8.6 Extension

2020-01-09 Thread Stam Markianos-Wright
On 12/30/19 10:29 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> diff --git a/gcc/config/aarch64/aarch64-simd.md >> b/gcc/config/aarch64/aarch64-simd.md >> index >> adfda96f077075ad53d4bea2919c4d3b326e49f5..7587bc46ba1c80389ea49fa83a0e6f8a489711e9 >> 100644 >> --- a/gcc/confi

Re: [GCC][PATCH][AArch64]Add ACLE intrinsics for dot product (usdot - vector, dot - by element) for AArch64 AdvSIMD ARMv8.6 Extension

2020-01-09 Thread Stam Markianos-Wright
On 12/30/19 10:21 AM, Richard Sandiford wrote: > Stam Markianos-Wright writes: >> On 12/20/19 2:13 PM, Richard Sandiford wrote: >>> Stam Markianos-Wright writes: +**... +**ret +*/ +int32x2_t ufoo (int32x2_t r, uint8x8_t x, int8x8_t y) +{ + return vusdot_s32 (r, x,

Re: [patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Olivier Hainque
Hello Jonathan, > On 09 Jan 2020, at 14:26, Jonathan Wakely wrote: > > Any conflict with OS headers is treated as a libstdc++ bug. We don't > own the entire implementation namespace, so we have to play nice and > avoid OS names. > We maintain a list of identifiers to avoid, but _C2 is currently

Re: [PATCH] avoid warning on vectorized past-the-end stores (PR 93200)

2020-01-09 Thread Martin Sebor
On 1/9/20 9:24 PM, Jeff Law wrote: On Wed, 2020-01-08 at 17:23 +, Martin Sebor wrote: A recent improvement to the vectorizer (r278334 if my bisection is right) can transform multiple stores to adjacent struct members into single vectorized assignments that write over all the members in a sin

Re: [PATCH] Allow entry point markers without debug support in accelerator compiler

2020-01-09 Thread Richard Biener
On Thu, Jan 9, 2020 at 2:35 PM Kwok Cheung Yeung wrote: > > Hello > > On 09/12/2019 8:01 am, Richard Biener wrote: > > > > The stream-in code has > > > >/* If we're recompiling LTO objects with debug stmts but > > we're not supposed to have debug stmts, remove them now. >

Re: [C++ coroutines 4/7, v2] Middle end expanders and transforms.

2020-01-09 Thread Richard Biener
On Thu, Jan 9, 2020 at 1:38 PM Iain Sandoe wrote: > > Hi Richard, > > The SVN commit IDs that address changes to this part of the patchset are noted > in the revised patch header below, for reference. > > Richard Biener wrote: > > > On Sun, Nov 17, 2019 at 11:27 AM Iain Sandoe wrote: > > >> On

[Patch, committed, Fortran] PR84135 fix merging dimension into codimension array spec

2020-01-09 Thread Tobias Burnus
Committed as obvious (r280046). I will backport to GCC 8 + 9 in the next days. * * * Background – slightly more convoluted than the actual patch :-) If the to-be-used array spec ("to") has a codimension, one needs to move it to the right such that the shape for the regular-array dimension fit

Re: [PATCH] Allow entry point markers without debug support in accelerator compiler

2020-01-09 Thread Kwok Cheung Yeung
Hello On 09/12/2019 8:01 am, Richard Biener wrote: The stream-in code has /* If we're recompiling LTO objects with debug stmts but we're not supposed to have debug stmts, remove them now. We can't remove them earlier because this would cause uid

Re: [C++ coroutines 5/7, v2] Standard library header.

2020-01-09 Thread Jonathan Wakely
On 09/01/20 12:39 +, Iain Sandoe wrote: Hi Jonathan The SVN commit IDs that relate to the amendments are noted in the revised patch header below. Jonathan Wakely wrote: On 17/11/19 10:27 +, Iain Sandoe wrote: * include/Makefile.in: Regnerated. "Regnerated" typo. Fixed,

Re: drop -aux{dir,base}, revamp -dump{dir,base} (was: Re: introduce -fcallgraph-info option)

2020-01-09 Thread Richard Biener
On Thu, 26 Dec 2019, Alexandre Oliva wrote: > On Dec 25, 2019, Alexandre Oliva wrote: > > > 3. do not take the executable name into account when it shares the > > basename with an input file; combine executable basename with input name > > otherwise. this makes gcc -o foo[.exe] -g -gsplit-dwarf

Re: [PATCH] PR90838: Support ctz idioms

2020-01-09 Thread Richard Biener
On Wed, Dec 11, 2019 at 5:55 PM Wilco Dijkstra wrote: > > Hi Richard, > > >> +(match (ctz_table_index @1 @2 @3) > >> + (rshift (mult (bit_and (negate @1) @1) INTEGER_CST@2) INTEGER_CST@3)) > > > > You need a :c on the bit_and > > Fixed. > > > + unsigned HOST_WIDE_INT val = tree_to_uhwi (mulc); >

Re: [patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Jonathan Wakely
On 09/01/20 14:00 +0100, Olivier Hainque wrote: Hello, The attached patch is a proposal to simply rename a template type name in stl_map.h and stl_multimap.h in order to prevent clashes with a macro name exposed by a system header on VxWorks. The conflicting name is _C2, which in principle is "

Re: Add a compatible_vector_types_p target hook

2020-01-09 Thread Richard Biener
On Tue, Jan 7, 2020 at 11:33 AM Richard Sandiford wrote: > > Richard Sandiford writes: > > Richard Biener writes: > >> On December 14, 2019 11:43:48 AM GMT+01:00, Richard Sandiford > >> wrote: > >>>Richard Biener writes: > On December 13, 2019 10:12:40 AM GMT+01:00, Richard Sandiford > >

[PATCH] libstdc++: Define memory resource key functions non-inline (PR93208)

2020-01-09 Thread Jonathan Wakely
This prevents the vtables and RTTI from being emitted in every object file that uses memory_resource and monotonic_buffer_resource. Objects compiled by GCC 9.1 or 9.2 will contain inline definitions of the destructors, vtable and RTTI, but this is harmless. The inline definitions have identical ef

[patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Olivier Hainque
Hello, The attached patch is a proposal to simply rename a template type name in stl_map.h and stl_multimap.h in order to prevent clashes with a macro name exposed by a system header on VxWorks. The conflicting name is _C2, which in principle is "reserved" for the system so having such a macro ex

[C++ coroutines 6/7] libiberty demangler update.

2020-01-09 Thread Iain Sandoe
Hi Ian, The coroutines implementation introduces a new operator with a mangling of 'aw'. This patch adds that to libiberty's demangler. Although this is presented as part of the coroutines patch series it could stand alone, since clang and EDG-based compilers are already emitting this mangling.

[C++ coroutines 5/7, v2] Standard library header.

2020-01-09 Thread Iain Sandoe
Hi Jonathan The SVN commit IDs that relate to the amendments are noted in the revised patch header below. Jonathan Wakely wrote: > On 17/11/19 10:27 +, Iain Sandoe wrote: >> * include/Makefile.in: Regnerated. > > "Regnerated" typo. Fixed, >> ${experimental_srcdir}/chrono \ >> +

[C++ coroutines 4/7, v2] Middle end expanders and transforms.

2020-01-09 Thread Iain Sandoe
Hi Richard, The SVN commit IDs that address changes to this part of the patchset are noted in the revised patch header below, for reference. Richard Biener wrote: > On Sun, Nov 17, 2019 at 11:27 AM Iain Sandoe wrote: >> Once we have remade the connections to their correct postions, we elide

[C++ coroutines 1/7] Common code and base definitions.

2020-01-09 Thread Iain Sandoe
Jeff Law wrote: > On 11/17/19 3:24 AM, Iain Sandoe wrote: >> This part of the patch series provides the gating flag, the keywords, >> cpp defines etc. >> >> gcc/ChangeLog: >> >> 2019-11-17 Iain Sandoe >> >> * doc/invoke.texi: Document the fcoroutines command line >> switch. >> >>

[C++ coroutines 2/7, v2] Define builtins and internal functions.

2020-01-09 Thread Iain Sandoe
Jeff Law wrote: > On 11/17/19 3:24 AM, Iain Sandoe wrote: >> This part of the patch series provides the builtin functions >> used by the standard library code and the internal functions >> used to implement lowering of the coroutine state machine. >> >> gcc/ChangeLog: >> >> 2019-11-17 Iain San

Re: [C++ coroutines 0/7] Implement C++ coroutines.

2020-01-09 Thread Iain Sandoe
Nathan Sidwell wrote: > On 11/17/19 5:23 AM, Iain Sandoe wrote: >> This patch series is an initial implementation of a coroutine feature, >> expected to be standardised in C++20. This is the updated set after fixing review comments (both from folks on-list and some private communications) and a

Re: [PATCH] Add Optimization for various IPA parameters.

2020-01-09 Thread Martin Liška
On 1/9/20 12:06 PM, Jan Hubicka wrote: 2020-01-03 Martin Liska * auto-profile.c (auto_profile): Use opt_for_fn for a parameter. * ipa-cp.c (ipcp_lattice::add_value): Likewise. (propagate_vals_across_arith_jfunc): Likewise. (hint_time_bonus): Likewise.

Re: [PATCH] Prevent IPA-SRA from creating calls to local comdats (PR 92676)

2020-01-09 Thread Martin Jambor
Ping. Thanks, Martin On Mon, Dec 16 2019, Martin Jambor wrote: > Hi, > > since r278669 (fix for PR ipa/91956), IPA-SRA makes sure that the clone > it creates is put into the same same_comdat as the original cgraph_node, > so that it can call private comdats (such as the ipa-split bits of a > com

Re: [PATCH GCC11]Improve uninitialized warning with value range info

2020-01-09 Thread Richard Biener
On Thu, Jan 9, 2020 at 11:17 AM Bin.Cheng wrote: > > On Wed, Jan 8, 2020 at 7:50 PM Richard Biener > wrote: > > > > On Wed, Jan 8, 2020 at 12:30 PM Bin.Cheng wrote: > > > > > > On Wed, Jan 8, 2020 at 6:31 PM Richard Biener > > > wrote: > > > > > > > > On Wed, Jan 8, 2020 at 6:01 AM bin.cheng

Re: [PATCH 15/49] Add ordered_hash_map

2020-01-09 Thread Jonathan Wakely
On 08/01/20 18:47 -0500, David Malcolm wrote: On Wed, 2019-12-04 at 10:59 -0700, Martin Sebor wrote: On 11/15/19 6:23 PM, David Malcolm wrote: > This patch adds an ordered_hash_map template, which is similar to > hash_map, but preserves insertion order. > > gcc/ChangeLog: >* Makefile.in (OBJ

Re: [PATCH] Add Optimization for various IPA parameters.

2020-01-09 Thread Martin Liška
On 1/8/20 5:14 PM, Martin Jambor wrote: + int unit_growth = opt_for_fn (node->decl, param_ipcp_unit_growth); Sorry, but I renamed you the param to param_ipa_cp_unit_growth. Which is a name that matches name conventions of other IPA CP related parameters. Please rebase the patch. Thanks, Marti

Re: [PATCH] Add Optimization for various IPA parameters.

2020-01-09 Thread Jan Hubicka
> 2020-01-03 Martin Liska > > * auto-profile.c (auto_profile): Use opt_for_fn > for a parameter. > * ipa-cp.c (ipcp_lattice::add_value): Likewise. > (propagate_vals_across_arith_jfunc): Likewise. > (hint_time_bonus): Likewise. > (incorporate_penalties): Likew

[ping] move and adjust PROBE_STACK_*_REG on aarch64

2020-01-09 Thread Olivier Hainque
Hello, Gentle ping for https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01398.html I realize and certainly understand that this is of lower importance than other matters currently being discussed on the lists. It's just that the end of stage 3 is imminent and I thought we'd better at least agre

[wwwdocs] Updates to contribute.html for git-friendly posting rules

2020-01-09 Thread Richard Earnshaw (lists)
The thread on gcc@ is now so long and complicated that this proposal back at the start has dropped off the radar. With the switch now imminent I'd like to re-propose this change, this time more formally. The text below draws heavily on the glibc equivalent rules in an attempt to bring some ha

[PATCH] Fix PR93054

2020-01-09 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2020-01-09 Richard Biener PR middle-end/93054 * gimplify.c (gimplify_expr): Deal with NOP definitions. * gcc.dg/pr93054.c: New testcase. Index: gcc/gimplify.c ==

Re: Fix ipa-cp bit propagation streaming

2020-01-09 Thread Martin Liška
On 12/12/19 3:35 PM, Jan Hubicka wrote: Hi, this rather nasty bug makes value and mask to be exchanged during streaming. This makes us to sometimes set bogus pointer alignments and causes misoptimization of Firefox when built with GCC 9. Hi. I've just prepare and tested backport for both GCC

[PATCH] Fix PR93040

2020-01-09 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu. Richard. 2020-01-09 Richard Biener PR tree-optimization/93040 * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit. * gcc.dg/optimize-bswaphi-1.c: Amend. * gcc.dg/optimize-bswapsi-2.c: Like

Re: [PATCH GCC11]Improve uninitialized warning with value range info

2020-01-09 Thread Bin.Cheng
On Wed, Jan 8, 2020 at 7:50 PM Richard Biener wrote: > > On Wed, Jan 8, 2020 at 12:30 PM Bin.Cheng wrote: > > > > On Wed, Jan 8, 2020 at 6:31 PM Richard Biener > > wrote: > > > > > > On Wed, Jan 8, 2020 at 6:01 AM bin.cheng > > > wrote: > > > > > > > > Sorry, here is the patch. > > > > ---

Re: [PATCH] Relax invalidation of TOP N counters in PGO.

2020-01-09 Thread Jan Hubicka
> On 1/8/20 3:05 PM, Jan Hubicka wrote: > > > > > > > > > > > I would still preffer invalidation before streaming (which is fully > > > > deterministic) and possibly have option > > > > > > Do you mean __gcov_merge_topn? > > > > I suggest we do the following: > > > > - have non-deterministic

Re: [PATCH] Use cgraph_node::dump_{asm_},name where possible.

2020-01-09 Thread Martin Liška
On 1/9/20 2:25 AM, luoxhu wrote: On 2020/1/8 22:54, Martin Liška wrote: diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c index bd44063a1ac..789564ba335 100644 --- a/gcc/cgraphclones.c +++ b/gcc/cgraphclones.c @@ -1148,8 +1148,7 @@ symbol_table::materialize_all_clones (void)     if

Re: [PATCH] [amdgcn] Add support for sub-word sync_compare_and_swap operations

2020-01-09 Thread Andrew Stubbs
On 08/01/2020 18:18, Kwok Cheung Yeung wrote: Is this version okay for trunk? OK, thanks. Andrew

  1   2   >