Re: [PATCH V2] Clean up loop-closed PHIs after loop finalize

2020-11-16 Thread Jiufu Guo via Gcc-patches
Richard Biener writes: > On Wed, 11 Nov 2020, Jiufu Guo wrote: > >> >> Thanks a lot for the sugguestion from previous mails. >> The patch was updated accordingly. >> >> This updated patch propagates loop-closed PHIs them out after >> loop_optimizer_finalize under a new introduced flag. At some

Re: [pushed] Objective-C/C++ (parsers) : Update @property attribute parsing.

2020-11-16 Thread Martin Liška
On 11/6/20 8:54 PM, Iain Sandoe wrote: +/* Provide a dummy type for the RID enum used as an argument to + objc_prop_attr_kind_for_rid () */ +enum rid { DUMMY }; + Hello. I've noticed the hunk caused the following -Wodr warning: /home/mliska/Programming/gcc/objdir/./prev-gcc/xg++ -B/home/ml

[PATCH] tree-optimization/97835 - fix step vector construction for SLP induction

2020-11-16 Thread Richard Biener
We're stripping conversions off access functions of inductions and thus the step can be of different sign. Fix bogus step CTORs by converting the elements rather than the whole vector. Bootstrap and regtest running on x86_64-unknown-linux-gnu. 2020-11-16 Richard Biener PR tree-optimi

[PATCH] tree-optimization/97838 - fix SLP leaf detection

2020-11-16 Thread Richard Biener
This properly handles reduction PHI nodes with unrepresented initial value as leaf in the SLP graph. Bootstrap & regtest running on x86_64-unknown-linux-gnu. 2020-11-16 Richard Biener PR tree-optimization/97838 * tree-vect-slp.c (vect_slp_build_vertices): Properly handle

[PATCH] tree-optimization/97830 - fix compare of incomplete type size in VN

2020-11-16 Thread Richard Biener
This avoids passing NULL to expressions_equal_p. Bootstrap & regtest running on x86_64-unknown-linux-gnu. 2020-11-16 Richard Biener PR tree-optimization/97830 * tree-ssa-sccvn.c (vn_reference_eq): Check for incomplete types before comparing TYPE_SIZE. * gcc.dg

Re: [PATCH] vect: Add a “very cheap” cost model

2020-11-16 Thread Richard Biener via Gcc-patches
On Fri, Nov 13, 2020 at 7:35 PM Richard Sandiford via Gcc-patches wrote: > > Currently we have three vector cost models: cheap, dynamic and > unlimited. -O2 -ftree-vectorize uses “cheap” by default, but that's > still relatively aggressive about peeling and aliasing checks, > and can lead to sign

Re: [00/32] C++ 20 Modules

2020-11-16 Thread Boris Kolpackov
Nathan Sidwell writes: > It is not a complete implementation. The major missing pieces are: [...] Would now be a good time to start reporting bugs in bugzilla so that things don't fall through the cracks? Is so, would it make sense to add the "c++ modules" component to bugzilla?

Re: [pushed] Objective-C/C++ (parsers) : Update @property attribute parsing.

2020-11-16 Thread Iain Sandoe
Hi Martin, Martin Liška wrote: On 11/6/20 8:54 PM, Iain Sandoe wrote: +/* Provide a dummy type for the RID enum used as an argument to + objc_prop_attr_kind_for_rid () */ +enum rid { DUMMY }; + I've noticed the hunk caused the following -Wodr warning: ../libdecnumber/libdecnumber.a -l

Re: [PATCH] introduce --param max-object-size

2020-11-16 Thread Richard Biener via Gcc-patches
On Sun, Nov 15, 2020 at 1:46 AM Martin Sebor via Gcc-patches wrote: > > GCC considers PTRDIFF_MAX - 1 to be the size of the largest object > so that the difference between a pointer to the byte just past its > end and the first one is no more than PTRDIFF_MAX. This is too > liberal in LP64 on mos

Re: Add EAF_NOT_RETURNED flag

2020-11-16 Thread Richard Biener
On Sun, 15 Nov 2020, Jan Hubicka wrote: > Hi, > one of common cases why we lose track on SSA name in modref propagation > is the situation where name is passed to funtion call and we then thus > continue by propagating through return value. > > This patch adds simple logic to track arguments that

Re: [pushed] Objective-C/C++ (parsers) : Update @property attribute parsing.

2020-11-16 Thread Martin Liška
On 11/16/20 10:00 AM, Iain Sandoe wrote: Hi Martin, Martin Liška wrote: On 11/6/20 8:54 PM, Iain Sandoe wrote: +/* Provide a dummy type for the RID enum used as an argument to +   objc_prop_attr_kind_for_rid () */ +enum rid { DUMMY }; + I've noticed the hunk caused the following -Wodr warn

RE: [PATCH v2 14/16]Arm: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Tamar Christina > Sent: 25 September 2020 15:31 > To: gcc-patches@gcc.gnu.org > Cc: nd ; Ramana Radhakrishnan > ; Richard Earnshaw > ; ni...@redhat.com; Kyrylo Tkachov > > Subject: [PATCH v2 14/16]Arm: Add NEON RTL patterns for Complex Addition, > Multiply a

