[PATCH] Fix recent avx512vl-vpsh*dvd-2.c FAILs (PR target/91124)

2019-07-11 Thread Jakub Jelinek
Hi! A recent SCCVN change results in more constants (in these testcases constant vectors) into arguments of builtins and because of a bug in the expansion of some of them we ended up with: UNRESOLVED: gcc.target/i386/avx512vl-vpshldvd-2.c compilation failed to produce executable FAIL: gcc.target/

Re: [PATCH] Deprecate -frepo on gcc-9 branch (PR c++/91125).

2019-07-11 Thread Jakub Jelinek
On Thu, Jul 11, 2019 at 08:48:52AM +0200, Martin Liška wrote: > --- a/gcc/c-family/c-opts.c > +++ b/gcc/c-family/c-opts.c > @@ -501,6 +501,8 @@ c_common_handle_option (size_t scode, const char *arg, > HOST_WIDE_INT value, >flag_use_repository = value; >if (value) > flag_impli

[PATCH] Fix recent avx512vl-vcvttpd2*dq-2.c FAILs (PR target/91124)

2019-07-11 Thread Jakub Jelinek
Hi! The same SCCVN change also introduced: FAIL: gcc.target/i386/avx512vl-vcvttpd2dq-2.c execution test FAIL: gcc.target/i386/avx512vl-vcvttpd2udq-2.c execution test failures, the reason in the generic code is similar, more constants propagated to builtins, but the actual bug is very different. Th

Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2)

