[PATCH] fIx PR92704

2019-11-29 Thread Richard Biener
Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-29 Richard Biener PR tree-optimization/92704 * tree-if-conv.c (combine_blocks): Deal with virtual PHIs in loops performing only loads. * gcc.dg/torture/pr92704.c: New testcase. Ind

Don't pass booleans as mask types to simd clones (PR 92710)

2019-11-29 Thread Richard Sandiford
In this PR we assigned a vector mask type to the result of a comparison and then tried to pass that mask type to a simd clone, which expected a normal (non-mask) type instead. This patch simply punts on call arguments that have a mask type. A better fix would be to pattern-match the comparison to

Re: [SVE] PR89007 - Implement generic vector average expansion

2019-11-29 Thread Prathamesh Kulkarni
On Fri, 22 Nov 2019 at 17:09, Prathamesh Kulkarni wrote: > > On Wed, 20 Nov 2019 at 16:54, Richard Biener wrote: > > > > On Wed, 20 Nov 2019, Richard Sandiford wrote: > > > > > Hi, > > > > > > Thanks for doing this. Adding Richard on cc:, since the SVE subject > > > tag might have put him off.

RE: [PATCH][GCC][SLP][testsuite] Turn off vect-epilogue-nomask for slp-rect-3

2019-11-29 Thread Richard Biener
On Thu, 28 Nov 2019, Tamar Christina wrote: > Hi Richi, > > > > > > > This patch turns off vect-epilogue-nomask for slp-reduc-3 as it seems > > > that the epiloque in this loop is vectorizable using SLP and smaller > > > VF. Since this test expects there to be no SLP vectorization at all > > > t

Re: Don't pass booleans as mask types to simd clones (PR 92710)

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 9:30 AM Richard Sandiford wrote: > > In this PR we assigned a vector mask type to the result of a comparison > and then tried to pass that mask type to a simd clone, which expected > a normal (non-mask) type instead. > > This patch simply punts on call arguments that have a

The Trophex Show - Attendees List

2019-11-29 Thread Emily Jones
Hi Hope you are doing well. We are following up to if you would be interested in the Attendees/Visitors List of The Trophex Show 12 - 13 Jan 2020 NEC, Birmingham, UK Counts = 7,640 our company provides the following details regarding your attendees: Title, Client Name, Email and Website, addres

[PATCH v2 0/2] Fix run-time handling of `libgcc_s' in testing

2019-11-29 Thread Maciej W. Rozycki
Hi, This is a follow-up to the original proposal of a change posted here: to address a catastrophic libgo testsuite failure in cross-compilation where shared `libgcc_s' library cannot be found by the loader at run time in build-tree t

[PATCH v2 1/2] driver: Do not warn about ineffective `-x' option if no inputs were given

2019-11-29 Thread Maciej W. Rozycki
Fix an issue with the GCC driver and the `-x' option where a warning is issued in an invocation like: $ riscv64-linux-gnu-gcc -print-multi-directory -x c++ riscv64-linux-gnu-gcc: warning: '-x c++' after last input file has no effect lib64/lp64d $ where no inputs were given and hence the use of

[PATCH v2 2/2] testsuite: Fix run-time tracking down of `libgcc_s'

2019-11-29 Thread Maciej W. Rozycki
Fix a catastrophic libgo testsuite failure in cross-compilation where the shared `libgcc_s' library cannot be found by the loader at run time in build-tree testing and consequently all test cases fail the execution stage, giving output (here with the `x86_64-linux-gnu' host and the `riscv64-lin

Re: [PATCH] PR90838: Support ctz idioms

2019-11-29 Thread Richard Biener
On Fri, Nov 15, 2019 at 4:24 PM Wilco Dijkstra wrote: > > Hi Richard, > > > Uh. Well. I think that the gimple-match-head.c hunk isn't something we > > want. Instead, > > since this optimizes a memory access, the handling should move > > to tree-ssa-forwprop.c where you _may_ use a (match ...)

[PATCH] Fix PR92715

2019-11-29 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-29 Richard Biener PR tree-optimization/92715 * tree-ssa-forwprop.c (simplify_vector_constructor): Bail out for uniform vectors and source vectors with less elements than the destin

[committed] Fix lambda handling in OpenMP declare reduction (PR c++/60228)

2019-11-29 Thread Jakub Jelinek
Hi! When OpenMP declare reduction appears outside of block scope (i.e. namespace scope or class scope), an artificial function that is actually never called and should be never emitted is created to hold the statements of the combiner and initializer from which then OpenMP reduction clause handlin

[PING][PATCH] doc: Correct `--enable-version-specific-runtime-libs' support information