RE: [PATCH v2 15/16]Arm: Add MVE RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Tamar Christina > Sent: 25 September 2020 15:32 > To: gcc-patches@gcc.gnu.org > Cc: nd ; Ramana Radhakrishnan > ; Richard Earnshaw > ; ni...@redhat.com; Kyrylo Tkachov > > Subject: [PATCH v2 15/16]Arm: Add MVE RTL patterns for Complex Addition, > Multiply an

Re: Improve handling of memory operands in ipa-icf 4/4

2020-11-16 Thread Richard Biener
On Mon, 16 Nov 2020, Jan Hubicka wrote: > Hi, > this patch implements the logic to drop base alias sets (and thus also access > paths) from memory operands when doing so helps merging. This is done > by extending func_checker::compare_operand to record mismatched pairs > and then processing this

Re: [PATCH V2] Clean up loop-closed PHIs after loop finalize

2020-11-16 Thread Jiufu Guo via Gcc-patches
Jiufu Guo writes: > Richard Biener writes: > >> On Wed, 11 Nov 2020, Jiufu Guo wrote: >> >>> >>> Thanks a lot for the sugguestion from previous mails. >>> The patch was updated accordingly. >>> >>> This updated patch propagates loop-closed PHIs them out after >>> loop_optimizer_finalize under

Re: Detect EAF flags in ipa-modref

