Re: [PATCH][middle-end/88784] Middle end is missing some optimizations about unsigned

2019-07-01 Thread Richard Biener
On Fri, 28 Jun 2019, Andrew Pinski wrote: > On Thu, Jun 27, 2019 at 9:55 PM Li Jia He wrote: > > > > > > > > On 2019/6/27 11:48 PM, Jeff Law wrote: > > > On 6/27/19 12:11 AM, Li Jia He wrote: > > >> Hi, > > >> > > >> According to the optimizable case described by Qi Feng on > > >> issue 88784, we

[range-ops] patch 00/04: Summary

2019-07-01 Thread Aldy Hernandez
I'm happy to finally contribute the range-ops part of the ranger work. This is the infrastructure for folding unary and binary ranges of tree_codes into a resulting range. It is the ranger counterpart of extract_range_from_*_expr in tree-vrp.c (not the similarly called callers in vr-values.c).

Re: [PATCH] Add late non-iterating FRE with optimize > 1

2019-07-01 Thread Richard Biener
On Thu, 27 Jun 2019, Richard Biener wrote: > > This fixes FREs handling of TARGET_MEM_REF (it didn't consider > &TARGET_MEM_REF) and adds a late FRE pass which has iteration > disabled and runs only at -O[2s]+ to limit the compile-time > impact. > > This helps cases where unrolling and vectoriza

[PATCH] Fix libstdc++ install-pdf support.

2019-07-01 Thread Jim Wilson
Try to run "make install-pdf" on a system with dblatex and pdflatex installed but not doxygen gives an error. run_doxygen error: Could not find Doxygen 1.7.0 in path. Looking at the build log, I see that this is also using xsltproc and xmllint. Installing doxygen and running again, I get lots o

Re: [PATCH] Make lto-dump dump symtab callgraph in graphviz format

2019-07-01 Thread Martin Jambor
On Sat, Jun 29 2019, Giuliano Belinassi wrote: > This patch makes lto-dump dump the symbol table callgraph in graphviz > format. -ENOPATCH Martin > > I've not added any test to this because I couldn't find a way to call > lto-dump from the testsuite. Also, any feedback with regard to how can > I

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

2019-07-01 Thread Andrea Corallo
Andrea Corallo writes: > David Malcolm writes: > >> On Tue, 2019-06-25 at 08:11 +, Andrea Corallo wrote: >>> Hi, >>> third version for this patch with the simplified test. >>> >>> make check-jit pass clean >>> >>> Bests >>> Andrea >>> >>> 2019-06-09 Andrea Corallo andrea.cora...@arm.com >

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

2019-07-01 Thread Aldy Hernandez
As discussed before, this enforces types on undefined and varying, which makes everything more regular, and removes some special casing throughout range handling. The min/max fields will contain TYPE_MIN_VALUE and TYPE_MAX_VALUE, which will make it easy to get at the bounds of a range later on

Re: [PATCH 5/5] Use ira_setup_alts for conflict detection

2019-07-01 Thread Richard Sandiford
Vladimir Makarov writes: > On 2019-06-21 9:43 a.m., Richard Sandiford wrote: >> make_early_clobber_and_input_conflicts records allocno conflicts >> between inputs and earlyclobber outputs. It (rightly) avoids >> doing this for inputs that are explicitly allowed to match the >> output due to match

[range-ops] patch 02/04: enforce canonicalization in value_range

2019-07-01 Thread Aldy Hernandez
As discussed prior. This enforces canonicalization at creation time, which makes things a lot more consistent throughout. Since now [MIN, MAX] will be canonicalized into VR_VARYING, we can no longer depend on normalizing VARYING's into [MIN, MAX] for more general handling. I've adjusted the

Fix g++.dg/lto/alias-1 and 2 for non-plugin builds

2019-07-01 Thread Jan Hubicka
Hi, alias-1 and alias-2 fails with -fno-use-inliner-plugin because the inlinig it relies on does not happen. This is because w/o resolution info we can not optimize away the offline copy and we know that main is executed once and optimize for size. Bootsrapped/regtested x86_64-linux, comitted. Ho

Re: [PATCH] Fix libstdc++ install-pdf support.

2019-07-01 Thread Jonathan Wakely
On 01/07/19 01:21 -0700, Jim Wilson wrote: Try to run "make install-pdf" on a system with dblatex and pdflatex installed but not doxygen gives an error. run_doxygen error: Could not find Doxygen 1.7.0 in path. Looking at the build log, I see that this is also using xsltproc and xmllint. Instal

[range-ops] patch 03/04: abstract out a few things from extract_range_from*

2019-07-01 Thread Aldy Hernandez
I hate duplicating code, and the symbolic handling of pointer_plus_expr, plus_minus_expr, and the code dealing with overflows, is ripe for sharing with the ranger. I've abstracted these into their own functions. No changes in functionality is expected. You will notice that I moved value_rang

Fix verifier ICE on CLOBBER of COMPONENT_REF

2019-07-01 Thread Jan Hubicka
Hi, the testcase makes inliner to substitute RESULT_DECL by COMPONENT_REF inside CLOBBER statement. This is not allowed and leads to ICE in verifier (while I think we should fix code to support this). This patch simply makes inliner to watch for this case and do not remap the statement at all. The

[PATCH] Fix use-after-scope in host-mingw32.c (PR target/88056).

2019-07-01 Thread Martin Liška
Hi. The patch is about use-after-scope. However, I can't verify it survives bootstrap on the affected target. Ready for the trunk? Thanks, Martin gcc/ChangeLog: 2019-07-01 Martin Liska PR target/88056 * config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Define

Re: [PATCH] Automatics in equivalence statements

2019-07-01 Thread Mark Eggleston
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 +0100, Mark Eggleston wrote: Currently variables with the AUTOMATIC

[PATCH 1/2] gdbhooks.py: use strip_typedefs to simplify matching type names

2019-07-01 Thread Vladislav Ivanishin
Hi! GDB's Python API provides strip_typedefs method that can be instrumental for writing DRY code. Using it at least partially obviates the need for the add_printer_for_types method we have in gdbhooks.py (it takes a list of typenames to match and is usually used to deal with typedefs). I think,

[PATCH 2/2] gdbhooks.py: extend vec support in pretty printers

2019-07-01 Thread Vladislav Ivanishin
This change is threefold: - enable pretty printing of vec<>, not just vec<>* - generalize 'vec<(\S+), (\S+), (\S+)>' regex, which is limiting - extend to work for vl_ptr layout (only vl_embed was supported) The motivating example for all three is a vector of vectors in tree-ssa-uninit.c: type

[range-ops] patch 04/04: range-ops proper (PLACEHOLDER)

2019-07-01 Thread Aldy Hernandez
We still need to do some cosmetic changes to range-ops itself, but I realize it may be easier to review the first 3 patches, if one has an idea of how it all fits together. As I said before, the first 3 patches can go in as is; this is just for the curious or impatient. As such, I am not subm

[range-ops] patch 05/04: bonus round!

2019-07-01 Thread Aldy Hernandez
This is completely unrelated to range-ops itself, but may yield better results in value_range intersections. It's just something I found while working on VRP, and have been dragging around on our branch. If we know the intersection of two ranges is the empty set, there is no need to conservat

Re: [PATCH] Remove another bunch of dead assignment.

2019-07-01 Thread Martin Liška
On 6/27/19 7:24 PM, Richard Sandiford wrote: > Martin Liška writes: >> diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c >> index d50b811d863..1bd251ea8e2 100644 >> --- a/gcc/config/i386/i386-expand.c >> +++ b/gcc/config/i386/i386-expand.c >> @@ -19780,8 +19780,7 @@ ix86_e

Re: [PATCH] rs6000: Enable -fvariable-expansion-in-unroller by default

2019-07-01 Thread Richard Biener
On Thu, Jun 27, 2019 at 2:19 PM Bill Schmidt wrote: > > On 6/27/19 6:45 AM, Segher Boessenkool wrote: > > On Thu, Jun 27, 2019 at 11:33:45AM +0200, Richard Biener wrote: > >> On Thu, Jun 27, 2019 at 5:23 AM Bill Schmidt > >> wrote: > >>> We've done some experimenting and realized that the subjec

Re: [PATCH] Add .gnu.lto_.lto section.

2019-07-01 Thread Martin Liška
Hi. Ok, so there's a version with added ChangeLog that survives regression tests. Ready to be installed? Thanks, Martin >From e6745583dc4b7f5543878c0a25498e818531f73e Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 21 Jun 2019 12:14:04 +0200 Subject: [PATCH 1/2] Add .gnu.lto_.lto section.

[PATCH 2/2] Add zstd support for LTO bytecode compression.

2019-07-01 Thread Martin Liška
Hi. This is updated version of the zstd patch that should handle all what Joseph pointed out. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From 5d2006c9c4d481f4083d5a591327ee64847b0bf7 Mon Sep 17 00:00:00 2001 From: Martin Liska D

Re: [PATCH] constrain one character optimization to one character stores (PR 90989)

2019-07-01 Thread Richard Biener
On Fri, Jun 28, 2019 at 2:16 AM Jeff Law wrote: > > On 6/27/19 10:12 AM, Jakub Jelinek wrote: > > On Thu, Jun 27, 2019 at 09:15:41AM -0600, Jeff Law wrote: > >> Actually it was trivial to create with store merging. > >> > >> char x[20]; > >> foo() > >> { > >> x[0] = 0x41; > >> x[1] = 0x42; > >

Re: introduce EH_ELSE tree and gimplifier

2019-07-01 Thread Richard Biener
On Fri, Jun 28, 2019 at 5:21 AM Alexandre Oliva wrote: > > On Jun 27, 2019, Richard Biener wrote: > > > On Thu, Jun 27, 2019 at 10:18 AM Alexandre Oliva wrote: > > >> @@ -909,6 +909,13 @@ DEFTREECODE (TRY_CATCH_EXPR, "try_catch_expr", > >> tcc_statement, 2) > >> The second operand is a cleanup

Re: [patch, c++ openmp] Improve diagnostics for unmappable types

2019-07-01 Thread Andrew Stubbs
On 28/06/2019 17:21, Jason Merrill wrote: +  inform ((decl ? DECL_SOURCE_LOCATION (decl) : UNKNOWN_LOCATION), +  "incomplete types are not mappable"); It's better to use input_location as a fallback; essentially no diagnostics should use UNKNOWN_LOCATION.  And let's print the type

Re: allow EH to escape from GIMPLE_EH_ELSE ELSE block

2019-07-01 Thread Richard Biener
On Fri, Jun 28, 2019 at 11:43 AM Alexandre Oliva wrote: > > On Jun 27, 2019, Richard Biener wrote: > > > On Thu, Jun 27, 2019 at 10:18 AM Alexandre Oliva wrote: > >> > >> The only preexisting use of GIMPLE_EH_ELSE, for transactional memory > >> commits, did not allow exceptions to escape from th

Re: [PATCH 2/2] Rename SINGE_VALUE to TOPN_VALUES counters.

2019-07-01 Thread Martin Liška
@Honza: PING^1 On 6/20/19 4:46 PM, Martin Liška wrote: > And the second part is rename so that it reflect reality > that single value can actually track multiple values. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin >

Re: [PATCH] [RFC, PGO+LTO] Missed function specialization + partial devirtualization

2019-07-01 Thread Martin Liška
@Honza: PING^1 On 6/20/19 4:45 PM, Martin Liška wrote: > Hi. > > So the first part is about support of N tracked values to be supported. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin >

RFA: fix PR66726 regression for min/max/conversion combo from PR71016 patch

2019-07-01 Thread Joern Wolfgang Rennecke
The heuristic introduced for PR71016 prevents recognizing a max / min combo like it is used for saturation when followed by a conversion. The attached patch refines the heuristic to allow this case. Regression tested on x86_64-pc-linux-gnu . Index: tree-ssa-phiopt.c ===

Re: [PATCH 04/30] Changes to arc

2019-07-01 Thread Andrew Burgess
* acsaw...@linux.ibm.com [2019-06-25 15:22:13 -0500]: > From: Aaron Sawdey > > * config/arc/arc-protos.h: Change movmem to cpymem. > * config/arc/arc.c (arc_expand_movmem): Change movmem to cpymem. > * config/arc/arc.h: Change movmem to cpymem in comment. > * config/arc/

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

2019-07-01 Thread Wilco Dijkstra
Hi Silvia, > 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/aarch64/aarch64.md     (ldr_go

Re: RFA: fix PR66726 regression for min/max/conversion combo from PR71016 patch

2019-07-01 Thread Richard Biener
On Mon, Jul 1, 2019 at 1:22 PM Joern Wolfgang Rennecke wrote: > > The heuristic introduced for PR71016 prevents recognizing a max / min > combo like it is used for > saturation when followed by a conversion. > The attached patch refines the heuristic to allow this case. Regression > tested on x86_

Re: [PATCH] rs6000: Enable -fvariable-expansion-in-unroller by default

2019-07-01 Thread Segher Boessenkool
On Mon, Jul 01, 2019 at 12:30:41PM +0200, Richard Biener wrote: > On Thu, Jun 27, 2019 at 2:19 PM Bill Schmidt wrote: > > > > On 6/27/19 6:45 AM, Segher Boessenkool wrote: > > > On Thu, Jun 27, 2019 at 11:33:45AM +0200, Richard Biener wrote: > > >> On Thu, Jun 27, 2019 at 5:23 AM Bill Schmidt >

Re: [PING][AArch64] Use scvtf fbits option where appropriate

2019-07-01 Thread Wilco Dijkstra
Hi Joel, This looks good. One more thing, the patterns need to be conditional on check flag_trapping_math since the division can underflow and reassociating it would remove that. Other than that I think this is ready, but I can't approve. Wilco

Re: [PATCH][ARM] Add support for "noinit" attribute

2019-07-01 Thread Christophe Lyon
ping? On Thu, 13 Jun 2019 at 17:13, Christophe Lyon wrote: > > Hi, > > Similar to what already exists for TI msp430 or in TI compilers for > arm, this patch adds support for "noinit" attribute for arm. It's very > similar to the corresponding code in GCC for msp430. > > It is useful for embedded

Re: [ARM/FDPIC v5 00/21] FDPIC ABI for ARM

2019-07-01 Thread Christophe Lyon
ping^4 ? https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00817.html On Mon, 17 Jun 2019 at 13:41, Christophe Lyon wrote: > > ping^3 ? > > On Thu, 6 Jun 2019 at 14:36, Christophe Lyon > wrote: > > > > Hi, > > > > If this makes review easier, here are the areas covered by the patches: > > > > - pat

Re: Use ODR for canonical types construction in LTO

2019-07-01 Thread Jan Hubicka
Hi, this patch fixes the ICE. Problem is that va_arg type is pre-streamed and thus at stream-in time we have main variant constructed by LTO FE which is !CXX_ODR_P while vairants are ones comming from C++ FE which are ODR. It is safe to drop the flags here since we only care about main variants an

Re: [PATCH] Make lto-dump dump symtab callgraph in graphviz format

2019-07-01 Thread Giuliano Belinassi
Hi, On 07/01, Martin Jambor wrote: > On Sat, Jun 29 2019, Giuliano Belinassi wrote: > > This patch makes lto-dump dump the symbol table callgraph in graphviz > > format. > > -ENOPATCH Sorry, I forgot the most important. Here it is. > > Martin > > > > > I've not added any test to this because I

Re: [PATCH] Make lto-dump dump symtab callgraph in graphviz format

2019-07-01 Thread Martin Liška
On 7/1/19 2:56 PM, Giuliano Belinassi wrote: > Hi, > > On 07/01, Martin Jambor wrote: >> On Sat, Jun 29 2019, Giuliano Belinassi wrote: >>> This patch makes lto-dump dump the symbol table callgraph in graphviz >>> format. >> -ENOPATCH > Sorry, > I forgot the most important. Here it is. Hello. I

[Ada] Compiler abort on use of Invalid_Value on numeric positive subtype

2019-07-01 Thread Pierre-Marie de Rodat
Invalid_Value in most cases uses a predefined numeric value from a built-in table, but if the type does not include zero in its range, the literal 0 is used instead. In that case the value (produced by a call to Get_Simple_Init_Val) must be resolved for proper type information. The following must

[Ada] Crash due to missing freeze nodes in transient scope

2019-07-01 Thread Pierre-Marie de Rodat
The following patch updates the freezing of expressions to insert the generated freeze nodes prior to the expression that produced them when the context is a transient scope within a type initialization procedure. This ensures that the nodes are properly interleaved with respect to the constructs t

[Ada] Revert "Global => null" on calendar routines that use timezones

2019-07-01 Thread Pierre-Marie de Rodat
Some routines from the Ada.Calendar package, i.e. Year, Month, Day, Split and Time_Off, rely on OS-specific timezone databases that are kept in files (e.g. /etc/localtime on Linux). In SPARK we want to model this as a potential side-effect, so those routines can't have "Global => null". Tested on

[Ada] gprbuild fails to find ghost ALI files

2019-07-01 Thread Pierre-Marie de Rodat
This patch fixes a bug where if a ghost unit is compiled with ignored-ghost mode in a library project, then gprbuild will fail to find the ALI file, because the compiler generates an empty object file, but no ALI file. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-01 Bob Duff gcc/

[Ada] Cleanup references to LynuxWorks in docs and comments

2019-07-01 Thread Pierre-Marie de Rodat
Apparently the company behind LynxOS is now called Lynx Software Technologies (formerly LynuxWorks). Use the current name in user docs and the previous name in developer comment (to hopefully reflect the company name at the time when the patchset mentioned in the comment was released). Tested on

[Ada] Remove a SPARK rule about implicit Global

2019-07-01 Thread Pierre-Marie de Rodat
A rule about implicit Global contract for functions whose names overload an abstract state was never implemented (and no user complained about this). It is now removed, so references to other rules need to be renumbered. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-01 Piotr Trojanek

[Ada] Spurious error private subtype derivation

2019-07-01 Thread Pierre-Marie de Rodat
This patch fixes a spurious error on a derived type declaration whose subtype indication is a subtype of a private type whose full view is a constrained discriminated type. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-01 Ed Schonberg gcc/ada/ * sem_ch3.adb (Build_Derived

[Ada] Crash on improper pragma Weak_External

2019-07-01 Thread Pierre-Marie de Rodat
This patch adds a guard on the use of pragma Weak_External. This pragma affects link-time addresses of entities, and does not apply to types. Previous to this patch the compiler would abort on a misuse of the pragma. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-01 Ed Schonberg gc

[Ada] Wrong code with -gnatVa on lock-free protected objects

2019-07-01 Thread Pierre-Marie de Rodat
This patch fixes the handling of validity checks on protected objects that use the Lock-Free implementation when validity checks are enabled, previous to this patch the compiler would report improperly that a condition in a protected operation was always True (when comoipled with -gnatwa) and would

[Ada] Improve error message on mult/div between fixed-point and integer

2019-07-01 Thread Pierre-Marie de Rodat
Multiplication and division of a fixed-point type by an integer type is only defined by default for type Integer. Clarify the error message to explain that a conversion is needed in other cases. Also change an error message to start with lowercase as it should be. Tested on x86_64-pc-linux-gnu, c

[Ada] More permissive use of GNAT attribute Enum_Rep

2019-07-01 Thread Pierre-Marie de Rodat
This patch allows the prefix of the attribute Enum_Rep to be an attribute referece (such as Enum_Type'First). A recent patch had restricted the prefix to be an object of a discrete type, which is incompatible with orevious usage. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-01 Ed Sc

[Ada] Spurious error on inst. of partially defaulted formal package

2019-07-01 Thread Pierre-Marie de Rodat
This patch removes a spurious error on an instantiation whose generic unit has a formal package where some formal parameters are box-initialiaed. Previously the code assumed that box-initialization for a formal package applied to all its formal parameters. Tested on x86_64-pc-linux-gnu, committed

[Ada] Implement GNAT.Graphs

2019-07-01 Thread Pierre-Marie de Rodat
This patch introduces new unit GNAT.Graphs which currently provides a directed graph abstraction. -- Source -- -- operations.adb with Ada.Text_IO; use Ada.Text_IO; with GNAT;use GNAT; with GNAT.Graphs; use GNAT.Graphs; with GNAT.Sets; use GNAT.Sets; procedur

Re: RFA: fix PR66726 regression for min/max/conversion combo from PR71016 patch

2019-07-01 Thread Joern Wolfgang Rennecke
[Apologies if this is a duplicate, I'm unsure if my previous mail was delivered] On 01/07/19 12:38, Richard Biener wrote: On Mon, Jul 1, 2019 at 1:22 PM Joern Wolfgang Rennecke wrote: The heuristic introduced for PR71016 prevents recognizing a max / min combo like it is used for saturation whe

Re: [PATCH] let hash-based containers work with non-trivial types (PR 90923)

2019-07-01 Thread Martin Sebor
[Adding gcc-patches] Richard, do you have any further comments or is the revised patch good to commit? Martin On 6/25/19 2:30 PM, Martin Sebor wrote: On 6/25/19 3:53 AM, Jonathan Wakely wrote: On 24/06/19 19:42 +0200, Richard Biener wrote: On Mon, Jun 24, 2019 at 4:35 PM Martin Sebor wrote:

[PATCH] rs6000: Improve indexed addressing

2019-07-01 Thread Segher Boessenkool
The function rs6000_force_indexed_or_indirect_mem makes a memory operand suitable for indexed (or indirect) addressing. If the memory address isn't yet valid, it loads the whole thing into a register to make it valid. That isn't optimal. This changes it to load an address that is the sum of two

[Committed] S/390: Fix vector shift count operand

2019-07-01 Thread Andreas Krebbel
We currently use subst definitions to handle the different variants of shift count operands. Unfortunately, in the vector shift pattern the shift count operand is used directly. Without it being adjusted for the 'subst' variants the displacement value is omitted resulting in a wrong shift count bei

Re: [Committed] S/390: Fix vector shift count operand

2019-07-01 Thread Marek Polacek
On Mon, Jul 01, 2019 at 04:58:09PM +0200, Andreas Krebbel wrote: > We currently use subst definitions to handle the different variants of shift > count operands. Unfortunately, in the vector shift pattern the shift count > operand is used directly. Without it being adjusted for the 'subst' variants

Re: [Committed] S/390: Fix vector shift count operand

2019-07-01 Thread Andreas Krebbel
On 01.07.19 17:01, Marek Polacek wrote: > On Mon, Jul 01, 2019 at 04:58:09PM +0200, Andreas Krebbel wrote: >> We currently use subst definitions to handle the different variants of shift >> count operands. Unfortunately, in the vector shift pattern the shift count >> operand is used directly. Witho

[PATCH][arm/AArch64] Assume unhandled NEON types are neon_arith_basic types when scheduling for Cortex-A5

2019-07-01 Thread Kyrill Tkachov
Hi all, Some scheduling descriptions, like the Cortex-A57 one, are reused for multiple -mcpu options. Sometimes those other -mcpu cores support more architecture features than the Armv8-A Cortex-A57. For example, the Cortex-A75 and Cortex-A76 support Armv8.2-A as well as the Dot Product instru

Re: [PATCH][arm/AArch64] Assume unhandled NEON types are neon_arith_basic types when scheduling for Cortex-A57

2019-07-01 Thread Kyrill Tkachov
Something somewhere cut off the subject line: it should say Cortex-A57. Sorry about that. Kyrill On 7/1/19 4:13 PM, Kyrill Tkachov wrote: Hi all, Some scheduling descriptions, like the Cortex-A57 one, are reused for multiple -mcpu options. Sometimes those other -mcpu cores support more archit

Re: [PATCH 1/2] gdbhooks.py: use strip_typedefs to simplify matching type names

2019-07-01 Thread David Malcolm
On Mon, 2019-07-01 at 12:50 +0300, Vladislav Ivanishin wrote: > Hi! > > GDB's Python API provides strip_typedefs method that can be > instrumental > for writing DRY code. Using it at least partially obviates the need > for > the add_printer_for_types method we have in gdbhooks.py (it takes a > li

Re: [PATCH 2/2] gdbhooks.py: extend vec support in pretty printers

2019-07-01 Thread David Malcolm
On Mon, 2019-07-01 at 13:07 +0300, Vladislav Ivanishin wrote: > This change is threefold: > - enable pretty printing of vec<>, not just vec<>* > - generalize 'vec<(\S+), (\S+), (\S+)>' regex, which is limiting > - extend to work for vl_ptr layout (only vl_embed was supported) > > The motivating ex

Re: Incremental LTO linking part 7: documentation

2019-07-01 Thread Sandra Loosemore
On 5/26/19 11:35 AM, Gerald Pfeifer wrote: On Tue, 8 May 2018, Jan Hubicka wrote: this patch adds documentation of -flinker-output. * doc/invoke.texi (-flinker-output): Document I found a follow-up patch to this in a local tree that had been sitting there for a while, had a another lo

Re: [PATCH][ARM] Add support for "noinit" attribute

2019-07-01 Thread Kyrill Tkachov
Hi Christophe, On 6/13/19 4:13 PM, Christophe Lyon wrote: Hi, Similar to what already exists for TI msp430 or in TI compilers for arm, this patch adds support for "noinit" attribute for arm. It's very similar to the corresponding code in GCC for msp430. It is useful for embedded targets where

[SPARC] Fix PR middle-end/64242

2019-07-01 Thread Eric Botcazou
SPARC defines a nonlocal_goto pattern to which the same adjustment needs to be applied as in the middle-end. Tested on SPARC/Solaris, applied on mainline and 9 branch. 2019-07-01 Eric Botcazou PR middle-end/64242 * config/sparc/sparc.md (nonlocal_goto): Restore frame pointer

Re: [PATCH][arm/AArch64] Assume unhandled NEON types are neon_arith_basic types when scheduling for Cortex-A5

2019-07-01 Thread James Greenhalgh
On Mon, Jul 01, 2019 at 04:13:40PM +0100, Kyrill Tkachov wrote: > Hi all, > > Some scheduling descriptions, like the Cortex-A57 one, are reused for > multiple -mcpu options. > Sometimes those other -mcpu cores support more architecture features > than the Armv8-A Cortex-A57. > For example, the C

Re: RFA: fix PR66726 regression for min/max/conversion combo from PR71016 patch

2019-07-01 Thread Richard Biener
On Mon, Jul 1, 2019 at 4:05 PM Joern Wolfgang Rennecke wrote: > > [Apologies if this is a duplicate, I'm unsure if my previous mail was > delivered] > On 01/07/19 12:38, Richard Biener wrote: > > On Mon, Jul 1, 2019 at 1:22 PM Joern Wolfgang Rennecke > > wrote: > >> The heuristic introduced for P

Re: [PATCH][AArch64] Remove constraint strings from define_expand constructs in the back end

2019-07-01 Thread James Greenhalgh
On Mon, Jun 24, 2019 at 04:33:40PM +0100, Dennis Zhang wrote: > Hi, > > A number of AArch64 define_expand patterns have specified constraints > for their operands. But the constraint strings are ignored at expand > time and are therefore redundant/useless. We now avoid specifying > constraints

Re: [PATCH] let hash-based containers work with non-trivial types (PR 90923)

2019-07-01 Thread Richard Biener
On Mon, Jul 1, 2019 at 4:55 PM Martin Sebor wrote:> > [Adding gcc-patches] > > Richard, do you have any further comments or is the revised patch > good to commit? No further comments from my side - it's good to commit. Richard. > Martin > > On 6/25/19 2:30 PM, Martin Sebor wrote: > > On 6/25/19

Re: [PING][AArch64] Use scvtf fbits option where appropriate

2019-07-01 Thread James Greenhalgh
On Wed, Jun 26, 2019 at 10:35:00AM +0100, Joel Hutton wrote: > Ping, plus minor rework (mostly non-functional changes) > > gcc/ChangeLog: > > 2019-06-12 Joel Hutton > > * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow2_recip): New > prototype > * config/aarch64/aarch6

[committed] Fix longjmp expander on hppa

2019-07-01 Thread John David Anglin
With the recent update to setjmp, we now need to restore the hard frame pointer directly from the saved frame pointer. We don't need to adjust for the offset between the virtual_stack_vars_rtx and the hard frame pointer. Tested on hppa-unknwon-linux-gnu, hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux1

Re: [PATCH] Make lto-dump dump symtab callgraph in graphviz format

2019-07-01 Thread Giuliano Belinassi
Hi, Liška I incorporated all your suggestions to the patch, but before sending the v2 I want to discuss some errors reported by the style script. >=== ERROR type #1: blocks of 8 spaces should be replaced with tabs (16 >error(s)) === >gcc/lto/lto-dump.c:263:22:" -list [options] Dump

[PATCH 00/12] rs6000: Use parameterised names

2019-07-01 Thread Segher Boessenkool
This series makes the rs6000 backend use parameterised names. This means adding an "@" to the start of pattern names, removing the mode from the gen_* names where you call them, and adding an extra mode parameter to those calls (as the first argument). The abs and neg patterns used to call FAIL f

[PATCH 01/12] @neg2

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (neg2): Make this a parameterized name. (allocate_stack): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/

[PATCH 02/12] @fix_truncsi2_fprs

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (fix_truncsi2_fprs): Make this a parameterized name. (fix_truncsi2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 8 ++-- 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gcc/config

[PATCH 03/12] @abs2_internal

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (abs2_internal): Make this a parameterized name. (abs2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gcc/config/rs6000/rs6

[PATCH 04/12] @indirect_jump_nospec

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (indirect_jump_nospec): Make this a parameterized name. (indirect_jump): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gcc/con

[PATCH 07/12] @extenddf2_{fprs,vsx}

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (extenddf2_fprs): Make this a parameterized name. (extenddf2_vsx): Make this a parameterized name. (extenddf2): Use those names. Simplify. --- gcc/config/rs6000/rs6000.md | 23 ++- 1 f

[PATCH 06/12] @eh_set_lr_

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (eh_set_lr_): Make this a parameterized name. (eh_return): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gcc/config/rs6000/rs6

[PATCH 09/12] @neg2_hw

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (neg2_hw): Make this a parameterized name. (neg2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 11 ++- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gcc/config/rs6000/rs6000

[PATCH 05/12] @ctr

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (ctr): Make this a parameterized name. (doloop_end): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 18 +- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/gcc/config/rs6000/rs60

[PATCH 08/12] @extenddf2

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (extenddf2): Make this a parameterized name. (floatsi2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gcc/config/rs6000/rs6

[PATCH 12/12] @ieee_128bit_vsx_abs2

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (ieee_128bit_vsx_abs2): Make this a parameterized name. (abs2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/gcc/config/r

[PATCH 11/12] @ieee_128bit_vsx_neg2

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (ieee_128bit_vsx_neg2): Make this a parameterized name. (neg2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 12 +++- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/gcc/config

[PATCH 10/12] @abs2_hw

2019-07-01 Thread Segher Boessenkool
2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (abs2_hw): Make this a parameterized name. (abs2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md

Re: [PATCH] let hash-based containers work with non-trivial types (PR 90923)

2019-07-01 Thread Martin Sebor
On 7/1/19 10:33 AM, Richard Biener wrote: On Mon, Jul 1, 2019 at 4:55 PM Martin Sebor wrote:> [Adding gcc-patches] Richard, do you have any further comments or is the revised patch good to commit? No further comments from my side - it's good to commit. After running a full bootstrap with

[PATCH, i386]: Also use and split insns with SSE operands for 32bit MMX targets

2019-07-01 Thread Uros Bizjak
Attached patch uses and splits a couple of instructions with SSE operands for 32bit MMX targets. 2019-07-01 Uroš Bizjak * config/i386/i386.md ("isa" attribute): Add sse_noavx. ("enabled" attribute): Handle sse_noavx isa attribute. * config/i386/mmx.md (*vec_dupv2sf): Add "isa" attr

[PATCH, Ada, Darwin, PPC] PPC Darwin has stack check probes.

2019-07-01 Thread Iain Sandoe
On PPC, Darwin uses the same code as other parts of the port, I suspect that the False was a historical relic. (perhaps I could have applied this with my Darwin maintainer’s hat, or as obvious, but wasn’t sure for the Ada sub-tree) OK for trunk? Thanks Iain 2019-07-01 Iain Sandoe *

Re: [PATCH] Prepare for prefixed instructions on PowerPC

2019-07-01 Thread Segher Boessenkool
Hi Mike, Sorry I missed this patch :-( On Thu, Jun 27, 2019 at 04:18:00PM -0400, Michael Meissner wrote: > As we discussed off-line earlier, I changed all of the "4" lengths to be "*", > even for instruction alternatives that would not be subject to being changed > to > be a prefixed instruction

Re: [PATCH][ARM] Add support for "noinit" attribute

2019-07-01 Thread Sandra Loosemore
On 6/13/19 9:13 AM, Christophe Lyon wrote: @@ -7131,6 +7132,18 @@ given via attribute argument. @end table +@node ARM Variable Attributes +@subsection ARM Variable Attributes + +@table @code +@item noinit +@cindex @code{noinit} variable attribute, ARM +Any data with the @code{noinit} attrib

[PATCH] @signbit2_dm

2019-07-01 Thread Segher Boessenkool
One more I forgot to send before. Segher 2019-07-01 Segher Boessenkool * config/rs6000/rs6000.md (signbit2_dm): Make this a parameterized name. (signbit2): Use that name. Simplify. --- gcc/config/rs6000/rs6000.md | 10 ++ 1 file changed, 2 insertions(+), 8

Re: [PATCH, Ada, Darwin, PPC] PPC Darwin has stack check probes.

2019-07-01 Thread Eric Botcazou
> 2019-07-01 Iain Sandoe > > * libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for > PPC Darwin. OK, thanks. -- Eric Botcazou

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

2019-07-01 Thread Gaius Mulley
Segher Boessenkool writes: > Hi Gaius, > > On Fri, Jun 14, 2019 at 02:09:48PM +0100, Gaius Mulley wrote: >> 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. >>

Go patch committed: refactor Exports to encapsulate type refs map

2019-07-01 Thread Ian Lance Taylor
This Go frontend patch by Than McIntosh refactors the Export class to encapsulate the type refs map. This convert the Export::type_refs map from a static object to a field contained (indirectly, via an impl class) in Export itself, for better encapsulation and to be able to reclaim its memory when

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

2019-07-01 Thread Martin Sebor
Attached is a more complete solution that fully resolves the bug report by avoiding a warning in cases like: char a[32], b[8]; void f (void) { if (strlen (a) < sizeof b - 2) snprintf (b, sizeof b, "b=%s", a); // no -Wformat-truncation } It does that by having get_range_strlen_

RE: Use ODR for canonical types construction in LTO

2019-07-01 Thread JiangNing OS
Hi, FYI. This patch works for my application LTO build on aarch64. Thanks, -Jiangning > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org > On Behalf Of Jan Hubicka > Sent: Monday, July 1, 2019 8:22 PM > To: Christophe Lyon > Cc: Eric Botcazou ; gcc Patches patc...@gcc.gnu.org>

[PATCH, committed] PR 91048 Open ~/.mklog in string mode

2019-07-01 Thread Janne Blomqvist
Hi, another leftover from the py3 conversion. Committed r272921 as obvious. 2019-07-02 Janne Blomqvist PR other/91048 * mklog (read_user_info): Open ~/.mklog in string mode. Index: mklog === --- mklog(revision 272920