2019-11-29 Thread Maciej W. Rozycki
On Wed, 20 Nov 2019, Maciej W. Rozycki wrote: > The `--enable-version-specific-runtime-libs' configuration option is now > supported throughout all of our target library subdirectories, so update > installation documentation accordingly and also mention that the default > for the option is `yes

[C++ PATCH] (temporarily) undefine __cpp_consteval

2019-11-29 Thread Jakub Jelinek
Hi! When submitting the P1902R1 patch for missing feature macros, I completely forgot that we can't claim consteval support, because we have the /* FIXME: For now. */ if (virtualp && (inlinep & 8) != 0) { sorry_at (DECL_SOURCE_LOCATION (decl), "% % method %qD not sup

[0/5] Don't defer vector type choice for bools (PR 92596)

2019-11-29 Thread Richard Sandiford
When vectorising a comparison between N-bit integers or N-bit floats, we want the boolean result to use the vector mask type for N-bit elements. On most targets this is a vector of N-bit integers, but for SVE it's a vector predicate and on AVX512 it's a scalar integer mask. On the other hand, when

Re: [SVE] PR89007 - Implement generic vector average expansion

2019-11-29 Thread Richard Biener
On Fri, Nov 22, 2019 at 12:40 PM Prathamesh Kulkarni wrote: > > On Wed, 20 Nov 2019 at 16:54, Richard Biener wrote: > > > > On Wed, 20 Nov 2019, Richard Sandiford wrote: > > > > > Hi, > > > > > > Thanks for doing this. Adding Richard on cc:, since the SVE subject > > > tag might have put him off

[1/5] Improve tree-vect-patterns.c handling of boolean comparisons