2020-11-16 Thread Andreas Schwab
On Nov 15 2020, Jan Hubicka wrote: >> See PR97840. > Thanks, > this is a false positive where we fail to discover that pointed-to type > is empty on non-x86_64 targets. This is triggered by better alias > analysis caused by non-escape discovery. > > While this is not a full fix (I hope someone wi

Re: [PATCH V2] Clean up loop-closed PHIs after loop finalize

2020-11-16 Thread Richard Biener via Gcc-patches
On Mon, Nov 16, 2020 at 10:26 AM Jiufu Guo wrote: > > Jiufu Guo writes: > > > Richard Biener writes: > > > >> On Wed, 11 Nov 2020, Jiufu Guo wrote: > >> > >>> > >>> Thanks a lot for the sugguestion from previous mails. > >>> The patch was updated accordingly. > >>> > >>> This updated patch propa

Re: [PATCH] Prefer bit-test over the jump table.

2020-11-16 Thread Martin Liška
On 11/9/20 4:56 PM, Jeff Law wrote: On 11/9/20 7:24 AM, Martin Liška wrote: Hello. As mentioned in the PR, we used to prefer BT over JT in switch expansion. I restore the behavior to that. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks,

Re: [PATCH] IBM Z: Do not run long double tests on old machines

2020-11-16 Thread Andreas Krebbel via Gcc-patches
On 13.11.20 23:23, Ilya Leoshkevich wrote: > Bootstrapped and regtested on z13 s390x-redhat-linux. Ok for master? > > gcc/testsuite/ChangeLog: > > 2020-11-12 Ilya Leoshkevich > > * gcc.target/s390/s390.exp (check_effective_target_s390_z14_hw): > New predicate. > * gcc.targe

RE: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Tamar Christina > Sent: 25 September 2020 15:30 > To: gcc-patches@gcc.gnu.org > Cc: nd ; Richard Earnshaw ; > Marcus Shawcroft ; Kyrylo Tkachov > ; Richard Sandiford > > Subject: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex > Addition, Multiply

Re: [PATCH] vect: Add a “very cheap” cost model

2020-11-16 Thread Richard Sandiford via Gcc-patches
Richard Biener writes: > On Fri, Nov 13, 2020 at 7:35 PM Richard Sandiford via Gcc-patches > wrote: >> >> Currently we have three vector cost models: cheap, dynamic and >> unlimited. -O2 -ftree-vectorize uses “cheap” by default, but that's >> still relatively aggressive about peeling and aliasin

Re: [r11-4852 Regression] FAIL: g++.dg/ubsan/pr61272.C (test for excess errors) on Linux/x86_64

2020-11-16 Thread Martin Liška
On 11/10/20 1:14 AM, sunil.k.pandey via Gcc-patches wrote: On Linux/x86_64, 05b03452db6a520091aed254d3c399caed714b15 is the first bad commit commit 05b03452db6a520091aed254d3c399caed714b15 Author: Jason Merrill Date: Fri Nov 6 20:41:54 2020 -0500 c++: Improve error location for class us

Re: [PATCH] [PR target/97194] [AVX2] Support variable index vec_set.

2020-11-16 Thread Uros Bizjak via Gcc-patches
On Thu, Nov 12, 2020 at 10:10 AM Hongtao Liu wrote: > > On Thu, Nov 12, 2020 at 4:21 PM Uros Bizjak wrote: > > > > On Thu, Nov 12, 2020 at 3:04 AM Hongtao Liu wrote: > > > > > > > gcc/ChangeLog: > > > > > > > > > > PR target/97194 > > > > > * config/i386/i386-expand.c (ix86_expand_vector_set_var

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Rainer Orth
Hi Jonathan, > Currently this is shown when building libstdc++ on Solaris: > > -lrt: open: No such file or directory > > The error comes from the make_sunver.pl script which tries to open each > of its arguments. The arguments are passed by this make rule: > > perl ${glibcxx_srcdir}/scripts/

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Rainer Orth
Hi Jonathan, > But in practice the snippet above is only used if you explicitly > configure with --enable-libstdcxx-time={yes,rt} and will only add > anything to GLIBCXX_LIBS if clock_gettime or nanosleep lives in one of > librt or libposix4. I think libposix4 is Solaris-specific, and I don't > th

Re: [PATCH] gcov: Add -fprofile-info-section support

2020-11-16 Thread Martin Liška
On 11/13/20 5:47 PM, Sebastian Huber wrote: Hello. Sorry for slow response. Register the profile information in the specified section instead of using a constructor/destructor. A pointer to the profile information generated by -fprofile-arcs or -ftest-coverage is placed in the specified secti

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Jonathan Wakely via Gcc-patches
On 16/11/20 11:23 +0100, Rainer Orth wrote: Hi Jonathan, But in practice the snippet above is only used if you explicitly configure with --enable-libstdcxx-time={yes,rt} and will only add anything to GLIBCXX_LIBS if clock_gettime or nanosleep lives in one of librt or libposix4. I think libposix

Re: [stage1][PATCH] Change semantics of -frecord-gcc-switches and add -frecord-gcc-switches-format.

2020-11-16 Thread Martin Liška
On 11/10/20 9:53 PM, Qing Zhao wrote: The deadline for gcc11 stage 1 is approaching.  The pinged patch is one that has been sent for review 8 months ago in order to Make into gcc11. Hello. You didn't miss the deadline as all patches sent before stage1 can be reviewed even during stage3. Note

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Jonathan Wakely via Gcc-patches
On 16/11/20 11:17 +0100, Rainer Orth wrote: Hi Jonathan, Currently this is shown when building libstdc++ on Solaris: -lrt: open: No such file or directory The error comes from the make_sunver.pl script which tries to open each of its arguments. The arguments are passed by this make rule:

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Jonathan Wakely via Gcc-patches
On 16/11/20 10:32 +, Jonathan Wakely wrote: On 16/11/20 11:17 +0100, Rainer Orth wrote: Hi Jonathan, Currently this is shown when building libstdc++ on Solaris: -lrt: open: No such file or directory The error comes from the make_sunver.pl script which tries to open each of its arguments.

Re: Detect EAF flags in ipa-modref

2020-11-16 Thread Jan Hubicka
> On Nov 15 2020, Jan Hubicka wrote: > > >> See PR97840. > > Thanks, > > this is a false positive where we fail to discover that pointed-to type > > is empty on non-x86_64 targets. This is triggered by better alias > > analysis caused by non-escape discovery. > > > > While this is not a full fix

Re: [PATCH] gcov: Add -fprofile-info-section support

2020-11-16 Thread Sebastian Huber
Hello Martin, On 16/11/2020 11:26, Martin Liška wrote: Sorry for slow response. Register the profile information in the specified section instead of using a constructor/destructor.  A pointer to the profile information generated by -fprofile-arcs or -ftest-coverage is placed in the specified

Re: [PATCH] gcov: Add -fprofile-info-section support

2020-11-16 Thread Sebastian Huber
On 16/11/2020 12:02, Sebastian Huber wrote: I sent a proposal for a simple function to convert a gcov info to a gcda byte stream: https://lists.rtems.org/mailman/listinfo Sorry, wrong URL. This is the right one: https://gcc.gnu.org/pipermail/gcc/2020-November/234213.html -- embedded brai

[PATCH] tree-optimization/97838 - fix SLP leaf detection

2020-11-16 Thread Richard Biener
This properly handles reduction PHI nodes with unrepresented initial value as leaf in the SLP graph. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-16 Richard Biener PR tree-optimization/97838 * tree-vect-slp.c (vect_slp_build_vertices): Properly handle

Re: [PATCH] vect: Add a “very cheap” cost model

2020-11-16 Thread Richard Biener via Gcc-patches
On Mon, Nov 16, 2020 at 10:58 AM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, Nov 13, 2020 at 7:35 PM Richard Sandiford via Gcc-patches > > wrote: > >> > >> Currently we have three vector cost models: cheap, dynamic and > >> unlimited. -O2 -ftree-vectorize uses “cheap” by def

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Rainer Orth
Hi Jonathan, >>> libstdc++-v3/ChangeLog: >>> >>> * src/Makefile.am (libstdc++-symbols.ver-sun): Remove -lrt from >>> arguments passed to make_sunver.pl script. >>> * src/Makefile.in: Regenerate. >>> >>> Tested sparc-solaris2.11. Rainer, does this look OK? >> >>it does, but let me give

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Rainer Orth
Hi Jonathan, >>I did try to use "-l ?[[:alnum:]]+" but Solaris sed only supports BREs >>(as POSIX requires) and there doesn't seem to be an equivalent of the >>GNU sed -E option to use EREs. > > POSIX agreed to add the -E option 8 years ago but that hasn't made it > into the standard yet (because

[PATCH][pushed] Add .cache to git ignore.

2020-11-16 Thread Martin Liška
ChangeLog: * .gitignore: Add cache as clangd uses it now. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d9eeaf2ed7a..1a29029895a 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ TAGS.sub .clang-format .clang-tidy .clangd +.c

Re: [PATCH] gcov: Add -fprofile-info-section support

2020-11-16 Thread Martin Liška
On 11/16/20 12:02 PM, Sebastian Huber wrote: Hello Martin, On 16/11/2020 11:26, Martin Liška wrote: Sorry for slow response. Register the profile information in the specified section instead of using a constructor/destructor.  A pointer to the profile information generated by -fprofile-arcs

Re: [PATCH] libstdc++: Fix error shown during Solaris build

2020-11-16 Thread Jonathan Wakely via Gcc-patches
On 16/11/20 12:46 +0100, Rainer Orth wrote: Hi Jonathan, libstdc++-v3/ChangeLog: * src/Makefile.am (libstdc++-symbols.ver-sun): Remove -lrt from arguments passed to make_sunver.pl script. * src/Makefile.in: Regenerate. Tested sparc-solaris2.11. Rainer, does this look O

Re: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Richard Sandiford via Gcc-patches
> +;; A conjucate is a rotation of 180* around the argand plane, or * I. Hmm, but a complex conjugate is a reflection around the real axis rather than a rotation. Also, 180 degrees around the Argand plane is * -1 rather than * I. So… > +(define_int_attr rot_op [(UNSPEC_FCMLS "") > +

Re: [PATCH] [PR target/97194] [AVX2] Support variable index vec_set.

2020-11-16 Thread Uros Bizjak via Gcc-patches
On Thu, Nov 12, 2020 at 2:59 PM Richard Biener wrote: > I'm not sure what best to do here, as said accepting "any" (integer) mode as > input is desirable (SImode, DImode but eventually also smaller modes). How > that can be best achieved I don't know. FTR, attached patch *should* allow s390 and

[PATCH] c++: Add __builtin_clear_padding builtin - C++20 P0528R3 compiler side [PR88101]

2020-11-16 Thread Jakub Jelinek via Gcc-patches
Hi! Working virtually out of Baker Island - AoE timezone. The following patch implements __builtin_clear_padding builtin that clears the padding bits in object representation (but preserves value representation). Inside of unions it clears only those padding bits that are padding for all the uni

Re: [PATCH 1/2] [WIP] OpenACC: Add Graphite-base handling of "auto" loops

2020-11-16 Thread Richard Biener via Gcc-patches
On Thu, Nov 12, 2020 at 11:11 AM Frederik Harwath wrote: > > > This patch enables the use of Graphite for the analysis of OpenACC > "auto" loops. The goal is to decide if a loop may be parallelized > (i.e. converted to an "independent" loop) or not. Graphite and the > functionality on which it re

[PATCH] pointer-compare-1.c: Add __attribute__((used))

2020-11-16 Thread H.J. Lu via Gcc-patches
I am going to install this patch as requested: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97803#c5 H.J. --- c-c++-common/asan/pointer-compare-1.c assumes the certain order for variable placement. Add __attribute__((used)) to avoid variable placement changes due to SHF_GNU_RETAIN. PR t

Re: [PATCH] [tree-optimization] Optimize two patterns with three xors.

2020-11-16 Thread Richard Biener via Gcc-patches
On Thu, Nov 12, 2020 at 2:53 AM Eugene Rozenfeld via Gcc-patches wrote: > > Simplify (a ^ b) & ((b ^ c) ^ a) --> (a ^ b) & ~c. > > int f(int a, int b, int c) > { > return (a ^ b) & ((b ^ c) ^ a); > } > > Code without the patch: > moveax,edx > xoreax,esi > xoreax,edi > xoredi,es

Re: [RFH] Use get_deref_alias_type in ipa-modref

2020-11-16 Thread Richard Biener
On Mon, 9 Nov 2020, Jan Hubicka wrote: > Hi, > this patch implements cleanup we discussed some time ago on IRC. > Instead of recording reference types in ipa-modref I record pointer > types same way as done by RTL attributes and I moved corresponding logic > to tree-ssa-alias.c. > Problem is that

RE: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Tamar Christina via Gcc-patches
> -Original Message- > From: Richard Sandiford > Sent: Monday, November 16, 2020 11:56 AM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw > ; nd ; Marcus Shawcroft > > Subject: Re: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex > Addition, Multiply and F

[PATCH] modref: add missing Param Optimization keywords

2020-11-16 Thread Martin Liška
Hello. This fixes: FAIL: compiler driver --help=common option(s): "^ +-.*[^:.]$" absent from output: " --param=modref-max-depth= Maximum depth of DFS walk used by modref escape analysis" Ready to be installed after tests? Thanks, Martin gcc/ChangeLog: * params.opt: All modref para

Re: [PATCH v2] Add if-chain to switch conversion pass.

2020-11-16 Thread Richard Biener via Gcc-patches
On Mon, Nov 9, 2020 at 1:26 PM Martin Liška wrote: > > On 11/6/20 1:31 PM, Richard Biener wrote: > > On Fri, Oct 16, 2020 at 4:04 PM Martin Liška wrote: > >> > >> Hello. > >> > >> There's another version of the patch that should be based on what > >> I discussed with Richi and Jakub: > >> > >> -

Re: [PATCH] modref: add missing Param Optimization keywords

2020-11-16 Thread Jan Hubicka
> Hello. > > This fixes: > > FAIL: compiler driver --help=common option(s): "^ +-.*[^:.]$" absent from > output: " --param=modref-max-depth= Maximum depth of DFS walk used by > modref escape analysis" > > Ready to be installed after tests? > Thanks, > Martin > > gcc/ChangeLog: > > *

Re: Detect EAF flags in ipa-modref

2020-11-16 Thread Richard Biener
On Mon, 16 Nov 2020, Jan Hubicka wrote: > > On Nov 15 2020, Jan Hubicka wrote: > > > > >> See PR97840. > > > Thanks, > > > this is a false positive where we fail to discover that pointed-to type > > > is empty on non-x86_64 targets. This is triggered by better alias > > > analysis caused by non-

Re: Detect EAF flags in ipa-modref

2020-11-16 Thread Jan Hubicka
> > > > Richi, I think we can add "safe" parameter to gimple_call_arg_flags and > > bypass this logic when we use it for warnings only (having body that > > does not use the value is quite strong hint that it is unused by the > > function). > > Eh, please not. OK, I do not care that much as long

Re: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Richard Sandiford via Gcc-patches
Tamar Christina writes: >> > +(define_int_attr rot_op [(UNSPEC_FCMLS "") >> > + (UNSPEC_FCMLS180 "_conj") >> > + (UNSPEC_FCMLA "") >> > + (UNSPEC_FCMLA180 "_conj") >> > + (UNSPEC_FCMUL "") >> > + (UNSPEC_FCMU

Re: [PATCH 1/2] [WIP] OpenACC: Add Graphite-base handling of "auto" loops

2020-11-16 Thread Frederik Harwath
Hi Richard, Richard Biener writes: > On Thu, Nov 12, 2020 at 11:11 AM Frederik Harwath > wrote: >> >> This patch enables the use of Graphite for the analysis of OpenACC >> "auto" loops. [...] >> Furthermore, Graphite is extended by functionality that extends >> its applicability to real-world

RE: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Tamar Christina via Gcc-patches
> -Original Message- > From: Richard Sandiford > Sent: Monday, November 16, 2020 12:47 PM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw > ; nd ; Marcus Shawcroft > > Subject: Re: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex > Addition, Multiply and

PING [PATCH 0/3] Enable PGO/LTO build for binutils+gdb

2020-11-16 Thread H.J. Lu via Gcc-patches
On Thu, Oct 29, 2020 at 12:11 PM H.J. Lu wrote: > > Add the --enable-pgo-build[=lto] configure option. When binutils+gdb > is not built together with GCC, --enable-pgo-build enables the PGO build: > > 0. Pass --plugin to AR and RANLIB. > 1. First build with -fprofile-generate. > 2. Use "make mayb

Re: [PATCH 1/2] middle-end : Initial scaffolding and definitions for SLP patttern matches

2020-11-16 Thread Richard Biener
On Sat, 14 Nov 2020, Tamar Christina wrote: > Hi All, > > This patch adds the pre-requisites and general scaffolding for supporting > doing > SLP pattern matching. > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. > > Ok for master? Comments below. > Thanks, > Tamar > > gc

Re: [PATCH 1/2] middle-end : Initial scaffolding and definitions for SLP patttern matches

2020-11-16 Thread Richard Biener
On Mon, 16 Nov 2020, Richard Biener wrote: > On Sat, 14 Nov 2020, Tamar Christina wrote: > > > Hi All, > > > > This patch adds the pre-requisites and general scaffolding for supporting > > doing > > SLP pattern matching. > > > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. >

Re: [PATCH] AArch64: Improve inline memcpy expansion

2020-11-16 Thread Wilco Dijkstra via Gcc-patches
Hi Richard, >> +  if (size <= 24 || !TARGET_SIMD > > Nit: one condition per line when the condition spans multiple lines. Fixed. >> +  || (size <= (max_copy_size / 2) >> +  && (aarch64_tune_params.extra_tuning_flags >> +  & AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS))) >> +    copy_bits = GET_M

Re: [PATCH v2 10/16]AArch64: Add NEON RTL patterns for Complex Addition, Multiply and FMA.

2020-11-16 Thread Richard Biener via Gcc-patches
On Mon, Nov 16, 2020 at 1:48 PM Richard Sandiford via Gcc-patches wrote: > > Tamar Christina writes: > >> > +(define_int_attr rot_op [(UNSPEC_FCMLS "") > >> > + (UNSPEC_FCMLS180 "_conj") > >> > + (UNSPEC_FCMLA "") > >> > + (UNSPEC_FCMLA180 "_c

Re: [3/3][aarch64] Add support for vec_widen_shift pattern

2020-11-16 Thread Richard Biener
On Fri, 13 Nov 2020, Joel Hutton wrote: > Tests are still running, but I believe I've addressed all the comments. > > > > +#include > > > + > > > > SVE targets will need a: > > > > #pragma GCC target "+nosve" > > > > here, since we'll generate different code for SVE. > > Fixed. > > > > +/*

Re: [2/3][vect] Add widening add, subtract vect patterns

2020-11-16 Thread Richard Biener
On Fri, 13 Nov 2020, Joel Hutton wrote: > Tests are still running, but I believe I've addressed all the comments. > > > Like Richard said, the new patterns need to be documented in md.texi > > and the new tree codes need to be documented in generic.texi. > > Done. > > > While we're using tree c

[Patch] Fortran: cleanup OpenMP's OMP_LIST_* handling

2020-11-16 Thread Tobias Burnus
Hi all, as discussed the other day (I think via IRC or in a patch review), omp_list_clauses did grow quite a bit: it has 26 entries and I am about to add two more. This variable is used as: typedef struct gfc_omp_clauses { ... gfc_omp_namelist *lists[OMP_LIST_NUM]; with sizeof(gfc_omp

Re: OpenACC 'kernels' testsuite failures

2020-11-16 Thread Thomas Schwinge
Hi David! Thanks for reporting. On 2020-11-15T15:47:15-0500, David Edelsohn wrote: > I am seeing a number of new failures on AIX related to the OpenACC > kernels patches. > > c-c++-common/goacc/kernels-decompose-1.c > c-c++-common/goacc/kernels-decompose-2.c > gfortran.dg/goacc/kernels-decompose

[PATCH] tree-optimization/97838 - fix SLP leaf detection

2020-11-16 Thread Richard Biener
This properly handles reduction PHI nodes with unrepresented initial value as leaf in the SLP graph. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-16 Richard Biener PR tree-optimization/97838 * tree-vect-slp.c (vect_slp_build_vertices): Properly handle

Re: [PATCH 2/2] middle-end : Add support for complex pattern detection for Add, Mul, FMA and FMS

2020-11-16 Thread Richard Biener
On Sat, 14 Nov 2020, Tamar Christina wrote: > Hi All, > > This patch series adds support for SLP vectorization of complex instructions > [1]. > > These instructions exist only in their vector forms and require you to > recognize > two statements in parallel. Complex operations usually require

Innovative automotive performance products

2020-11-16 Thread Emily Wilson
Hi, Would you be interested in contacting the influencers across the *innovative automotive performance products*. to boost your sales efforts? We can help you with contacts from the below communities: *Automotive Engineers* *Automotive Engineering Technicians* *Automotive Specialty Technici

GCC 11.0.0 Status Report (2020-11-16), Stage 3 in effect now

2020-11-16 Thread Richard Biener
Status == GCC trunk which eventually will become GCC 11 is now in Stage 3 which means open for general bugfixing. We have accumulated quite a number of regressions, a lot of the untriaged and eventually stale. Please help in cleaning up. Quality Data Priority # C

Hwasan v5

2020-11-16 Thread Matthew Malcomson via Gcc-patches
Hello, Bootstrapped and regression tested on AArch64 (have not finished running tests on the Linux Kernel yet). Sending upstream to catch next set of comments early. This version mainly just consists of requested changes. Some notable exceptions: Have rebased onto a newer version, there was a c

[PATCH 7/X] libsanitizer: Add tests

2020-11-16 Thread Matthew Malcomson via Gcc-patches
Adding hwasan tests. Only interesting thing here is that we have to make sure the tagging mechanism is deterministic to avoid flaky tests. gcc/testsuite/ChangeLog: * c-c++-common/ubsan/sanitize-recover-7.c: * c-c++-common/hwasan/aligned-alloc.c: New test. * c-c++-common/h

[PATCH 2/X] libsanitizer: Only build libhwasan when targeting AArch64

2020-11-16 Thread Matthew Malcomson via Gcc-patches
Though the library has limited support for x86, we don't have any support for generating code targeting x86 so there is no point building for that target. Ensure we build for AArch64 but not for AArch64 ilp32. libsanitizer/ChangeLog: * Makefile.am: Condition Build hwasan directory.

[PATCH 3/X] libsanitizer: Add option to bootstrap using HWASAN

2020-11-16 Thread Matthew Malcomson via Gcc-patches
This is an analogous option to --bootstrap-asan to configure. It allows bootstrapping GCC using HWASAN. For the same reasons as for ASAN we have to avoid using the HWASAN sanitizer when compiling libiberty and the lto-plugin. Also add a function to query whether -fsanitize=hwaddress has been pas

[PATCH 1/X] libsanitizer: Tie the hwasan library into our build system

2020-11-16 Thread Matthew Malcomson via Gcc-patches
This patch tries to tie libhwasan into the GCC build system in the same way that the other sanitizer runtime libraries are handled. libsanitizer/ChangeLog: * Makefile.am: Build libhwasan. * Makefile.in: Build libhwasan. * asan/Makefile.in: Build libhwasan. * con

[PATCH 5/X] libsanitizer: mid-end: Introduce stack variable handling for HWASAN

2020-11-16 Thread Matthew Malcomson via Gcc-patches
Handling stack variables has three features. 1) Ensure HWASAN required alignment for stack variables When tagging shadow memory, we need to ensure that each tag granule is only used by one variable at a time. This is done by ensuring that each tagged variable is aligned to the tag granule repres

[PATCH 4/X] libsanitizer: options: Add hwasan flags and argument parsing

2020-11-16 Thread Matthew Malcomson via Gcc-patches
These flags can't be used at the same time as any of the other sanitizers. We add an equivalent flag to -static-libasan in -static-libhwasan to ensure static linking. The -fsanitize=kernel-hwaddress option is for compiling targeting the kernel. This flag has defaults to match the LLVM implementat

[PATCH 6/X] libsanitizer: Add hwasan pass and associated gimple changes

2020-11-16 Thread Matthew Malcomson via Gcc-patches
There are four main features to this change: 1) Check pointer tags match address tags. When sanitizing for hwasan we now put HWASAN_CHECK internal functions before memory accesses in the `asan` pass. This checks that a tag in the pointer being used match the tag stored in shadow memory for the m

RE: [PATCH 2/2] middle-end : Add support for complex pattern detection for Add, Mul, FMA and FMS

2020-11-16 Thread Tamar Christina via Gcc-patches
Hi Richi, thanks for the review! Just a quick comment on one of the questions asked: > -Original Message- > From: rguent...@c653.arch.suse.de On > Behalf Of Richard Biener > Sent: Monday, November 16, 2020 3:12 PM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; o...@ucw.cz; >

Ping^3 Re: float.h: C2x NaN and Inf macros

2020-11-16 Thread Joseph Myers
Ping^3. This patch is still pending review (the DFP sNaN followup has been approved). (The independent C2x patches and

[PATCH] [PR target/97726] arm: [testsuite] fix some simd tests on armbe

2020-11-16 Thread Andrea Corallo via Gcc-patches
Andrea Corallo via Gcc-patches writes: > Hi all, > > I'd like to submit this patch to fix three testcases reported to be > failing on arm big endian on PR target/97727. > > Okay for trunk? > > Thanks > > Andrea Ops I got the PR number wrong, target/97726 is the correct one. Attached the updat

Re: [PATCH] [PR target/97727] aarch64: [testcase] fix bf16_vstN_lane_2.c for big endian targets

2020-11-16 Thread Andrea Corallo via Gcc-patches
Andrea Corallo via Gcc-patches writes: > Hi all, > > this simple patch is to fix PR target/97727. > > Okay for trunk and gcc-10? > > Thanks! > > Andrea > > 2020-11-09 Andrea Corallo > > PR target/97727 > * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_2.c: Relax > re

Re: [PATCH] c++: Predefine __STDCPP_THREADS__ in the compiler if thread model is not single

2020-11-16 Thread Tom Tromey
Jakub> If it is done in the library, it will be defined only if any of the library Jakub> headers are included. Jakub> The https://eel.is/c++draft/cpp.predefined wording doesn't look like it Jakub> would allow defining it only if certain headers are included Jakub> (unlike e.g. the __cpp_lib_* mac

Re: OpenACC 'kernels' testsuite failures

2020-11-16 Thread David Edelsohn via Gcc-patches
On Mon, Nov 16, 2020 at 9:16 AM Thomas Schwinge wrote: > > Hi David! > > Thanks for reporting. > > On 2020-11-15T15:47:15-0500, David Edelsohn wrote: > > I am seeing a number of new failures on AIX related to the OpenACC > > kernels patches. > > > > c-c++-common/goacc/kernels-decompose-1.c > > c-

Re: OpenACC 'kernels' testsuite failures

2020-11-16 Thread Thomas Schwinge
Hi David! While you were writing your email, I've also been busy: On 2020-11-16T11:32:46-0500, David Edelsohn wrote: > On Mon, Nov 16, 2020 at 9:16 AM Thomas Schwinge > wrote: >> On 2020-11-15T15:47:15-0500, David Edelsohn wrote: >> > I am seeing a number of new failures on AIX related to the

Re: [PATCH] c++: Predefine __STDCPP_THREADS__ in the compiler if thread model is not single

2020-11-16 Thread Jonathan Wakely via Gcc-patches
On 16/11/20 09:23 -0700, Tom Tromey wrote: Jakub> If it is done in the library, it will be defined only if any of the library Jakub> headers are included. Jakub> The https://eel.is/c++draft/cpp.predefined wording doesn't look like it Jakub> would allow defining it only if certain headers are inc

Re: [stage1][PATCH] Change semantics of -frecord-gcc-switches and add -frecord-gcc-switches-format.

2020-11-16 Thread Qing Zhao via Gcc-patches
> On Nov 16, 2020, at 4:29 AM, Martin Liška wrote: > > On 11/10/20 9:53 PM, Qing Zhao wrote: >> The deadline for gcc11 stage 1 is approaching. The pinged patch is one that >> has been sent for review 8 months ago in order to >> Make into gcc11. > > Hello. > > You didn't miss the deadline a

Re: [PATCH] c++: Implement -Wuninitialized for mem-initializers [PR19808]

2020-11-16 Thread Martin Sebor via Gcc-patches
On 11/15/20 3:44 PM, Marek Polacek via Gcc-patches wrote: This patch implements the long-desired -Wuninitialized warning for member initializer lists, so that the front end can detect bugs like struct A { int a; int b; A() : b(1), a(b) { } }; where the field 'b' is used uni

[Patch][wwwdocs] gcc-11/changes.html update for OpenMP + !GCC$ attributes + project/libgomp/ omp 5.1 update

2020-11-16 Thread Tobias Burnus
This patch tries to do a minor update for * htdocs/projects/gomp/index.html Add link to the just-released OpenMP 5.1 * htdocs/gcc-11/changes.html: - Fortran: Mention the new "!GCC$ attributes DEPRECATED" - OpenMP: Update list. (For OpenMP, there are still some patches pending review and other

Re: introduce overridable clear_cache emitter

2020-11-16 Thread Olivier Hainque
Hi Alex, Thanks for your proposal on this! > On 11 Nov 2020, at 03:35, Alexandre Oliva wrote: > > This patch introduces maybe_emit_call_builtin___clear_cache for the > builtin expander machinery and the trampoline initializers to use to > clear the instruction cache, removing a source of incons

Re: [Patch][wwwdocs] gcc-11/changes.html update for OpenMP + !GCC$ attributes + project/libgomp/ omp 5.1 update

2020-11-16 Thread Jakub Jelinek via Gcc-patches
On Mon, Nov 16, 2020 at 07:15:57PM +0100, Tobias Burnus wrote: > This patch tries to do a minor update for > * htdocs/projects/gomp/index.html > Add link to the just-released OpenMP 5.1 > > * htdocs/gcc-11/changes.html: > - Fortran: Mention the new "!GCC$ attributes DEPRECATED" > - OpenMP: Updat

Re: [Patch][wwwdocs] gcc-11/changes.html update for OpenMP + !GCC$ attributes + project/libgomp/ omp 5.1 update

2020-11-16 Thread Thomas Koenig via Gcc-patches
Hi Tobias, should the OpenMP news about Fortran be mentioned (also) in the Fortran section? Best regards Thomas

[PATCH v1 1/2] Simplify shifts wider than the bitwidth of types

2020-11-16 Thread Philipp Tomsich
From: Philipp Tomsich While most shifts wider than the bitwidth of a type will be caught by other passes, it is possible that these show up for VRP. Consider the following example: int func (int a, int b, int c) { return (a << ((b && c) - 1)); } This adds simplify_using_ranges::simplif

[PATCH v1 2/2] RISC-V: Adjust predicates for immediate shift operands

2020-11-16 Thread Philipp Tomsich
From: Philipp Tomsich In case a negative shift operand makes it through into the backend, it will be treated as unsigned and truncated (using a mask) to fit into the range 0..31 (for SImode) and 0..63 (for DImode). Consider the following output illustrating the issue and shows how the shift amou

Re: [PATCH] c++: Implement -Wuninitialized for mem-initializers [PR19808]

2020-11-16 Thread Jason Merrill via Gcc-patches
On 11/16/20 12:42 PM, Martin Sebor wrote: On 11/15/20 3:44 PM, Marek Polacek via Gcc-patches wrote: This patch implements the long-desired -Wuninitialized warning for member initializer lists, so that the front end can detect bugs like    struct A { int a; int b; A() : b(1), a(b)

Re: [PATCH] c++: Implement -Wuninitialized for mem-initializers [PR19808]

2020-11-16 Thread Marek Polacek via Gcc-patches
On Mon, Nov 16, 2020 at 02:02:00PM -0500, Jason Merrill via Gcc-patches wrote: > On 11/16/20 12:42 PM, Martin Sebor wrote: > > On 11/15/20 3:44 PM, Marek Polacek via Gcc-patches wrote: > > > This patch implements the long-desired -Wuninitialized warning for > > > member initializer lists, so that t

[PATCH][pushed] mklog: support unidiff 0.5.4

2020-11-16 Thread Martin Liška
Hi. The patch adds support of unidiff 0.5.4 for mklog.py. Tested that in a virtual environment. Martin contrib/ChangeLog: * mklog.py: Do not call read on an input stream. Fix some flake8 issues. --- contrib/mklog.py | 9 - 1 file changed, 4 insertions(+), 5 deletions(-

Re: Detect EAF flags in ipa-modref

2020-11-16 Thread Martin Liška
On 11/16/20 1:44 PM, Jan Hubicka wrote: Martin, we collected very many warnings when building with configure --with-build-config=bootstrap-lto.mk This patch fixes some of them, but there are many others, can you take a look? Hello. I guess you mean Martin Jambor, or me? Please CC :) Martin

Re: [PATCH] modref: add missing Param Optimization keywords

2020-11-16 Thread Martin Liška
On 11/16/20 1:25 PM, Jan Hubicka wrote: Hello. This fixes: FAIL: compiler driver --help=common option(s): "^ +-.*[^:.]$" absent from output: " --param=modref-max-depth= Maximum depth of DFS walk used by modref escape analysis" Ready to be installed after tests? Thanks, Martin gcc/ChangeLo

Re: Detect EAF flags in ipa-modref

2020-11-16 Thread Jan Hubicka
> On 11/16/20 1:44 PM, Jan Hubicka wrote: > > Martin, we collected very many warnings when building with > > configure --with-build-config=bootstrap-lto.mk > > This patch fixes some of them, but there are many others, can you take a > > look? > > Hello. > > I guess you mean Martin Jambor, or me?

[PATCH] libstdc++: Fix ranges::search_n for random access iterators [PR97828]

2020-11-16 Thread Patrick Palka via Gcc-patches
My ranges transcription of the std::search_n implementation for random access iterators missed a crucial part of the algorithm which the tests unfortunately didn't catch. When __remainder is less than __count at the start of an iteration of the outer while loop, it means we're continuing a run of

  1   2   >