Re: [PATCH v3 3/3] PR80791 Consider doloop cmp use in ivopts

2019-07-22 Thread Richard Biener
On Mon, 22 Jul 2019, Segher Boessenkool wrote: > Hi! > > (Maybe I am missing half of the discussion -- sorry if so). > > I think we should have a new iv for just the doloop (which can have the > same starting value and step and type as another iv). > > Has this been considered? I was also sugg

Re: Handle strncpy in tree-ssa-dse.c

2019-07-22 Thread Richard Biener
On Fri, Jul 19, 2019 at 7:04 PM Jeff Law wrote: > > > While looking at BZ 80576 I realized a few things. > > First for STRNCPY we know the exact count of bytes written and we can > treat it just like MEMCPY and others, both in terms of removing/trimming > them and in terms of using them to allow r

Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git

2019-07-22 Thread Maxim Kuvyrkov
> On Jul 16, 2019, at 5:14 PM, Maxim Kuvyrkov wrote: > >> On Jul 16, 2019, at 3:34 PM, Jason Merrill wrote: >> >> On Tue, Jul 16, 2019 at 12:18 PM Maxim Kuvyrkov >> wrote: >>> >>> Hi Everyone, >>> >>> I've been swamped with other projects for most of June, which gave me time >>> to digest a

Re: GCC 9 backports

2019-07-22 Thread Martin Liška
Hi. One more patch I've just tested. Martin >From eb62ef9ec1edc109aa69137ed077620cafad5253 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 22 Jul 2019 10:00:07 +0200 Subject: [PATCH] Backport r273660 gcc/ChangeLog: 2019-07-22 Martin Liska PR driver/91172 * opts-common.c (decode_cm

Re: GCC 8 backports

2019-07-22 Thread Martin Liška
Hi. One more patch I've just tested. Martin >From eb62ef9ec1edc109aa69137ed077620cafad5253 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 22 Jul 2019 10:00:07 +0200 Subject: [PATCH] Backport r273660 gcc/ChangeLog: 2019-07-22 Martin Liska PR driver/91172 * opts-common.c (decode_cm

Re: GCC 7 backport

2019-07-22 Thread Martin Liška
Hi. One more patch I've just tested. Martin >From eb62ef9ec1edc109aa69137ed077620cafad5253 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 22 Jul 2019 10:00:07 +0200 Subject: [PATCH] Backport r273660 gcc/ChangeLog: 2019-07-22 Martin Liska PR driver/91172 * opts-common.c (decode_cm

[PATCH] Remove a pointless global var

2019-07-22 Thread Richard Biener
This removes label_for_bb, it's allocated and deallocated in a single function so we can just pass it down as needed. Bootstrap / regtest running on x86_64-unknown-linux-gnu. I've noticed that we have quite some instances using qsort and passing down state to the comparator via a global var. No

[PATCH] Fix PR91221

2019-07-22 Thread Richard Biener
Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-07-22 Richard Biener PR tree-optimization/91221 * tree-ssa-sccvn.c (vn_reference_lookup_3): Appropriately restrict partial-def handling of empty constructors and memset to refs with kno

Re: [PATCH,fortran] Handle BOZ in accordance to Fortran 2018 standard (1st batch)