2019-07-11 Thread Matthias Klose
On 08.07.19 23:19, Matthias Klose wrote: > On 14.06.19 15:09, Gaius Mulley wrote: >> >> Hello, >> >> here is version two of the patches which introduce Modula-2 into the >> GCC trunk. The patches include: >> >> (*) a patch to allow all front ends to register a lang spec function. >>(inc

Re: PR90723

2019-07-11 Thread Prathamesh Kulkarni
On Thu, 11 Jul 2019 at 01:48, Richard Sandiford wrote: > > Prathamesh Kulkarni writes: > > Hi, > > For following test-case: > > > > typedef double v4df __attribute__ ((vector_size (32))); > > void foo(v4df); > > > > int > > main () > > { > > volatile v4df x1; > > x1 = (v4df) { 10.0, 20.0, 30.

[Ada] No warning for guaranteed accessibility check failures

2019-07-11 Thread Pierre-Marie de Rodat
This patch corrects the generation of dynamic accessibility checks which are guaranteed to trigger errors during run time so as to give the user proper warning during unit compiliation. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Justin Squirek gcc/ada/ * checks.adb

Rework constant subreg folds and handle more variable-length cases

2019-07-11 Thread Richard Sandiford
This patch rewrites the way simplify_subreg handles constants. It uses similar native_encode/native_decode routines to the tree-level handling of VIEW_CONVERT_EXPR, meaning that we can move between rtx constants and the target memory image of them. The main point of this patch is to support subreg

[Ada] Avoid spurious warning on wrong order of operator call arguments

2019-07-11 Thread Pierre-Marie de Rodat
GNAT issues a warning under -gnatwa when actuals for a call are named like the formals, but in a different order. This is inappropriate for calls to operators in infix form, when e.g. Right <= Left is in general the intended order. Special case calls to operators to avoid that spurious warning. Te

[Ada] Compile-time evaluation of predicate checks

2019-07-11 Thread Pierre-Marie de Rodat
This patch recognizes case of dynamic predicates on integer subtypes that are simple enough to be evaluated statically when the argument is itself a literal. Even though in many cases such predicate checks will be removed by the back-end with any level of optimization, it is preferable to perform t

[Ada] New Repinfo.Input unit to read back JSON representation info.

2019-07-11 Thread Pierre-Marie de Rodat
For some time the Repinfo unit has been able to output the representation information in the JSON data interchange format in addition to the usual text and binary formats. The new Repinfo.Input unit makes it possible to read back this information under this format and make it available to clients,

[Ada] Fix crash on dynamic predicate when generating SCOs

2019-07-11 Thread Pierre-Marie de Rodat
A pragma Check for Dynamic_Predicate does not correspond to any source construct that has a provisionally-disabled SCO. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Thomas Quinot gcc/ada/ * sem_prag.adb (Analyze_Pragma, case pragma Check): Do not call Set_SCO_

[Ada] Avoid spurious errors on dimensionality checking in GNATprove

2019-07-11 Thread Pierre-Marie de Rodat
In the special GNATprove mode of the frontend, automatic inlining is performed, which may lead to spurious errors on dimensionality checking. Avoid performing this checking on inlined code, which has already been checked for dimensionality errors. There is no impact on compilation. Tested on x86_

[Ada] Elaboration order v4.0 and infinite loops

2019-07-11 Thread Pierre-Marie de Rodat
This patch introduces binder switch -d_S which prompts the various phases of the elaboration order mechanism to output a short message concerning their commencement and completion. The output is useful when trying to determine whether a phase is stuck in an infinite loop. -- Source --

[Ada] Infinite loop on illegal declaration

2019-07-11 Thread Pierre-Marie de Rodat
This patch updates predicate Null_Status to prevent an infinite recursion when the argument is an illegal object declaration of an access type. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Hristian Kirtchev gcc/ada/ * sem_util.adb (Null_Status): Assume that an erroneo

[Ada] Pragma Unreferenced triggers undefined reference

2019-07-11 Thread Pierre-Marie de Rodat
This patch corrects the generation of protected body declarations so that instances of pragma Unreferenced applied to formals don't falsly trigger undefined references. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Justin Squirek gcc/ada/ * exp_ch9.adb (Build_Private_P

[Ada] Internal crash on illegal renaming

2019-07-11 Thread Pierre-Marie de Rodat
This patch updates the retrieval of the renamed object name of an object renaming declaration to handle various name forms. No need for a test because one already exists, and reproducing requires a compiler built with assertions. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Hris

[Ada] Fix inconsistent documentation for gnatmetric

2019-07-11 Thread Pierre-Marie de Rodat
One part said all metrics are enabled by default (which is now true), and another part said the coupling metrics are disabled by default (which is no longer true). Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Bob Duff gcc/ada/ * doc/gnat_ugn/gnat_utility_programs.rst:

[Ada] Memory corruption when using formal hashed sets or maps

2019-07-11 Thread Pierre-Marie de Rodat
Add a check to avoid causing a buffer overflow when the map is empty Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Claire Dross gcc/ada/ * libgnat/a-cfhama.adb, libgnat/a-cfhase.adb (Free): Do not reset the Has_Element flag if no element is freed.--- gcc/ada/li

[Ada] Minimal binder

2019-07-11 Thread Pierre-Marie de Rodat
The new minimal binder option ("-minimal") suppresses the generation of binder objects that are not strictly required for program operation. This option is suitable for space constrained applications and comes with the restriction that programs can no longer be debugged using GDB. Tested on x86_64

[Ada] Link error due to negated intrinsic comparison

2019-07-11 Thread Pierre-Marie de Rodat
This patch corrects the resolution of operator "not" when the expression being negated is an equality operator to prevent the transformation of an intrinsic equality operator into a function call. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Hristian Kirtchev gcc/ada/

[Ada] Avoid spurious warning on assertions with Loop_Entry

2019-07-11 Thread Pierre-Marie de Rodat
When the Loop_Entry attribute is used inside a loop invariant or another assertion where it is allowed, it may lead to spurious warnings on conditions that are detected to be always valid. Now fixed. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Yannick Moy gcc/ada/ *

[Ada] Missing finalization of private protected type

2019-07-11 Thread Pierre-Marie de Rodat
This patch updates the analysis of protected types to properly mark the type as having controlled components when it contains at least one such component. This in turn marks a potential partial view as requiring finalization actions. -- Source -- -- types.ads with Ada.

[Ada] Remove redundant predicate checks

2019-07-11 Thread Pierre-Marie de Rodat
This patch removes redundant dynamic predicate checks generated by type conversions in various contexts. The patch also recognizes additional such checks that can be evaluated statically when applied to constant values. No simple test available. Tested on x86_64-pc-linux-gnu, committed on trunk

[Ada] Elaboration order v4.0 and output of dependencies

2019-07-11 Thread Pierre-Marie de Rodat
This patch adds a missing case to the mechanism that outputs the elaboration order dependencies of units. -- Source -- -- pack.ads package Pack is procedure Force_Body; end Pack; -- pack.adb package body Pack is procedure Force_Body is null; end Pack; -- mai

[Ada] Refactor ownership pointer checking in SPARK as a generic

2019-07-11 Thread Pierre-Marie de Rodat
Ownership checking as done in SPARK should be applied only to SPARK code, which requires GNATprove knowledge of the SPARK_Mode boundary. Transform the checking unit into a generic to allow passing in the knowledge from GNATprove to that unit in GNAT sources. Keeping the code in GNAT sources makes

Implement more rtx vector folds on variable-length vectors

2019-07-11 Thread Richard Sandiford
This patch extends the tree-level folding of variable-length vectors so that it can also be used on rtxes. The first step is to move the tree_vector_builder new_unary/binary_operator routines to the parent vector_builder class (which in turn means adding a new template parameter). The second step

[Ada] Crash on protected type with self-referential component

2019-07-11 Thread Pierre-Marie de Rodat
This patch fixes a compiler abort on a declarastion for a protected type PT when one of its private component is of type access PT. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-11 Ed Schonberg gcc/ada/ * exp_ch9.adb (Expand_N_Protected_Type_Declaaration): New sub

Generalise VEC_DUPLICATE folding for variable-length vectors

2019-07-11 Thread Richard Sandiford
This patch uses the constant vector encoding scheme to handle more cases of a VEC_DUPLICATE of another vector. Duplicating any fixed-length vector is fine, and duplicating a variable-length vector is OK as long as that vector is also a duplicate of a fixed-length sequence. Other cases fell throug

Re: PR90723

2019-07-11 Thread Richard Sandiford
Prathamesh Kulkarni writes: > @@ -186,6 +186,23 @@ skip_alternative (const char *p) > /* Nonzero means volatile operands are recognized. */ > extern int volatile_ok; > > +/* RAII class for temporarily setting volatile_ok. */ > + > +class temporary_volatile_ok > +{ > +public: > + temporary_v

Re: [PATCH] Add hints for slim dumping if fallthrough bb of jump isn't next bb

2019-07-11 Thread Kewen.Lin
Hi Richard, on 2019/7/11 上午3:30, Richard Sandiford wrote: > "Kewen.Lin" writes: >> Hi all, >> Is it a reasonable patch? If yes, is it ok for trunk? > > It looks really useful, but IMO we should either emit the hint for all > end-of-block insns with a surprising fallthrough edge, or -- if we > re

Re: [PATCH] Fix recent avx512vl-vpsh*dvd-2.c FAILs (PR target/91124)

2019-07-11 Thread Uros Bizjak
On Thu, Jul 11, 2019 at 9:01 AM Jakub Jelinek wrote: > > Hi! > > A recent SCCVN change results in more constants (in these testcases constant > vectors) into arguments of builtins and because of a bug in the expansion of > some of them we ended up with: > UNRESOLVED: gcc.target/i386/avx512vl-vpshl

Re: Make nonoverlapping_component_refs work with duplicated main variants

2019-07-11 Thread Rainer Orth
Hi Jan, > * g++.dg/lto/alias-3_0.C: New file. > * g++.dg/lto/alias-3_1.c: New file. the new test has a couple of problems: DejaGnu warns everywhere: WARNING: lto.exp does not support dg-lto-do in secondary source files WARNING: lto.exp does not support dg-lto-options in secondary sou

Re: [PATCH] Fix recent avx512vl-vcvttpd2*dq-2.c FAILs (PR target/91124)

2019-07-11 Thread Uros Bizjak
On Thu, Jul 11, 2019 at 9:17 AM Jakub Jelinek wrote: > > Hi! > > The same SCCVN change also introduced: > FAIL: gcc.target/i386/avx512vl-vcvttpd2dq-2.c execution test > FAIL: gcc.target/i386/avx512vl-vcvttpd2udq-2.c execution test > failures, the reason in the generic code is similar, more constan

Re: [PATCH] Add hints for slim dumping if fallthrough bb of jump isn't next bb

2019-07-11 Thread Richard Sandiford
Kewen.Lin writes: > Hi Richard, > > on 2019/7/11 上午3:30, Richard Sandiford wrote: >> "Kewen.Lin" writes: >>> Hi all, >>> Is it a reasonable patch? If yes, is it ok for trunk? >> >> It looks really useful, but IMO we should either emit the hint for all >> end-of-block insns with a surprising fall

Re: [patch] Small improvements to coverage info (4/n)

2019-07-11 Thread Richard Biener
On Wed, Jul 10, 2019 at 11:16 PM Eric Botcazou wrote: > > Hi, > > the returns are a little problematic for coverage info because they are > commonalized in GIMPLE, i.e. turned into gotos to a representative return. > This means that you need to clear the location of the representative return, > se

Re: [PATCH] integrate sprintf pass into strlen (PR 83431)

2019-07-11 Thread Richard Biener
On Thu, Jul 11, 2019 at 1:54 AM Martin Sebor wrote: > > On 7/2/19 4:38 PM, Jeff Law wrote: > > On 7/1/19 7:47 PM, Martin Sebor wrote: > >> Attached is a more complete solution that fully resolves the bug > >> report by avoiding a warning in cases like: > >> > >>char a[32], b[8]; > >> > >>v

Re: [PATCH] integrate sprintf pass into strlen (PR 83431)

2019-07-11 Thread Jakub Jelinek
On Thu, Jul 11, 2019 at 11:11:58AM +0200, Richard Biener wrote: > The others all smell like they might be yours ;) (besides object-size > maybe but that one is limited by having a cache - hopefully also > used when not used in the compute-everything mode). objsz doesn't really have a compute ever

Re: Rework constant subreg folds and handle more variable-length cases

2019-07-11 Thread Richard Biener
On Thu, Jul 11, 2019 at 10:03 AM Richard Sandiford wrote: > > This patch rewrites the way simplify_subreg handles constants. > It uses similar native_encode/native_decode routines to the > tree-level handling of VIEW_CONVERT_EXPR, meaning that we can > move between rtx constants and the target mem

Re: [PATCH] Restrict LOOP_ALIGN to loop headers only.

2019-07-11 Thread Richard Biener
On Wed, Jul 10, 2019 at 5:52 PM Richard Biener wrote: > > On July 10, 2019 2:11:17 PM GMT+02:00, Michael Matz wrote: > >Hi, > > > >On Tue, 9 Jul 2019, Richard Biener wrote: > > > >> >The basic block index is not a DFS index, so no, that's not a test > >for > >> >backedge. > >> > >> I think in CFG

Re: Rework constant subreg folds and handle more variable-length cases

2019-07-11 Thread Richard Sandiford
Richard Biener writes: > On Thu, Jul 11, 2019 at 10:03 AM Richard Sandiford > wrote: >> >> This patch rewrites the way simplify_subreg handles constants. >> It uses similar native_encode/native_decode routines to the >> tree-level handling of VIEW_CONVERT_EXPR, meaning that we can >> move between

Re: allow EH to escape from GIMPLE_EH_ELSE ELSE block

2019-07-11 Thread Alexandre Oliva
On Jul 4, 2019, Richard Biener wrote: > Yeah. For other stuff we're simply looking at CPP_NAME and > string-matching, see c_parser_gimple_compound_statement > where you'd probably hook this into. Here's a working patch that introduces try/finally[/else] in gimplefe. Regstrapped on x86_64-linux

Re: allow EH to escape from GIMPLE_EH_ELSE ELSE block

2019-07-11 Thread Alexandre Oliva
... and here's a patch that uses a try/finally/else gimplefe test to demonstrate the GIMPLE_EH_ELSE lowering problem (might_throw3 is tagged as [LP 1] rather than [LP 2]), and fixes it. Regstrapped on x86_64-linux-gnu. Ok to install? allow EH to escape from GIMPLE_EH_ELSE ELSE block The only p

Re: [patch] Small improvements to coverage info (4/n)

2019-07-11 Thread Eric Botcazou
> Hmm. So for > > int baz; > int foo() > { > int i; > goto skip; > done: > return i; > skip: > i = 1; > if (baz) > return baz; > /* ... */ > goto done; > } /* (*) */ > > we'd assign (*) to the return? It might be better to record > (in struct function?) the location of any act

Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2)

2019-07-11 Thread Gaius Mulley
Matthias Klose writes: >> I had a look at the GCC 9 version of the patches, with a build including a >> make >> install. Some comments: > > Had a test build based on the gcc-9 branch, > https://launchpad.net/~doko/+archive/ubuntu/toolchain/+sourcepub/10331180/+listing-archive-extra > > powerpc64

[PATCH], PowerPC, Patch #8, rename rs6000_prefixed_address

2019-07-11 Thread Michael Meissner
In a future patch, I plan to introduce a new function that says whether an address is prefixed based on the address format (D-form, DS-form, DQ-form) used by the instruction. I plan on naming the new function: rs6000_prefixed_address_format This means the existing function that takes a m

Re: [PATCH PR Fortran/89286] Intrinsic sign and GNU Extension

2019-07-11 Thread Mark Eggleston
On 10/07/2019 17:20, Bernhard Reutner-Fischer wrote: On 10 July 2019 17:52:40 CEST, Steve Kargl wrote: On Wed, Jul 10, 2019 at 02:50:47PM +0100, Mark Eggleston wrote: The attached patch treats the intrinsic SIGN in the same way as MOD and DIM as it has the same arguments. Tested using ma

Re: [PATCH,RFC,V3 0/5] Support for CTF in GCC

2019-07-11 Thread Nix
[Sorry for delay: head down in linker plus having nice food poisoning bouts] On 9 Jul 2019, Mike Stump verbalised: > On Jul 5, 2019, at 11:28 AM, Nix wrote: >> ICTF for the entire Linux kernel is about 6MiB > > Any reason why not add CTF to the next dwarf standard? Then, we just > support the n

Re: [PATCH,RFC,V3 0/5] Support for CTF in GCC

2019-07-11 Thread Nix
On 10 Jul 2019, Segher Boessenkool spake thusly: > On Fri, Jul 05, 2019 at 07:28:12PM +0100, Nix wrote: >> On 5 Jul 2019, Richard Biener said: >> >> > On Fri, Jul 5, 2019 at 12:21 AM Indu Bhagat wrote: >> >> CTF, at this time, is type information for entities at global or file >> >> scope. >> >

[PATCH] Support folding from array ctor spanning multiple elements

2019-07-11 Thread Richard Biener
The following exends fold_array_ctor_reference to constant-fold reads that cross multiple array elements which is needed to fix folding for targets like aarch64 in PR83518 where we end up with arr = *.LC0; arr[0] = 5; vect__56.15_75 = MEM [(int *)&arr]; now it would be nice to have an it

Re: [patch] Small improvements to coverage info (4/n)

2019-07-11 Thread Richard Biener
On Thu, Jul 11, 2019 at 12:52 PM Eric Botcazou wrote: > > > Hmm. So for > > > > int baz; > > int foo() > > { > > int i; > > goto skip; > > done: > > return i; > > skip: > > i = 1; > > if (baz) > > return baz; > > /* ... */ > > goto done; > > } /* (*) */ > > > > we'd assign (*) t

[PATCH V5] PR88497 - Extend reassoc for vector bit_field_ref

2019-07-11 Thread Kewen.Lin
Hi Richard, on 2019/7/10 下午7:50, Richard Biener wrote: > On Mon, 8 Jul 2019, Kewen.Lin wrote: > > > + tree rhs = gimple_assign_rhs1 (oe1def); > + tree vec = TREE_OPERAND (rhs, 0); > + tree vec_type = TREE_TYPE (vec); > + > + if (TREE_CODE (vec) != SSA_NAME || !VECTOR_TYPE_P (

Re: [PATCH] Add hints for slim dumping if fallthrough bb of jump isn't next bb

2019-07-11 Thread Kewen.Lin
Hi Richard, on 2019/7/11 下午4:51, Richard Sandiford wrote: > Kewen.Lin writes: >> >> - if (flags & TDF_BLOCKS) > > I think we still need an if here, but with the condition instead being: > >cfun->curr_properties & PROP_cfg > >> + else if (EDGE_COUNT (bb->succs) > 0) >> +

Make nonoverlapping_component_refs_since_match_p work with non-trivial MEM_REFs and TMRs

2019-07-11 Thread Jan Hubicka
Hi, this patch makes nonoverlapping_component_refs_since_match_p to accept paths with non-trivial MEM_REFs and TMRs assuming that they have same semantics. Bootstrapped/regtested x86_64-linux, OK? Honza * tree-ssa-alias.c (same_tmr_indexing_p): Break out from ... (indirect_refs_m

Re: [PATCH] Add hints for slim dumping if fallthrough bb of jump isn't next bb

2019-07-11 Thread Richard Sandiford
Kewen.Lin writes: > + /* Emit a hint if the fallthrough target of current basic block > +isn't the one placed right next. */ > + else if (EDGE_COUNT (bb->succs) > 0) > + { > + gcc_assert (BB_END (bb) == tmp_rtx); > +

Re: Make nonoverlapping_component_refs_since_match_p work with non-trivial MEM_REFs and TMRs

2019-07-11 Thread Richard Biener
On Thu, 11 Jul 2019, Jan Hubicka wrote: > Hi, > this patch makes nonoverlapping_component_refs_since_match_p to accept > paths with non-trivial MEM_REFs and TMRs assuming that they have same > semantics. Hmm. We'll never get any TARGET_MEM_REFs wrapped with handled-components so I wonder if it m

Re: Make nonoverlapping_component_refs_since_match_p work with non-trivial MEM_REFs and TMRs

2019-07-11 Thread Jan Hubicka
> On Thu, 11 Jul 2019, Jan Hubicka wrote: > > > Hi, > > this patch makes nonoverlapping_component_refs_since_match_p to accept > > paths with non-trivial MEM_REFs and TMRs assuming that they have same > > semantics. > > Hmm. We'll never get any TARGET_MEM_REFs wrapped with > handled-components s

Re: Make nonoverlapping_component_refs_since_match_p work with non-trivial MEM_REFs and TMRs

2019-07-11 Thread Jan Hubicka
> > On Thu, 11 Jul 2019, Jan Hubicka wrote: > > > > > Hi, > > > this patch makes nonoverlapping_component_refs_since_match_p to accept > > > paths with non-trivial MEM_REFs and TMRs assuming that they have same > > > semantics. > > > > Hmm. We'll never get any TARGET_MEM_REFs wrapped with > > ha

[RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-11 Thread Andre Vieira (lists)
Hi Richard(s), I am trying to tackle PR88915 and get GCC to further vectorize the "fallback" loop when doing loop versioning as it does when loop versioning is not required. I have a prototype patch that needs further testing, but at first glance it seems to be achieving the desired outcome.

Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2)

2019-07-11 Thread Segher Boessenkool
On Thu, Jul 11, 2019 at 12:49:44PM +0100, Gaius Mulley wrote: > Matthias Klose writes: > > powerpc64le-linux-gnu fails to build (search for "unfinished" in the build > > log) > > > > during RTL pass: final > > ../../src/gcc/gm2/gm2-libs-coroutines/SYSTEM.def: In function > > '_M2_SYSTEM_init': >

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-07-11 Thread Ed Smith-Rowland via gcc-patches
On 7/6/19 3:55 AM, Ville Voutilainen wrote: Blargh! But that's fine; the result of copy is not stored in a constexpr variable, but the function return is static_asserted so we have sufficiently tested that std::copy is indeed constexpr-compatible since it appears in a function that is evaluated

Re: [PATCH,RFC,V3 0/5] Support for CTF in GCC

2019-07-11 Thread Segher Boessenkool
On Thu, Jul 11, 2019 at 01:25:18PM +0100, Nix wrote: > On 10 Jul 2019, Segher Boessenkool spake thusly: > > > On Fri, Jul 05, 2019 at 07:28:12PM +0100, Nix wrote: > >> On 5 Jul 2019, Richard Biener said: > >> > >> > On Fri, Jul 5, 2019 at 12:21 AM Indu Bhagat > >> > wrote: > >> >> CTF, at this

Re: [PATCH] i386: Add AVX512 unaligned intrinsics

2019-07-11 Thread Sunil Pandey
Fixed. --Sunil Pandey i386: Add AVX512 unaligned intrinsics __m512i _mm512_loadu_epi64( void * sa); void _mm512_storeu_epi64(void * d, __m512i a); __m512i _mm512_loadu_epi32( void * sa); void _mm512_storeu_epi32(void * d, __m512i a); void _mm256_storeu_epi64(void * d, __m256i a); void _mm_storeu

Re: [patch] Small improvements to coverage info (4/n)

2019-07-11 Thread Eric Botcazou
> After your patch does behavior change when trying to break on a line > with a return stmt inside a debugger? Note that every patch in the series was tested against GDB too, so hopefully this would have been caught... But the answer is no, see lower_gimple_return: /* Generate a goto statemen

Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2)

2019-07-11 Thread Gaius Mulley
Segher Boessenkool writes: > On Thu, Jul 11, 2019 at 12:49:44PM +0100, Gaius Mulley wrote: >> Matthias Klose writes: >> > powerpc64le-linux-gnu fails to build (search for "unfinished" in the build >> > log) >> > >> > during RTL pass: final >> > ../../src/gcc/gm2/gm2-libs-coroutines/SYSTEM.def:

Re: [PATCH] Deprecate -frepo on gcc-9 branch (PR c++/91125).

2019-07-11 Thread Jason Merrill
On 7/11/19 3:02 AM, Jakub Jelinek wrote: On Thu, Jul 11, 2019 at 08:48:52AM +0200, Martin Liška wrote: --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -501,6 +501,8 @@ c_common_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value, flag_use_repository = value;

[PATCH] add --param ssa-name-def-chain-limit

2019-07-11 Thread Martin Sebor
Attached is a patch that adds a new parameter to limit the number of SSA_NAME assignments for GCC to follow in iterative or recursive algorithms. Purely as a proof of concept the patch introduces the parameter into -Warray-bounds where the warning follows POINTER_PLUS (and ASSERT_EXPR) assignment

[PATCH] rs6000: Handle Modula-2 in the traceback table

2019-07-11 Thread Segher Boessenkool
This patch recognises Modula-2 as language for the traceback table, fixing the problem shown in https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00848.html . Committing to trunk, and committing a variant to the 9 branch. Segher 2019-07-11 Segher Boessenkool * config/rs6000/rs6000-logu

Re: [PATCH] rs6000: Handle Modula-2 in the traceback table

2019-07-11 Thread David Edelsohn
On Thu, Jul 11, 2019 at 2:34 PM Segher Boessenkool wrote: > > This patch recognises Modula-2 as language for the traceback table, > fixing the problem shown in > https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00848.html . The value "8" is predefined in the ABI and AIX headers as the "language indi

Re: [PATCH] i386: Add AVX512 unaligned intrinsics

2019-07-11 Thread Uros Bizjak
On Thu, Jul 11, 2019 at 6:54 PM Sunil Pandey wrote: > > Fixed. > > --Sunil Pandey > > i386: Add AVX512 unaligned intrinsics > > __m512i _mm512_loadu_epi64( void * sa); > void _mm512_storeu_epi64(void * d, __m512i a); > __m512i _mm512_loadu_epi32( void * sa); > void _mm512_storeu_epi32(void * d, __

[PATCH] rs6000: Adjust comment for the Modula-2 traceback lang

2019-07-11 Thread Segher Boessenkool
I missed the big preceding comment. It has all other values, so let's put this one there, as well. 2019-07-11 Segher Boessenkool * config/rs6000/rs6000-logue.c: Add Modula-2 to comment. --- gcc/config/rs6000/rs6000-logue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

[PATCH], PowerPC, Patch #9, Refine calculation of whether an address offset is d-form, ds-form, or dq-form

2019-07-11 Thread Michael Meissner
As I mentioned in patch #8, I needed to refine the calculation of what type of address offset it used on the PowerPC for particular loads and stores. The motivation is that the new prefixed instructions that future processors may support have improved instruction encodings, and the prefixed form o

[PATCH] Define std::atomic_ref and std::atomic for C++20

2019-07-11 Thread Jonathan Wakely
This adds the new atomic types from C++2a, as proposed by P0019 and P0020. To reduce duplication the calls to the compiler's atomic built-ins are wrapped in new functions in the __atomic_impl namespace. These functions are currently only used by std::atomic and std::atomic_ref but could also be us

[PATCH] Improve docs for --enable-libstdcxx-time=rt

2019-07-11 Thread Jonathan Wakely
* doc/xml/manual/configure.xml: Improve documentation of --enable-libstdcxx-time option. Committed to trunk. commit 6a7d6b5ea112fd5c14d5af2394817178293ac934 Author: redi Date: Thu Jul 11 19:43:32 2019 + Improve docs for --enable-libstdcxx-time=rt * do

Re: [PATCH], PowerPC, Patch #6, revision 2, Create pc-relative addressing insns

2019-07-11 Thread Segher Boessenkool
On Wed, Jul 10, 2019 at 05:17:48PM -0400, Michael Meissner wrote: > +extern alias_set_type get_pc_relative_alias_set (void); I'd just call it "pcrel", not "pc_relative", just like everywhere else? > @@ -7785,7 +7787,7 @@ bool > toc_relative_expr_p (const_rtx op, bool strict, const_rtx *tocrel_ba

Re: [PATCH], PowerPC, Patch #6, revision 2, Create pc-relative addressing insns

2019-07-11 Thread Michael Meissner
On Thu, Jul 11, 2019 at 02:52:03PM -0500, Segher Boessenkool wrote: > On Wed, Jul 10, 2019 at 05:17:48PM -0400, Michael Meissner wrote: > > +extern alias_set_type get_pc_relative_alias_set (void); > > I'd just call it "pcrel", not "pc_relative", just like everywhere else? > > > @@ -7785,7 +7787,7

Re: [PATCH], PowerPC, Patch #8, rename rs6000_prefixed_address

2019-07-11 Thread Segher Boessenkool
[ Please do not send patches as replies. ] On Thu, Jul 11, 2019 at 08:11:52AM -0400, Michael Meissner wrote: > In a future patch, I plan to introduce a new function that says whether an > address is prefixed based on the address format (D-form, DS-form, DQ-form) > used > by the instruction. I pl

Re: [PATCH], PowerPC, Patch #6, revision 2, Create pc-relative addressing insns

2019-07-11 Thread Segher Boessenkool
On Thu, Jul 11, 2019 at 04:09:44PM -0400, Michael Meissner wrote: > On Thu, Jul 11, 2019 at 02:52:03PM -0500, Segher Boessenkool wrote: > > On Wed, Jul 10, 2019 at 05:17:48PM -0400, Michael Meissner wrote: > > > +extern alias_set_type get_pc_relative_alias_set (void); > > > > I'd just call it "pcr

Go patch committed: Ensure evaluation order in type hash/eq functions

2019-07-11 Thread Ian Lance Taylor
This Go frontend patch by Cherry Zhang ensures correct evaluation order in type hash/equality functions. The type hash and equality functions are generated after the order_evaluations pass. They may contain shortcut operators and Set_and_use_temporary_expressions (e.g. from lowering a Binary_expr

Re: [PATCH] integrate sprintf pass into strlen (PR 83431)

2019-07-11 Thread Martin Sebor
... We've already touched on the need to limit the backwards walk out of this code. Limiting based on the product of # phi args * number of phis visited, recursion depth, or number of SSA_NAME_DEF_STMTs visited all seem reasonable to me. I do think Richi's suggestion for figuring out a suitable

Re: [PATCH] improve ifcvt optimization (PR rtl-optimization/89430)

2019-07-11 Thread Andrew Pinski
On Mon, Jul 8, 2019 at 12:39 AM JiangNing OS wrote: > > Hi Jeff and Richard B., > > Following your tips, I've found a much simpler solution in tree-ssa-phiopt.c. > Attached is the new patch. Review again, please! /* Prove that we can move the store down. We could also check TREE_THIS_NOT

Re: [PATCH] Add hints for slim dumping if fallthrough bb of jump isn't next bb

2019-07-11 Thread Kewen.Lin
on 2019/7/11 下午9:55, Richard Sandiford wrote: > Kewen.Lin writes: >> + /* Emit a hint if the fallthrough target of current basic block >> +isn't the one placed right next. */ >> + else if (EDGE_COUNT (bb->succs) > 0) >> + { >> +

Re: [ARM/FDPIC v5 05/21] [ARM] FDPIC: Fix __do_global_dtors_aux and frame_dummy generation

2019-07-11 Thread Richard Sandiford
Christophe Lyon writes: > In FDPIC, we need to make sure __do_global_dtors_aux and frame_dummy > are referenced by their address, not by pointers to the function > descriptors. > > 2019-XX-XX Christophe Lyon > Mickaël Guêné > > * libgcc/crtstuff.c: Add support for FDPIC. > > Change

Re: [ARM/FDPIC v5 02/21] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts

2019-07-11 Thread Richard Sandiford
Christophe Lyon writes: > The new arm-uclinuxfdpiceabi target behaves pretty much like > arm-linux-gnueabi. In order the enable the same set of features, we > have to update several configure scripts that generally match targets > like *-*-linux*: in most places, we add *-uclinux* where there is >