2019-11-29 Thread Richard Sandiford
vect_recog_bool_pattern assumed that a comparison between two booleans should always become a comparison of vector mask types (implemented as an XOR_EXPR). But if the booleans in question are generated as data values (e.g. because they're loaded directly from memory), we should treat them like ord

[2/5] Make vectorizable_operation punt early on codes it doesn't handle

2019-11-29 Thread Richard Sandiford
vectorizable_operation returned false for codes that are handled by vectorizable_shift, but only after it had already done a lot of work. Checking earlier should be more efficient and avoid polluting the logs with duplicate info. Also, there was no such early-out for comparisons or COND_EXPRs. Fix

[3/5] Make vect_get_mask_type_for_stmt take a group size

2019-11-29 Thread Richard Sandiford
This patch makes vect_get_mask_type_for_stmt and get_mask_type_for_scalar_type take a group size instead of the SLP node, so that later patches can call it before an SLP node has been built. 2019-11-29 Richard Sandiford gcc/ * tree-vectorizer.h (get_mask_type_for_scalar_type): Replace

[4/5] Record the vector mask precision in stmt_vec_info

2019-11-29 Thread Richard Sandiford
search_type_for_mask uses a worklist to search a chain of boolean operations for a natural vector mask type. This patch instead does that in vect_determine_stmt_precisions, where we also look for overpromoted integer operations. We then only need to compute the precision once and can cache it in

[PATCH] ipa-cp: Avoid ICEs when looking at expanded thunks and unoptimized functions (PR 92476)

2019-11-29 Thread Martin Jambor
Hi, the patch below fixes the i686 failures reported in PR 92476. Newly expanded "artificial" thunks need to be analyzed when expanded so that we create necessary function summaries and jump functions for them. They still don't get IPA-CP lattices, so I looked at all accesses to those and verifie

[5/5] Don't defer choice of vector type for bools (PR 92596)

2019-11-29 Thread Richard Sandiford
Now that stmt_vec_info records the choice between vector mask types and normal nonmask types, we can use that information in vect_get_vector_types_for_stmt instead of deferring the choice of vector type till later. vect_get_mask_type_for_stmt used to check whether the boolean inputs to an operatio

Re: [2/5] Make vectorizable_operation punt early on codes it doesn't handle

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 11:13 AM Richard Sandiford wrote: > > vectorizable_operation returned false for codes that are handled by > vectorizable_shift, but only after it had already done a lot of work. > Checking earlier should be more efficient and avoid polluting the logs > with duplicate info.

Re: [3/5] Make vect_get_mask_type_for_stmt take a group size

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 11:14 AM Richard Sandiford wrote: > > This patch makes vect_get_mask_type_for_stmt and > get_mask_type_for_scalar_type take a group size instead of > the SLP node, so that later patches can call it before an > SLP node has been built. OK. > > 2019-11-29 Richard Sandiford

Re: [patch] follow up on the aarch64 r18 story

2019-11-29 Thread Olivier Hainque
Hi Richard, > On 21 Nov 2019, at 23:44, Olivier Hainque wrote: >> +/* The pair of scratch registers used for stack probing during prologue. */ >> +#define PROBE_STACK_FIRST_REG R10_REGNUM >> +#define PROBE_STACK_SECOND_REG R11_REGNUM >> + >> >> These should be moved

Re: [PATCH] ipa-cp: Avoid ICEs when looking at expanded thunks and unoptimized functions (PR 92476)

2019-11-29 Thread Jan Hubicka
> Hi, > > the patch below fixes the i686 failures reported in PR 92476. Newly > expanded "artificial" thunks need to be analyzed when expanded so that > we create necessary function summaries and jump functions for them. > They still don't get IPA-CP lattices, so I looked at all accesses to > tho

Re: [4/5] Record the vector mask precision in stmt_vec_info

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 11:14 AM Richard Sandiford wrote: > > search_type_for_mask uses a worklist to search a chain of boolean > operations for a natural vector mask type. This patch instead does > that in vect_determine_stmt_precisions, where we also look for > overpromoted integer operations.

Re: [1/5] Improve tree-vect-patterns.c handling of boolean comparisons

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 11:12 AM Richard Sandiford wrote: > > vect_recog_bool_pattern assumed that a comparison between two booleans > should always become a comparison of vector mask types (implemented as an > XOR_EXPR). But if the booleans in question are generated as data values > (e.g. becaus

Fix DR_GROUP_GAP for strided accesses (PR 92677)

2019-11-29 Thread Richard Sandiford
When dissolving an SLP-only group of accesses, we should only set the gap to group_size - 1 for normal non-strided groups. Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install? Richard 2019-11-29 Richard Sandiford gcc/ PR tree-optimization/92677 * tree-vect-loop.

Re: [C] Add a target hook that allows targets to verify type usage

2019-11-29 Thread Richard Sandiford
Ping Richard Sandiford writes: > This patch adds a new target hook to check whether there are any > target-specific reasons why a type cannot be used in a certain > source-language context. It works in a similar way to existing > hooks like TARGET_INVALID_CONVERSION and TARGET_INVALID_UNARY_OP.

Ping: [C++ PATCH] Opt out of GNU vector extensions for built-in SVE types

2019-11-29 Thread Richard Sandiford
Ping Richard Sandiford writes: > This is the C++ equivalent of r277950, which prevented the > use of the GNU vector extensions with SVE vector types for C. > [https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277950]. > I've copied the rationale below for reference. > > The changes here are

[PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Martin Liška
Hello. The patch is about streaming of at maximum 3 tree types that are used for memory references in IPA ICF. That helps rapidly to reduce number of function bodies loaded in WPA phase. Based on numbers for Firefox we get from: Init called for 87557 items (23.30%). ... Totally needed symbols: 4

Re: [Patch][OpenMP] Fix use_device_… with absent optional arg

2019-11-29 Thread Tobias Burnus
Revised patch after some re-considerations (and finding tons of issues with VALUE + OPTIONAL in gfortran itself). – What the patch does [all related to use_device_{addr,ptr} and 'optional' arguments]: For assumed-shape arrays, the compiler generates code like "if (arg) arg.0 = arg->data;". Hen

Re: [Patch][OpenMP/OpenACC/Fortran] Fix mapping of optional (present|absent) arguments

2019-11-29 Thread Tobias Burnus
Early *PING*. Tobias Burnus wrote: This patch does two things regarding explicit and automatical variable mapping to offloaded devices: * Fixes bugs with optional arguments, which are present. They were mapped but the mapping had issues causing run-time failures. * It now also handles absent

Re: [PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 12:37 PM Martin Liška wrote: > > Hello. > > The patch is about streaming of at maximum 3 tree types that are > used for memory references in IPA ICF. That helps rapidly to reduce > number of function bodies loaded in WPA phase. Based on numbers for > Firefox we get from: >

Re: [PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 1:17 PM Richard Biener wrote: > > On Fri, Nov 29, 2019 at 12:37 PM Martin Liška wrote: > > > > Hello. > > > > The patch is about streaming of at maximum 3 tree types that are > > used for memory references in IPA ICF. That helps rapidly to reduce > > number of function bod

Re: Fix DR_GROUP_GAP for strided accesses (PR 92677)

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 11:53 AM Richard Sandiford wrote: > > When dissolving an SLP-only group of accesses, we should only set > the gap to group_size - 1 for normal non-strided groups. > > Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install? OK. Probably also broken on branch(es).

[PATCH][amdgcn] Fix ICE in re-simplification of VEC_COND_EXPR

2019-11-29 Thread Harwath, Frederik
Hi, currently, on trunk, the tests gcc.dg/vect/vect-cond-reduc-1.c and gcc.dg/pr68286.c fail when compiling for amdgcn-unknown-amdhsa. The reason seems to lie in the interaction of the changes that have been introduced by revision r276659 ("Allow COND_EXPR and VEC_COND_EXPR condtions to trap" by

Re: [PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Jan Hubicka
> > It looks like a hack. First of all you do quite some useless work since > > already the caller of walk_stmt_* could check for the vector length. > > second you are streaming a quite random type here with not much > > semantic value, plus 't' is already the base of the memory reference. > > > >

Re: [PATCH][amdgcn] Fix ICE in re-simplification of VEC_COND_EXPR

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 1:24 PM Harwath, Frederik wrote: > > Hi, > currently, on trunk, the tests gcc.dg/vect/vect-cond-reduc-1.c and > gcc.dg/pr68286.c fail when compiling for amdgcn-unknown-amdhsa. > The reason seems to lie in the interaction of the changes that have been > introduced by revis

Re: [PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 1:33 PM Jan Hubicka wrote: > > > > It looks like a hack. First of all you do quite some useless work since > > > already the caller of walk_stmt_* could check for the vector length. > > > second you are streaming a quite random type here with not much > > > semantic value,

Re: [PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Jan Hubicka
> On Fri, Nov 29, 2019 at 1:33 PM Jan Hubicka wrote: > > > > > > It looks like a hack. First of all you do quite some useless work since > > > > already the caller of walk_stmt_* could check for the vector length. > > > > second you are streaming a quite random type here with not much > > > > sem

Re: [PATCH][amdgcn] Fix ICE in re-simplification of VEC_COND_EXPR

2019-11-29 Thread Harwath, Frederik
Hi Richard, On 29.11.19 13:37, Richard Biener wrote: > On Fri, Nov 29, 2019 at 1:24 PM Harwath, Frederik > wrote: > [...] >> It seems that this rule is not invoked when compiling for x86_64 where the >> generated code for vect-cond-reduc-1.c does not contain anything that would >> match this rul

Re: [5/5] Don't defer choice of vector type for bools (PR 92596)

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 11:16 AM Richard Sandiford wrote: > > Now that stmt_vec_info records the choice between vector mask > types and normal nonmask types, we can use that information in > vect_get_vector_types_for_stmt instead of deferring the choice > of vector type till later. > > vect_get_ma

Re: [PATCH][AArch64] Enable CLI for Armv8.6-a: armv8.6-a, i8mm and bf16

2019-11-29 Thread Richard Sandiford
Hi Dennis, Sorry for the slow response. Dennis Zhang writes: > Hi all, > > This patch is part of a series adding support for Armv8.6-A features. > It enables options including -march=armv8.6-a, +i8mm and +bf16. > The +i8mm and +bf16 features are mandatory for Armv8.6-a and optional > for Armv8.

Re: [PATCH] Stream memory access types in IPA ICF.

2019-11-29 Thread Richard Biener
On Fri, Nov 29, 2019 at 2:02 PM Richard Biener wrote: > > On Fri, Nov 29, 2019 at 1:57 PM Jan Hubicka wrote: > > > > Hi, > > this is an example (I just copied first few comparsions on libxul > > builds) > > The operators== seems all instances of nsCOMPtr. > > nsCOMPtr::operator=(nsCOMPtr&&) > > O

[C++ Patch] A few more cp_expr_loc_or_input_loc and a diagnostic regression fix

2019-11-29 Thread Paolo Carlini
Hi, a few more rather straightforward uses for cp_expr_loc_or_input_loc. Additionally, while working on the latter, I noticed that, compared to say, gcc-7, lately the code we have in cp_build_addr_expr_1 to diagnose taking the address of 'main' often doesn't work anymore, when the argument is

Re: [PATCH] PR85678: Change default to -fno-common

2019-11-29 Thread Martin Liška
Hello. I've noticed quite significant package failures caused by the revision. Would you please consider documenting this change in porting_to.html (and in changes.html) for GCC 10 release? Thank you

Re: [PATCH] ipa-cp: Avoid ICEs when looking at expanded thunks and unoptimized functions (PR 92476)

2019-11-29 Thread Martin Jambor
Hi, On Fri, Nov 29 2019, Jan Hubicka wrote: >> Hi, >> >> the patch below fixes the i686 failures reported in PR 92476. Newly >> expanded "artificial" thunks need to be analyzed when expanded so that >> we create necessary function summaries and jump functions for them. >> They still don't get IP

[PATCH] Fix ICE in re-simplification of VEC_COND_EXPR (was: Re: [PATCH][amdgcn] Fix ICE in re-simplification of VEC_COND_EXPR)

2019-11-29 Thread Harwath, Frederik
Hi, On 29.11.19 13:51, Harwath, Frederik wrote: >> condition for the inner vec_cond. Your fix looks reasonable but is >> very badly formatted. Can you instead do I hope the formatting looks better now. I have also removed the [amdgcn] from the subject line since the fact that this has been di

Re: [PATCH] Fix ICE in re-simplification of VEC_COND_EXPR (was: Re: [PATCH][amdgcn] Fix ICE in re-simplification of VEC_COND_EXPR)

2019-11-29 Thread Jakub Jelinek
On Fri, Nov 29, 2019 at 02:38:34PM +0100, Harwath, Frederik wrote: > 2019-11-29 Frederik Harwath > > gcc/ > * gimple-match-head.c (maybe_resimplify_conditional_op): use s/use/Use/ > generic_expr_could_trap_p to check if the condition of COND_EXPR or > VEC_COND_EXPR can trap.

[PATCH] Fix VN segfault

2019-11-29 Thread Richard Biener
This probably fixes a buffer overrun reported by Honza. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-29 Richard Biener * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Bail out early for too large objects. Index: gcc/tree-ssa-sccvn.

Re: [PATCH] Fix ICE in re-simplification of VEC_COND_EXPR (was: Re: [PATCH][amdgcn] Fix ICE in re-simplification of VEC_COND_EXPR)

2019-11-29 Thread Harwath, Frederik
Hi Jakub, On 29.11.19 14:41, Jakub Jelinek wrote: > s/use/Use/ > > [...] > > s/. /. / Right, thanks. Does that look ok for inclusion in trunk now? Best regards, Frederik 2019-11-29 Frederik Harwath gcc/ * gimple-match-head.c (maybe_resimplify_conditional_op): Use generic_

[PATCH] Add changes that I made in GCC 10 development cycle.

2019-11-29 Thread Martin Liška
Hello. I'm sending entries for changes.html file for GCC 10. Martin --- htdocs/gcc-10/changes.html | 38 ++ 1 file changed, 38 insertions(+) diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html index f0f0d312..67c5234d 100644 --- a/htdocs/g

[PR92726] OpenACC: 'NULL'-in -> no-op, and/or 'NULL'-out (was: [PATCH 1/5, OpenACC] Allow NULL as an argument to OpenACC 2.6 directives)

2019-11-29 Thread Thomas Schwinge
Hi Tobias! Reviewing your <8be82276-81b1-817c-fcd2-51f24f5fe2d2@codesourcery.com">http://mid.mail-archive.com/8be82276-81b1-817c-fcd2-51f24f5fe2d2@codesourcery.com> "[Patch][OpenMP/OpenACC/Fortran] Fix mapping of optional (present|absent) arguments" reminded me that still this behavioral change ha

Re: [C++ PATCH] (temporarily) undefine __cpp_consteval

2019-11-29 Thread Marek Polacek
On Fri, Nov 29, 2019 at 10:30:13AM +0100, Jakub Jelinek wrote: > --- a/htdocs/projects/cxx-status.html > +++ b/htdocs/projects/cxx-status.html > @@ -288,7 +288,8 @@ > > Immediate functions (consteval) >http://wg21.link/p1073r3";>P1073R3 > - 10 > > + 10 > +

Re: [PATCH] PR85678: Change default to -fno-common

2019-11-29 Thread Wilco Dijkstra
Hi Martin, > I've noticed quite significant package failures caused by the revision. How significant? Is it mostly the common mistake of forgetting extern? > Would you please consider documenting this change in porting_to.html > (and in changes.html) for GCC 10 release? Sure, I already had a pa

Re: [PATCH] Fix ICE in re-simplification of VEC_COND_EXPR

2019-11-29 Thread Richard Sandiford
"Harwath, Frederik" writes: > Hi Jakub, > > On 29.11.19 14:41, Jakub Jelinek wrote: > >> s/use/Use/ >> >> [...] >> >> s/. /. / > > Right, thanks. Does that look ok for inclusion in trunk now? > > Best regards, > Frederik > > > 2019-11-29 Frederik Harwath > > gcc/ > * gimple-match-head.

[PATCH] libstdc++:: improve how pretty printers find node types (PR 91997)

2019-11-29 Thread Jonathan Wakely
This fixes two related problems. The iterators for node-based containers use nested typedefs such as std::list::iterator::_Node to denote their node types. As reported in https://bugzilla.redhat.com/show_bug.cgi?id=1053438 those typedefs are not always present in the debug info. That means the pr

Re: [C++ PATCH] (temporarily) undefine __cpp_consteval

2019-11-29 Thread Jakub Jelinek
On Fri, Nov 29, 2019 at 09:42:06AM -0500, Marek Polacek wrote: > On Fri, Nov 29, 2019 at 10:30:13AM +0100, Jakub Jelinek wrote: > > --- a/htdocs/projects/cxx-status.html > > +++ b/htdocs/projects/cxx-status.html > > @@ -288,7 +288,8 @@ > > > > Immediate functions (consteval) > >

BountySource campaign for the cc0 transition of the AVR backend

2019-11-29 Thread John Paul Adrian Glaubitz
Hi! Since we were successful with the BountySource campaign to convert the M68K backend from cc0 to MODE_CC [1], I have now started a second BountySource campaign which aims to achieve the same thing for the AVR backend [2]. The corresponding bug in Bugzilla is #92729 [3]. Let's see how it goes

Re: Fix DR_GROUP_GAP for strided accesses (PR 92677)

2019-11-29 Thread Richard Sandiford
Richard Biener writes: > On Fri, Nov 29, 2019 at 11:53 AM Richard Sandiford > wrote: >> >> When dissolving an SLP-only group of accesses, we should only set >> the gap to group_size - 1 for normal non-strided groups. >> >> Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install? > > OK.

Re: [C++ PATCH] (temporarily) undefine __cpp_consteval

2019-11-29 Thread Marek Polacek
On Fri, Nov 29, 2019 at 03:49:37PM +0100, Jakub Jelinek wrote: > On Fri, Nov 29, 2019 at 09:42:06AM -0500, Marek Polacek wrote: > > On Fri, Nov 29, 2019 at 10:30:13AM +0100, Jakub Jelinek wrote: > > > --- a/htdocs/projects/cxx-status.html > > > +++ b/htdocs/projects/cxx-status.html > > > @@ -288,7

Re: [PATCH] PR85678: Change default to -fno-common

2019-11-29 Thread Martin Liška
On 11/29/19 3:43 PM, Wilco Dijkstra wrote: How significant? Is it mostly the common mistake of forgetting extern? Likely, I see it in at least 400 packages out of 11000 which we have in openSUSE:Factory. Plus there are many 'nm -B' configure script defects: https://lists.gnu.org/archive/html/bu

Re: [PATCH] Fix ICE in re-simplification of VEC_COND_EXPR

2019-11-29 Thread Harwath, Frederik
On 29.11.19 15:46, Richard Sandiford wrote: > Thanks for doing this, looks good to me FWIW. I was seeing the same > failure for SVE but hadn't found time to look at it. Thank you all for the review. Committed as r278853. Frederik

Re: [PATCH][RFC] Add new ipa-reorder pass

2019-11-29 Thread Martin Liška
Hi. I'm sending v3 of the patch where I changed: - function.cold sections are properly put into .text.unlikely and not into a .text.sorted.XYZ section I've just finished measurements and I still have the original speed up for tramp3d: Total runs: 10, before: 13.92, after: 13.82, cmp: 99.219%

Re: [PATCH v3] PR92398: Fix testcase failure of pr72804.c

2019-11-29 Thread Segher Boessenkool
Hi Xiong Hu, On Mon, Nov 25, 2019 at 10:24:35AM +0800, luoxhu wrote: > P9LE generated instruction is not worse than P8LE. > mtvsrdd;xxlnot;stxv vs. not;not;std;std. To be clear: it can have longer latency, but latency via memory is not so critical, and this does save decode and other resources.

[PATCH][AArch64] Add support for fused compare and branch

2019-11-29 Thread Wilco Dijkstra
Hi, Add support for fused compare with branch. Rename the existing AARCH64_FUSE_CMP_BRANCH to ALU_BRANCH, and AARCH64_FUSE_ALU_BRANCH to ALU_CBZ to make it clear what is being fused. AArch64 bootstrap OK, OK to commit? ChangeLog: 2019-11-29 Wilco Dijkstra * config/aarch64/aarch64.c

Re: [PATCH][AArch64] Add support for fused compare and branch

2019-11-29 Thread Richard Sandiford
Wilco Dijkstra writes: > Hi, > > Add support for fused compare with branch. Rename the existing > AARCH64_FUSE_CMP_BRANCH to ALU_BRANCH, and AARCH64_FUSE_ALU_BRANCH > to ALU_CBZ to make it clear what is being fused. This night have been easier to review as three patches: (1) rename ALU_BRANCH t

[wwwdocs] Make gcc-9/ and gcc-10/ a bit more uniform (wrt. )

2019-11-29 Thread Gerald Pfeifer
...which is another way of saying that there actually were no style sheets applied to some of those (in addition to inconsistent formatting). Committed. Gerald commit 553b5e98de2dc90183773b0c0d750db62d6ad8db Author: Gerald Pfeifer Date: Fri Nov 29 17:40:34 2019 +0100 diff --git a/htdocs/gc

[PATCH committed] wwwdocs: Update simulator in backends.html (i386, m68k, s390, tilegx)

2019-11-29 Thread Segher Boessenkool
All of i386, m68k, s390, and tilegx are supported in QEMU (see https://wiki.qemu.org/Documentation/Platforms for example), so they should not have "S" (or "?" in that column). --- htdocs/backends.html | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/backends.html

Re: [PATCH 2/4] The main m68k cc0 conversion

2019-11-29 Thread Segher Boessenkool
On Mon, Nov 25, 2019 at 03:44:44PM +0100, John Paul Adrian Glaubitz wrote: > On 11/25/19 3:40 PM, Segher Boessenkool wrote: > > On Mon, Nov 25, 2019 at 01:38:53PM +0100, Tobias Burnus wrote: > >> Thanks for the m68k work! Can you also update > >> https://gcc.gnu.org/backends.html ? > > > >> PS: I

Re: [Patch][Fortran] OpenACC – permit common blocks in some clauses

2019-11-29 Thread Tobias Burnus
Hi Thomas, On 11/28/19 6:01 PM, Thomas Schwinge wrote: Definition (3.32.1 in F2018): "blank common" = "unnamed common block". I just want to add the following, which came into my mind after thinking more about device_resident (the other email in this thread). Fortran (here: 2018, 8.10.2.5) h

Re: [PATCH 0/4]: C++ P1423R3 char8_t remediation implementation

2019-11-29 Thread Jonathan Wakely
On 15/09/19 15:39 -0400, Tom Honermann wrote: This series of patches provides an implementation of the changes for C++ proposal P1423R3 [1]. These changes do not impact default libstdc++ behavior for C++17 and earlier; they are only active for C++2a or when the -fchar8_t option is specified.

Re: [Patch][Fortran] OpenACC – permit common blocks in some clauses

2019-11-29 Thread Tobias Burnus
Hi Thomas, I have started with this email – and then stopped and replied to the other email in this thread: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02678.html – which covers parts which otherwise would belong into this email. On 11/28/19 6:02 PM, Thomas Schwinge wrote: [Test case which

[COMMITTED][GCC8] Backport driver/89014 Use-after-free in aarch64 -march=native

2019-11-29 Thread Wilco Dijkstra
Hi, I've backported r268189 to GCC8: aarch64: fix use-after-free in -march=native (PR driver/89014) Running: $ valgrind ./xgcc -B. -c test.c -march=native on aarch64 shows a use-after-free in host_detect_local_cpu due to the std::string result of aarch64_get_extension_string_for_isa_flags only

[PATCH] [libiberty] Fix write buffer overflow in cplus_demangle

2019-11-29 Thread Tim Rühsen
* cplus-dem.c (ada_demangle): Correctly calculate the demangled size by using two passes. Fixes #92453 --- libiberty/ChangeLog | 5 + libiberty/cplus-dem.c | 408 +++--- 2 files changed, 226 insertions(+), 187 deletions(-) diff --git a/libiberty/ChangeLo

Re: [PATCH 0/4]: C++ P1423R3 char8_t remediation implementation

2019-11-29 Thread Jonathan Wakely
On 29/11/19 17:45 +, Jonathan Wakely wrote: On 15/09/19 15:39 -0400, Tom Honermann wrote: This series of patches provides an implementation of the changes for C++ proposal P1423R3 [1]. These changes do not impact default libstdc++ behavior for C++17 and earlier; they are only active for C

[PATCH] Fix PR91003

2019-11-29 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-29 Richard Biener PR tree-optimization/91003 * tree-vect-slp.c (vect_mask_constant_operand_p): Pass in the operand number, avoid handling the non-condition operands of COND_EXPRs a

*ping* [patch, fortran] Fix PR 91783

2019-11-29 Thread Thomas Koenig
Am 24.11.19 um 18:09 schrieb Thomas Koenig: Hello world, this patch fixes a 10 regression in dependency checking. The approach is simple - if gfc_dep_resolver is handed references with _data, remove that. Regression-tested. OK for trunk? Ping?

Fix libdecnumber handling of non-canonical BID significands (PR middle-end/91226)

2019-11-29 Thread Joseph Myers
As reported in bug 91226, the libdecnumber code used on the host to interpret DFP values in the BID encoding fails, for _Decimal64 and _Decimal128, to check for the case where a significand is too large and so specified in IEEE 754 to be a non-canonical encoding of the zero significand. This patch

Re: [PATCH v2 1/2] driver: Do not warn about ineffective `-x' option if no inputs were given

2019-11-29 Thread Joseph Myers
On Fri, 29 Nov 2019, Maciej W. Rozycki wrote: > Fix an issue with the GCC driver and the `-x' option where a warning is > issued in an invocation like: > > $ riscv64-linux-gnu-gcc -print-multi-directory -x c++ > riscv64-linux-gnu-gcc: warning: '-x c++' after last input file has no effect > lib64

[PATCH v2][MSP430] Add msp430-elfbare target

2019-11-29 Thread Jozef Lawrynowicz
The attached patch consolidates some configuration tweaks I previously submitted as modifications to the msp430-elf target into a new target called "msp430-elfbare" i.e. "bare-metal". MSP430: Disable TM clone registry by default https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00550.html MSP430: Di

Re: [PING][PATCH] doc: Correct `--enable-version-specific-runtime-libs' support information

2019-11-29 Thread Joseph Myers
On Fri, 29 Nov 2019, Maciej W. Rozycki wrote: > On Wed, 20 Nov 2019, Maciej W. Rozycki wrote: > > > The `--enable-version-specific-runtime-libs' configuration option is now > > supported throughout all of our target library subdirectories, so update > > installation documentation accordingly an

Re: [C] Add a target hook that allows targets to verify type usage

2019-11-29 Thread Joseph Myers
On Fri, 29 Nov 2019, Richard Sandiford wrote: > Ping > > Richard Sandiford writes: > > This patch adds a new target hook to check whether there are any > > target-specific reasons why a type cannot be used in a certain > > source-language context. It works in a similar way to existing > > hooks

Re: [PATCH 0/4]: C++ P1423R3 char8_t remediation implementation

2019-11-29 Thread Jonathan Wakely
On 29/11/19 19:48 +, Jonathan Wakely wrote: On 29/11/19 17:45 +, Jonathan Wakely wrote: On 15/09/19 15:39 -0400, Tom Honermann wrote: This series of patches provides an implementation of the changes for C++ proposal P1423R3 [1]. These changes do not impact default libstdc++ behavior f

Patch to fix PR92283

2019-11-29 Thread Vladimir Makarov
The following patch fixes    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92283 The patch has no test because it is very hard to reproduce PR and check the patch even on a specific GCC revision. The patch was successfully bootstrapped and tested on x86-64. Committed as r278865 Index: Chang

Re: [PATCH] Fix attribute((section)) for templates

2019-11-29 Thread Strager Neds
I discovered an issue with my patch. I need help resolving it. Take the following code for example: template struct s { static inline int __attribute__((section(".testsection"))) var = 1; }; struct public_symbol {}; namespace { struct internal_symbol {}; }

[C++ PATCH] Fix ICE in build_new_op_1 (PR c++/92705)

2019-11-29 Thread Jakub Jelinek
Hi! The changed code in build_new_op_1 ICEs on the following testcase, because conv is user_conv_p with kind == ck_ambig, for which next_conversion returns NULL. It seems in other spots where for user_conv_p we are walking the conversion chain we also don't assume there must be ck_user, so this p

[C++ PATCH] Fix nsdmi handling for bitfields (PR c++/92732)

2019-11-29 Thread Jakub Jelinek
Hi! As the second testcase shows, we shouldn't be calling convert_for_* with TREE_TYPE (decl) for bitfields, we need DECL_BIT_FIELD_TYPE in that case instead (unlowered_expr_type doesn't work here, as that wants a COMPONENT_REF which we don't have). Bootstrapped/regtested on x86_64-linux and i686

[PATCH] Improve A*B+-A -> A*(B+-1) and A+-A*B -> A*(1+-B) match.pd optimization

2019-11-29 Thread Jakub Jelinek
Hi! As discussed in the PR, we can't optimize e.g. int a = t - 1; int b = a * v; return b + v; into return t * v; for signed non-wrapv arithmetics. This can be done by the match.pd (A * B) +- A -> (B +- 1) * A or A +- (A * B) -> (1 +- B) * A canonicalizations. Being a lazy guy, I wrote att

Re: [PATCH 0/4]: C++ P1423R3 char8_t remediation implementation

2019-11-29 Thread Jonathan Wakely
On 29/11/19 21:45 +, Jonathan Wakely wrote: On 29/11/19 19:48 +, Jonathan Wakely wrote: On 29/11/19 17:45 +, Jonathan Wakely wrote: On 15/09/19 15:39 -0400, Tom Honermann wrote: This series of patches provides an implementation of the changes for C++ proposal P1423R3 [1]. These c

[PATCH] Default to --enable-libstdcxx-filesystem-ts for *-*-mingw*

2019-11-29 Thread Jonathan Wakely
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Enable by default for mingw targets. * configure: Regenerate. Tested powerpc64le-linux and mingw-w64, committed to trunk. commit 60168e315f0e1533d30847006b207e138dc54b3d Author: redi Date: Sat Nov 30 01:03:40 2019 +

Re: [PATCH] [libiberty] Fix read buffer overflow in split_directories

2019-11-29 Thread Ian Lance Taylor via gcc-patches
On Thu, Nov 28, 2019 at 1:11 PM Tim Rühsen wrote: > > An empty name param leads to read buffer overflow in > function split_directories. > > * libiberty/make-relative-prefix.c (split_directories): > Return early on empty name. > --- > libiberty/ChangeLog | 7 +++ > libiberty/ma