2019-07-22 Thread Dominique d'Humières
(A) I see the following failures FAIL: libgomp.fortran/reduction4.f90 -O0 (test for excess errors) … FAIL: libgomp.fortran/reduction4.f90 -Os (test for excess errors) FAIL: libgomp.fortran/reduction5.f90 -O0 (test for excess errors) … FAIL: libgomp.fortran/reduction5.f90 -Os (test for

Re: [PATCH] Remove a pointless global var

2019-07-22 Thread Alexander Monakov
Hi! On Mon, 22 Jul 2019, Richard Biener wrote: > I've noticed that we have quite some instances using qsort > and passing down state to the comparator via a global var. > Now that we have our own qsort implementation I wonder what > the best course of action is to add a variant passing down > suc

Re: [PATCH v2] [rs6000] Add _mm_blend_epi16 and _mm_blendv_epi8

2019-07-22 Thread Bill Schmidt
On 7/22/19 12:58 AM, Segher Boessenkool wrote: > On Sun, Jul 21, 2019 at 05:22:19PM -0500, Paul Clarke wrote: >> Add compatibility implementations of _mm_blend_epi16 and _mm_blendv_epi8 >> intrinsics. >> >> Respective test cases are copied almost verbatim (minor changes to >> the dejagnu head lines

Re: [PATCH 1/2] Come up with function_decl_type and use it in tree_function_decl.

2019-07-22 Thread Martin Liška
PING^1 On 7/11/19 8:45 AM, Martin Liška wrote: > On 7/9/19 11:00 PM, Jason Merrill wrote: >> On 7/9/19 6:17 AM, Marc Glisse wrote: >>> On Tue, 9 Jul 2019, Martin Liška wrote: >>> On 7/9/19 9:49 AM, Marc Glisse wrote: > On Tue, 9 Jul 2019, Marc Glisse wrote: > >> On Mon, 8 Jul 2019

[PATCH v2] [rs6000] Add documentation for __builtin_mtfsf

2019-07-22 Thread Paul Clarke
2019-07-21 Paul A. Clarke [gcc] * doc/extend.texi: Add documentation for __builtin_mtfsf. v2: wordsmithing at Segher's request. I'm having a hard time not saying too much. :-) Index: gcc/doc/extend.texi === --- gcc/

[Ada] Fix internal error on array slice in loop and Loop_Invariant

2019-07-22 Thread Pierre-Marie de Rodat
This fixes an internal error caused by the presence of an Itype in a wrong scope. This Itype is created for an array slice present in the condition of a while loop whose body also contains a pragma Loop_Invariant, initially in the correct scope but then relocated into a function created for the pr

[Ada] Spurious warning about a useless assignment

2019-07-22 Thread Pierre-Marie de Rodat
This patch removes a spurious warning about a useless assignment, when a composite object is the target of an assignment and is an actual for an out parameter in a subsewuent call, and there is an intervening use of the object as the prefix of a selected component in an intervening operation. Test

[Ada] Crash in C++ constructor without external and link name

2019-07-22 Thread Pierre-Marie de Rodat
The compiler blows up processing the declaration of a tagged type variable that has a C++ constructor without external or link name. After this patch the frontend reports an error. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Javier Miranda gcc/ada/ * freeze.adb (Free

[Ada] Ensure Ctrl-C is not emited on terminated processes

2019-07-22 Thread Pierre-Marie de Rodat
Due to the reuse policy of PID on Windows. Sending a Ctrl-C to a dead process might result in a Ctrl-C sent to the wrong process. The check is also implemented on Unix platforms and avoid unecessary waits. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Nicolas Roche gcc/ada/

[Ada] Incorrect values in conversion from fixed-point subtype with 'Small

2019-07-22 Thread Pierre-Marie de Rodat
This patch fixes incorrect computations involving a fixed-point subtype whose parent type has an aspect specification for 'Small. Executing the following: gnatmake -q conv ./conv must yield: 9000.00 9.00E+03 9000.00 9.00E+03 9.000

[Ada] Fix wrong assumption on bounds in GNAT.Encode_String

2019-07-22 Thread Pierre-Marie de Rodat
This fixes a couple of oversights in the GNAT.Encode_String package, whose effect is to assume that all the strings have a lower bound of 1. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Eric Botcazou gcc/ada/ * libgnat/g-encstr.adb (Encode_Wide_String): Fix oversight.

[Ada] Fix missing Constraint_Error for Enum_Val attribute

2019-07-22 Thread Pierre-Marie de Rodat
This fixes an old issue involving the Enum_Val attribute: it does not always raise a Constraint_Error exception when the specified value is not valid for the enumeration type (instead a modulo computation is applied to the value). Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Eric

[Ada] Premature finalization of controlled temporaries in case expressions

2019-07-22 Thread Pierre-Marie de Rodat
The compiler was generating finalization of temporary objects used in evaluating case expressions for controlled types in cases where the case statement created by Expand_N_Expression_With_Actions is rewritten as an if statement. This is fixed by inheriting the From_Condition_Expression flag from t

[Ada] Type inconsistency in floating_point type declarations

2019-07-22 Thread Pierre-Marie de Rodat
This patch fixes an inconsistency in the typing of the bounds of a floting point type declaration, when some bound is given by a dtatic constant of an explicit type, instead of a real literal, Previous to this patch the bound of the type retained the given type, leading to spurious errors in Codepe

[Ada] Further fix non-stored discriminant in aggregate for GNATprove

2019-07-22 Thread Pierre-Marie de Rodat
GNATprove expects discriminants appearing in aggregates and their types to be resolved to stored discriminants. This extends the machinery that makes sure this is the case for default initialization expressions so as to also handle component associations in these expressions. Tested on x86_64-pc-

[Ada] Spurious error on private subtype of derived access type

2019-07-22 Thread Pierre-Marie de Rodat
This patch fixes a spurious type error on a dynamic predicate on a subtype of a private type whose full view is a derived access type. Prior to it, the base type of the subtype would appear to be the parent type of the derived type instead of the derived type itself, leading to problems downstream.

[Ada] Remove obsolete Is_For_Access_Subtype machinery

2019-07-22 Thread Pierre-Marie de Rodat
This change removes the Is_For_Access_Subtype machinery from the compiler. This machinery was devised a long time ago to deal with a peculiarity of the freezing for access-to-record subtypes but has been degenerate for quite some time now and does not seem to serve any useful purpose at this point

[Ada] Internal error on iterator for limited private discriminated type

2019-07-22 Thread Pierre-Marie de Rodat
This patch further extends the short-circuit, aka optimization, present in the Check_Constrained_Object procedure used for renaming declarations to all limited types, so as to prevent type mismatches downstream in more cases. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Eric Botc

[Ada] Fix spurious loop warning for function with Out parameter

2019-07-22 Thread Pierre-Marie de Rodat
The compiler gives a spurious warning about a possible infinite while loop whose condition contains a call to a function that takes an Out or In/Out parameter and whose actual is a variable that is not modified in the loop, because it still thinks that functions can only have In parameters. Tested

[Ada] Fix spurious visibility error for tagged type with inlining

2019-07-22 Thread Pierre-Marie de Rodat
This fixes a spurious visibility error for the very peculiar case where an operator that operates on the class-wide type of a tagged type is declared in a package, the operator is renamed in another package where a subtype of the tagged type is declared, and both packages end up in the transititive

[Ada] Misleading warning on variable not assigned

2019-07-22 Thread Pierre-Marie de Rodat
This patch removes a warning on a referenced entity with no explicit prior assignment, if the type of the entity has Preelaborable_Initialixation, such as Exception_Occurrence. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Ed Schonberg gcc/ada/ * sem_warn.adb (Check_Re

[Ada] Issue warning or error message on ignored typing constraint

2019-07-22 Thread Pierre-Marie de Rodat
GNAT ignores the discriminant constraint on a component when it applies to the type of the record being analyzed. Now issue a warning on Ada code when ignoring this constraint, or an error on SPARK code. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Yannick Moy gcc/ada/

[Ada] Optimization loses exception in improper use of 'Value

2019-07-22 Thread Pierre-Marie de Rodat
This patch prevents an improper removal of an evaluation of attribute 'Value on an illegal input that will raise Constraint_Error, when a subsequent use of this evaluation might be optimized away by the back-end. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Ed Schonberg gcc/ad

[Ada] Spurious error passing access to class-wide interface type

2019-07-22 Thread Pierre-Marie de Rodat
The compiler reports an spurious error when the formal parameter of a subprogram is an access to a class wide interface type and the actual parameter is an allocator of an object covering such interface type. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Javier Miranda gcc/ada/

[Ada] Remove misleading warning/suggestion in membership test

2019-07-22 Thread Pierre-Marie de Rodat
This patch removes a warning on a membership test whose right operand is given by a range. In many cases the check can be replaced by the use of attribute 'Valid, but if the bounds of range are type conversion this replacement would be invorrect and the warning and suggestion are misleading. Teste

[Ada] Adapt ownership checking in SPARK to traversal functions

2019-07-22 Thread Pierre-Marie de Rodat
A traversal function, especially when implemented as an expression function, may need to return an if-expression or case-expression, while still respecting Legality Rule SPARK RM 3.10(5). This case is now allowed in GNATprove. There is no impact on compilation. Tested on x86_64-pc-linux-gnu, comm

[Ada] Overhaul code implementing conversions involving fixed-point types

2019-07-22 Thread Pierre-Marie de Rodat
This ovehauls the code implementing conversions involving fixed-point types in the front-end because it leaks the Do_Range_Check flag in several places to the back-end, which is a violation of the documented interface between front-end and back-end. This also does a bit of housekeeping work throug

[Ada] More complete information level for -gnatR4 output

2019-07-22 Thread Pierre-Marie de Rodat
This instructs -gnatR4 to also list the Etype of user-declared objects if it is compiler-generated, for example in: package P2 is Arr_V : array (1 .. 5) of Integer; end P2; Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-22 Eric Botcazou gcc/ada/ * repinfo.adb (List_En

[Ada] Fix missing check for no-op conversion to fixed-point type

2019-07-22 Thread Pierre-Marie de Rodat
This plugs a small loophole in the compiler for the case of a multiplication or a division in a fixed-point type wrapped in a no-op conversion, e.g. to the same fixed-point type. The front-end fails to generate a range check for the operation. This used to be caught by the back-end, which would g

Re: [PATCH][gcc] libgccjit: check result_type in gcc_jit_context_new_unary_op

2019-07-22 Thread Andrea Corallo
Hi all, second version of the patch here addressing comments. make check-jit runs clean Bests Andrea gcc/jit/ChangeLog 2019-07-18 Andrea Corallo * jit-recording.c (unary_op_reproducer_strings): Make it extern. (binary_op_reproducer_strings): Likewise. * jit-recording

Re: Handle strncpy in tree-ssa-dse.c

2019-07-22 Thread Jeff Law
On 7/22/19 2:01 AM, Richard Biener wrote: > On Fri, Jul 19, 2019 at 7:04 PM Jeff Law wrote: >> >> >> While looking at BZ 80576 I realized a few things. >> >> First for STRNCPY we know the exact count of bytes written and we can >> treat it just like MEMCPY and others, both in terms of removing/tri

Re: [PATCH][gcc] libgccjit: check result_type in gcc_jit_context_new_unary_op

2019-07-22 Thread David Malcolm
On Thu, 2019-07-18 at 14:20 +, Andrea Corallo wrote: > Hi all, > I've just realized that what we has been done recently for > gcc_jit_context_new_binary_op should be done also for the unary > version. > This patch checks at record time for the result type of > gcc_jit_context_new_unary_op to be

Re: [range-ops] patch 01/04: types for VR_UNDEFINED and VR_VARYING

2019-07-22 Thread Aldy Hernandez
On 7/16/19 2:37 PM, Andrew MacLeod wrote: On 7/9/19 5:56 AM, Richard Biener wrote: On Tue, Jul 9, 2019 at 9:28 AM Aldy Hernandez wrote: On 7/4/19 6:33 AM, Richard Biener wrote: On Wed, Jul 3, 2019 at 2:17 PM Aldy Hernandez wrote: On 7/3/19 7:08 AM, Richard Biener wrote: On Wed, Jul 3, 201

Re: [PATCH v2] [rs6000] Add _mm_blend_epi16 and _mm_blendv_epi8

2019-07-22 Thread Segher Boessenkool
On Mon, Jul 22, 2019 at 08:28:33AM -0500, Bill Schmidt wrote: > On 7/22/19 12:58 AM, Segher Boessenkool wrote: > > On Sun, Jul 21, 2019 at 05:22:19PM -0500, Paul Clarke wrote: > >> Add compatibility implementations of _mm_blend_epi16 and _mm_blendv_epi8 > >> intrinsics. > >> > >> Respective test ca

Re: Handle strncpy in tree-ssa-dse.c

2019-07-22 Thread Martin Sebor
On 7/22/19 8:55 AM, Jeff Law wrote: On 7/22/19 2:01 AM, Richard Biener wrote: On Fri, Jul 19, 2019 at 7:04 PM Jeff Law wrote: While looking at BZ 80576 I realized a few things. First for STRNCPY we know the exact count of bytes written and we can treat it just like MEMCPY and others, both i

Re: [PATCH][gcc] libgccjit: check result_type in gcc_jit_context_new_unary_op

2019-07-22 Thread Andrea Corallo
David Malcolm writes: > On Thu, 2019-07-18 at 14:20 +, Andrea Corallo wrote: >> Hi all, >> I've just realized that what we has been done recently for >> gcc_jit_context_new_binary_op should be done also for the unary >> version. >> This patch checks at record time for the result type of >> g

Re: [PATCH] MIPS: Fix GCC `noreorder' for undefined R5900 short loops

2019-07-22 Thread Fredrik Noring
Hi Maciej, I'm glad to hear from you again! > I think that should be a GAS warning really (similarly to macros that > expand to multiple instructions in a delay slot) as people ought to be > allowed to do what they wish, and then `-Werror' can be used for code > quality enforcement (and possi

[PATCH, fortran, arm] Fix PR 78314 on arm and aarch64

2019-07-22 Thread Steve Ellcey
This patch fixes PR libfortran/78314, the failure of gfortran.dg/ieee/ieee_6.f90 on some Arm and Aarch64 platforms. As mentioned in the PR trapping fpu exceptions is optional on ARM and this function cannot do a runtime check for support so we should return 0. There are a couple of discussion stri

[PATCH][ARM] Cleanup DImode shifts

2019-07-22 Thread Wilco Dijkstra
Like the logical operations, expand all shifts early rather than only sometimes. The Neon shift expansions are never emitted (not even with -fneon-for-64bits), so they are not useful. So all the late expansions and Neon shift patterns can be removed, and shifts are more optimized as a result. Si

[PATCH][ARM] Remove remaining Neon DImode support

2019-07-22 Thread Wilco Dijkstra
Remove the remaining Neon adddi3, subdi3 and negdi2 patterns. As a result adddi3, subdi3 and negdi2 can now always be expanded early irrespectively of whether Neon is available. Also expand the extenddi patterns at the same time. Several Neon arch attributes are no longer used and removed. Code

Re: [patch][aarch64]: add usra and ssra combine patterns

2019-07-22 Thread James Greenhalgh
On Mon, Jun 17, 2019 at 05:42:45PM +0100, Sylvia Taylor wrote: > Updating patch with missing scan-assembler checks. This is OK. I committed it on your behalf as r273703. Thanks, James > Cheers, > Syl > > -Original Message- > From: Sylvia Taylor > Sent: 04 June 2019 12:24 > To: James Gr

Re: [PATCH][ARM] Cleanup DImode shifts

2019-07-22 Thread Ramana Radhakrishnan
On 22/07/2019 17:16, Wilco Dijkstra wrote: Like the logical operations, expand all shifts early rather than only sometimes. The Neon shift expansions are never emitted (not even with -fneon-for-64bits), so they are not useful. So all the late expansions and Neon shift patterns can be removed, a

Re: [PATCH 1/3] add -Wstruct-not-pod, -Wclass-is-pod, -Wmismatched-tags (PR 61339)

2019-07-22 Thread Martin Sebor
Ping: https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00622.html On 7/8/19 3:58 PM, Martin Sebor wrote: The attached patch implements three new warnings:  *  -Wstruct-not-pod triggers for struct definitions that are not     POD structs,  *  -Wclass-is-pod triggers for class definitions that sa

[PATCH] Use GCC_PICFLAG to collect host-specific PICFLAG from ../config/picflag.m4

2019-07-22 Thread Arvind Sankar
The gcc configure script does not use the config/picflag.m4 macro to customize PICFLAG according to the host when using --enable-host-shared. Fix configure.ac to do so. Tested bootstrap on x86_64-linux-gnu. 2019-07-22 Arvind Sankar * gcc/configure.ac: Use GCC_PICFLAG. --- gcc/config

Re: [patch][aarch64]: fix unrecognizable insn for ldr got in ilp32 tiny

2019-07-22 Thread Richard Earnshaw (lists)
On 18/06/2019 14:50, Sylvia Taylor wrote: Hi Wilco, Combined them into one pattern. Updated the diff and the changelog is now: gcc/ChangeLog: 2019-06-18 Sylvia Taylor * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Change SYMBOL_TINY_GOT. * config

Re: [PATCH] Change std::ceil2 to be undefined if the result can't be represented

2019-07-22 Thread Jonathan Wakely
On 25/06/19 10:40 +0100, Jonathan Wakely wrote: * include/std/bit (__ceil2): Make unrepresentable results undefined, as per P1355R2. Add debug assertion. Perform one left shift, not two, so that out of range values cause undefined behaviour. Ensure that shift will

[PATCH] Adjust std::rotl, std::rotr etc to match final P0553R4 proposal

2019-07-22 Thread Jonathan Wakely
This proposal has now been accepted for C++20, with a few changes. This patch adjusts std::rotl and std::rotr to match the final specification and declares the additions for C++2a mode even when __STRICT_ANSI__ is defined. * include/std/bit (__rotl, __rotr): Change second parameter from

Re: [PATCH] Adjust std::rotl, std::rotr etc to match final P0553R4 proposal

2019-07-22 Thread Jonathan Wakely
On 22/07/19 17:55 +0100, Jonathan Wakely wrote: This proposal has now been accepted for C++20, with a few changes. This patch adjusts std::rotl and std::rotr to match the final specification and declares the additions for C++2a mode even when __STRICT_ANSI__ is defined. * include/std/bit

Re: [PATCH][ARM] Cleanup DImode shifts

2019-07-22 Thread Wilco Dijkstra
Hi Ramana, > Thanks for this patch set - What I'm missing in this is any analysis as > to what's the impact on code generation for neon intrinsics that use > uint64_t ? Especially things like v_u64 ? Well things like this continue to work exactly like before: uint64x1_t f20(uint64x1_t x, uint6

Re: [PATCH, GCC, AArch64] Enable Transactional Memory Extension

2019-07-22 Thread James Greenhalgh
On Wed, Jul 10, 2019 at 07:55:42PM +0100, Sudakshina Das wrote: > Hi > > This patch enables the new Transactional Memory Extension announced > recently as part of Arm's new architecture technologies. > We introduce a new optional extension "tme" to enable this. The > following instructions are p

Re: [PATCH v2] [rs6000] Add _mm_blend_epi16 and _mm_blendv_epi8

2019-07-22 Thread Paul Clarke
On 7/22/19 10:38 AM, Segher Boessenkool wrote: > On Mon, Jul 22, 2019 at 08:28:33AM -0500, Bill Schmidt wrote: >> On 7/22/19 12:58 AM, Segher Boessenkool wrote: >>> On Sun, Jul 21, 2019 at 05:22:19PM -0500, Paul Clarke wrote: Add compatibility implementations of _mm_blend_epi16 and _mm_blendv_

Re: Ping: [PATCH] x86/AVX512: improve generated code for mask-to-vector-register conversions

2019-07-22 Thread Jeff Law
On 7/18/19 10:07 AM, Jan Beulich wrote: On 27.06.19 at 10:59, wrote: >> Conversion of comparison results to full vectors does, when VPMOVM2* are >> unavailable, not require any intermediate VMOVDQ{A,U}*: Simply use >> embedded masking on VPTERNLOG* right away, which is available with >> AVX51

Re: Implement more rtx vector folds on variable-length vectors

2019-07-22 Thread Jeff Law
On 7/15/19 9:30 AM, Richard Sandiford wrote: > Richard Sandiford writes: >> 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

Re: [PATCH] Fix simd attribute handling on aarch64 (version 2)

2019-07-22 Thread Steve Ellcey
On Fri, 2019-07-19 at 19:24 +0100, Richard Sandiford wrote: > > You can probably also remove: > > tree new_type = build_distinct_type_copy (TREE_TYPE (node->decl)); > ... > TREE_TYPE (node->decl) = new_type; > > in simd_clone_adjust_argument_types. > > I'm happy doing it this

Re: Generalise VEC_DUPLICATE folding for variable-length vectors

2019-07-22 Thread Jeff Law
On 7/11/19 2:06 AM, Richard Sandiford wrote: > 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

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Michael Meissner
On Sat, Jul 20, 2019 at 12:28:34PM -0400, David Edelsohn wrote: > This patch needs to add rs6000-internal.h to tm_file in gcc/config.gcc > for all of the powerpc/rs6000 targets. It also may need tm_p_file and > tm_d_file definitions. While I agree it would make things easier if the declarations a

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Michael Meissner
On Sun, Jul 21, 2019 at 12:41:51PM -0500, Segher Boessenkool wrote: > On Sat, Jul 20, 2019 at 12:13:08PM -0400, Michael Meissner wrote: > > I will be iterating on patch #9 and sending out a replacement shortly. > > > > This is patch #10. It moves the various data structures from rs6000.c to > >

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Michael Meissner
On Mon, Jul 22, 2019 at 12:42:13AM -0500, Segher Boessenkool wrote: > Hi! > > On Sat, Jul 20, 2019 at 12:13:08PM -0400, Michael Meissner wrote: > > 2019-07-20 Michael Meissner > > > > * config/rs6000/rs6000-internal.h (rs6000_hard_regno_mode_ok_p): > > Move various declarations relatin

Re: [ARM/FDPIC v5 17/21] [ARM][testsuite] FDPIC: Handle *-*-uclinux*

2019-07-22 Thread Mike Stump
On Jul 19, 2019, at 1:56 AM, Kyrill Tkachov wrote: > > On 5/15/19 1:39 PM, Christophe Lyon wrote: >> Add *-*-uclinux* to tests that work on this target. >> >> 2019-XX-XX Christophe Lyon >> >> gcc/testsuite/ >> * g++.dg/abi/forced.C: Add *-*-uclinux*. >> * g++.dg/abi/g

Re: [ARM/FDPIC v5 18/21] [ARM][testsuite] FDPIC: Enable tests on pie_enabled targets

2019-07-22 Thread Mike Stump
On Jul 19, 2019, at 1:57 AM, Kyrill Tkachov wrote: > > On 5/15/19 1:39 PM, Christophe Lyon wrote: >> Some tests have the "nonpic" guard, but pass on >> arm*-*-uclinuxfdpiceabi because it is in PIE mode by default. Rather >> than adding this target to all these tests, add the "pie_enabled" >> effe

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Segher Boessenkool
On Mon, Jul 22, 2019 at 02:34:53PM -0400, Michael Meissner wrote: > On Sat, Jul 20, 2019 at 12:28:34PM -0400, David Edelsohn wrote: > > This patch needs to add rs6000-internal.h to tm_file in gcc/config.gcc > > for all of the powerpc/rs6000 targets. It also may need tm_p_file and > > tm_d_file def

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Segher Boessenkool
On Mon, Jul 22, 2019 at 02:36:00PM -0400, Michael Meissner wrote: > On Sun, Jul 21, 2019 at 12:41:51PM -0500, Segher Boessenkool wrote: > > On Sat, Jul 20, 2019 at 12:13:08PM -0400, Michael Meissner wrote: > > > I will be iterating on patch #9 and sending out a replacement shortly. > > > > > > Thi

Ping^2: [PATCH] RISC-V: Add -malign-data= option.

2019-07-22 Thread Ilia Diachkov
Ping: https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01609.html Andrew, Palmer, I think all issues was fixed in https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01689.html . Do you have any concerns about the patch? Best regards, Ilia.

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Segher Boessenkool
On Mon, Jul 22, 2019 at 02:59:39PM -0400, Michael Meissner wrote: > On Mon, Jul 22, 2019 at 12:42:13AM -0500, Segher Boessenkool wrote: > > On Sat, Jul 20, 2019 at 12:13:08PM -0400, Michael Meissner wrote: > > > 2019-07-20 Michael Meissner > > > > > > * config/rs6000/rs6000-internal.h (rs6000

Re: [PATCH] handle multibyte stores larger than char in strlen (PR 91183, 86888)

2019-07-22 Thread Jeff Law
On 7/19/19 4:04 PM, Martin Sebor wrote: > On targets with permissive alignment requirements GCC sometimes > lowers stores of short (between two and 16 bytes), power-of-two > char sequences  to single integer stores of the corresponding > width.  This happens for sequences of ordinary character stor

Re: [PATCH v2] [rs6000] Add documentation for __builtin_mtfsf

2019-07-22 Thread Segher Boessenkool
On Mon, Jul 22, 2019 at 09:00:08AM -0500, Paul Clarke wrote: > > 2019-07-21 Paul A. Clarke > > [gcc] > > * doc/extend.texi: Add documentation for __builtin_mtfsf. It should mention the section this is in... That is "Basic PowerPC Built-in Functions Available on all Configurations" I t

Re: [PATCH v3 3/3] PR80791 Consider doloop cmp use in ivopts

2019-07-22 Thread Segher Boessenkool
On Mon, Jul 22, 2019 at 09:18:10AM +0200, Richard Biener wrote: > On Mon, 22 Jul 2019, Segher Boessenkool wrote: > > > Hi! > > > > (Maybe I am missing half of the discussion -- sorry if so). > > > > I think we should have a new iv for just the doloop (which can have the > > same starting value a

Re: [PATCH] MIPS: Fix GCC `noreorder' for undefined R5900 short loops

2019-07-22 Thread Maciej W. Rozycki
Hi Fredrik, > I'm glad to hear from you again! I'm not dead, just distracted. > > I think that should be a GAS warning really (similarly to macros that > > expand to multiple instructions in a delay slot) as people ought to be > > allowed to do what they wish, and then `-Werror' can be used

Re: [PATCH] Use -flto instead of -flto=N in DWARF producer string.

2019-07-22 Thread Jeff Law
On 7/10/19 5:16 AM, Martin Liška wrote: > On 7/10/19 1:15 PM, Jakub Jelinek wrote: >> On Wed, Jul 10, 2019 at 01:08:52PM +0200, Martin Liška wrote: >>> --- a/gcc/dwarf2out.c >>> +++ b/gcc/dwarf2out.c >>> @@ -24460,6 +24460,13 @@ gen_producer_string (void) >>>case OPT_fchecking_: >>> /*

Re: Ping^2: [PATCH] RISC-V: Add -malign-data= option.

2019-07-22 Thread Jim Wilson
On Mon, Jul 22, 2019 at 1:45 PM Ilia Diachkov wrote: > Ping: https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01609.html I'm looking at this now. I've been busy dealing with far too many problems, but have mostly caught up on my backlog, at least enough that I can deal with this now. I think the c

Re: [PATCH 1/2] [ARC] Fix and refurbish the interrupts.

2019-07-22 Thread Jeff Law
On 7/9/19 10:23 AM, claz...@gmail.com wrote: > Hi Jeff, > > Please find attached the updated patch. > > What is new: > - mailing list feedback is taken into account. > - some comments are updated. > - a new test is added. > - the ARC AUX registers used by ZOL (hardware loop) and FPX (a custom > f

[PATCH] report as disabled options unsupported by a language (PR 80545)

2019-07-22 Thread Martin Sebor
While resolving PR80545 - option -Wstringop-overflow not recognized by Fortran, I discovered that a command line options that's supported only by a subset of languages is considered as enabled when tested by the middle-end even when the current language doesn't support the option. When the option

Re: [PATCH] MIPS: Fix GCC `noreorder' for undefined R5900 short loops

2019-07-22 Thread Jeff Law
On 7/22/19 3:47 PM, Maciej W. Rozycki wrote: > Hi Fredrik, > >> I'm glad to hear from you again! > > I'm not dead, just distracted. > >>> I think that should be a GAS warning really (similarly to macros that >>> expand to multiple instructions in a delay slot) as people ought to be >>> allow

Re: [PATCH 1/3] add -Wstruct-not-pod, -Wclass-is-pod, -Wmismatched-tags (PR 61339)

2019-07-22 Thread Jeff Law
On 7/8/19 3:58 PM, Martin Sebor wrote: > The attached patch implements three new warnings: > >  *  -Wstruct-not-pod triggers for struct definitions that are not >     POD structs, >  *  -Wclass-is-pod triggers for class definitions that satisfy >     the requirements on POD structs, and >  *  -Wmi

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-22 Thread Michael Meissner
On Mon, Jul 22, 2019 at 03:56:26PM -0500, Segher Boessenkool wrote: > That still needs an explanation: why is this a good thing, why do you > want that change? Sometimes that is obvious of course, but here it is > not. It would be a lot more obvious if there was more context. The trouble is to g

Re: [PATCH] i386: Properly encode xmm16-xmm31/ymm16-ymm31 for vector move

2019-07-22 Thread Jeff Law
On 2/22/19 9:24 AM, H.J. Lu wrote: > Hi Jan, Uros, > > This patch fixes the wrong code bug: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89229 > > Tested on AVX2 and AVX512 with and without --with-arch=native. > > OK for trunk? > > Thanks. > > H.J. > -- > i386 backend has > > INT_MODE (O

Re: [PATCH] handle multibyte stores larger than char in strlen (PR 91183, 86888)

2019-07-22 Thread Martin Sebor
On 7/22/19 3:33 PM, Jeff Law wrote: On 7/19/19 4:04 PM, Martin Sebor wrote: On targets with permissive alignment requirements GCC sometimes lowers stores of short (between two and 16 bytes), power-of-two char sequences  to single integer stores of the corresponding width.  This happens for seque

Re: Handle strncpy in tree-ssa-dse.c

2019-07-22 Thread Jeff Law
On 7/22/19 9:40 AM, Martin Sebor wrote: >> Given that they're not allowed to overlap, I would think not.  If that >> were allowed then the code which aggressively transforms strncpy to >> memcpy would need to be disabled (or at least throttled back) as well. > > I think there's some (maybe too muc

Re: [PATCH] report as disabled options unsupported by a language (PR 80545)

2019-07-22 Thread Jeff Law
On 7/22/19 3:54 PM, Martin Sebor wrote: > While resolving PR80545 - option -Wstringop-overflow not recognized > by Fortran, I discovered that a command line options that's supported > only by a subset of languages is considered as enabled when tested > by the middle-end even when the current langua

Re: [PATCH 1/3] add -Wstruct-not-pod, -Wclass-is-pod, -Wmismatched-tags (PR 61339)

2019-07-22 Thread Mike Stump
On Jul 22, 2019, at 3:19 PM, Jeff Law wrote: > > On 7/8/19 3:58 PM, Martin Sebor wrote: >> The attached patch implements three new warnings: >> >> * -Wstruct-not-pod triggers for struct definitions that are not >> POD structs, >> * -Wclass-is-pod triggers for class definitions that satis

Re: [range-ops] patch 01/04: types for VR_UNDEFINED and VR_VARYING

2019-07-22 Thread Jeff Law
On 7/16/19 12:37 PM, Andrew MacLeod wrote: > On 7/9/19 5:56 AM, Richard Biener wrote: >> On Tue, Jul 9, 2019 at 9:28 AM Aldy Hernandez wrote: >>> >>> >>> On 7/4/19 6:33 AM, Richard Biener wrote: On Wed, Jul 3, 2019 at 2:17 PM Aldy Hernandez wrote: > On 7/3/19 7:08 AM, Richard Biener wrot

Re: [PATCH] Automatics in equivalence statements

2019-07-22 Thread Jeff Law
On 7/1/19 3:35 AM, Mark Eggleston wrote: > > On 25/06/2019 14:17, Mark Eggleston wrote: >> >> On 25/06/2019 00:17, Jeff Law wrote: >>> On 6/24/19 2:19 AM, Bernhard Reutner-Fischer wrote: On Fri, 21 Jun 2019 07:10:11 -0700 Steve Kargl wrote: > On Fri, Jun 21, 2019 at 02:31:51PM

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

2019-07-22 Thread Jeff Law
On 7/10/19 9:52 AM, 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 make -j 8 check-fortran on x86_64 >> >> Conditional compilatio

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

2019-07-22 Thread Jeff Law
On 7/11/19 6:16 AM, Mark Eggleston wrote: > > 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 >

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

2019-07-22 Thread Jeff Law
On 7/10/19 7:50 AM, 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 make -j 8 check-fortran on x86_64 > > Conditional compilation using #ifdef __GFC_REAL_16__ has been employed > where appropriate

Go patch committed: Follow-on fix for finalizing imported methods

2019-07-22 Thread Ian Lance Taylor
This Go frontend patch by Than McIntosh is a revision to https://golang.org/cl/185518 (https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00821.html), which added code to perform finalization of methods on types created by the importer and not directly reachable until inlining is done. The original fix

Re: [PATCH 1/3] add -Wstruct-not-pod, -Wclass-is-pod, -Wmismatched-tags (PR 61339)

2019-07-22 Thread Martin Sebor
On 7/22/19 4:19 PM, Jeff Law wrote: On 7/8/19 3:58 PM, Martin Sebor wrote: The attached patch implements three new warnings:  *  -Wstruct-not-pod triggers for struct definitions that are not     POD structs,  *  -Wclass-is-pod triggers for class definitions that satisfy     the requirements

Re: Ping^2: [PATCH] RISC-V: Add -malign-data= option.

2019-07-22 Thread Jim Wilson
On Mon, Jul 22, 2019 at 2:50 PM Jim Wilson wrote: > On Mon, Jul 22, 2019 at 1:45 PM Ilia Diachkov > wrote: > > Ping: https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01609.html It looks good. I modified the ChangeLog entry a little to change Added to New. I modified the doc entry to improve the E

[PATCH] PR91195: fix -Wmaybe-uninitialized warning for conditional store optimization

2019-07-22 Thread JiangNing OS
This patch is to fix PR91195. Is it OK for trunk? diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 711a31ea597..4db36644160 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-07-22 Jiangning Liu + + PR middle-end/91195 + * tree-ssa-phiopt.c (cond_store_replacement)

Re: [PATCH v3 3/3] PR80791 Consider doloop cmp use in ivopts

2019-07-22 Thread Kewen.Lin
on 2019/7/22 下午3:18, Richard Biener wrote: > On Mon, 22 Jul 2019, Segher Boessenkool wrote: > >> Hi! >> >> (Maybe I am missing half of the discussion -- sorry if so). >> >> I think we should have a new iv for just the doloop (which can have the >> same starting value and step and type as another i

Re: [PATCH v3 3/3] PR80791 Consider doloop cmp use in ivopts

2019-07-22 Thread Kewen.Lin
Hi Segher, on 2019/7/23 上午5:43, Segher Boessenkool wrote: > On Mon, Jul 22, 2019 at 09:18:10AM +0200, Richard Biener wrote: >> On Mon, 22 Jul 2019, Segher Boessenkool wrote: >> >>> Hi! >>> >>> (Maybe I am missing half of the discussion -- sorry if so). >>> >>> I think we should have a new iv for j

[PATCH v5 3/3] PR80791 Consider doloop cmp use in ivopts

2019-07-22 Thread Kewen.Lin
Hi Bin, This patch follows your suggestion, to avoid use infinite cost iv cand to rewrite. In order to allow other IV cands to be considered, zeroing the iv cand cost if its users are only doloop uses. (See the typical case in previous reply.) Could you please have a look? Thanks in advance!

  1   2   >