Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Andreas Schwab
On Sep 24 2018, Ian Lance Taylor wrote: > * Makefile.am (mostlyclean-local): Run chmod on check-go-dir to > make sure it is writable. > (check-go-tools): Likewise. $ make check-gotools make[1]: Entering directory `/usr/local/gcc/gcc-20180926/Build/gotools' chmod -R u+w chec

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Uros Bizjak
> I've committed a patch to update libgo to the 1.11 release. As usual > for these updates, the patch is too large to attach to this e-mail > message. I've attached some of the more relevant directories. This > update required some minor patches to the gotools directory and the Go > testsuite, a

Re: [PATCH] Fix unwind info in -mindirect-branch=thunk thunks (PR target/87414)

2018-09-26 Thread Uros Bizjak
On Tue, Sep 25, 2018 at 9:31 AM, Jakub Jelinek wrote: > Hi! > > The indirect branch thunks we emit look like: > __x86_indirect_thunk_rax: > .cfi_startproc > call.LIND1 > .LIND0: > pause > lfence > jmp .LIND0 > .LIND1: > mov %rax, (%rsp) >

Re: [PATCH][GCC][AArch64] Add support for SVE stack clash probing [patch (2/7)]

2018-09-26 Thread Tamar Christina
Hi Richard, I've added a new loop that should also exit early as described in my previous email. An example sequence is: .cfi_startproc mov x15, sp cntbx16, all, mul #11 add x16, x16, 304 .cfi_def_cfa_register 15 cmp x16, 61440

[SVE ACLE] Allow overloaded @ md patterns + small fixes

2018-09-26 Thread Richard Sandiford
The first patch allows "@foo_" patterns to have the same "@foo_" even if they have a different number of operands. There are no current users of this on trunk, so I won't commit it there until we've had a bit more time to try it out. Tested on aarch64-linux-gnu and applied to aarch64/sve-acle-bra

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Rainer Orth
Hi Ian, > On Tue, Sep 25, 2018 at 6:26 AM, Rainer Orth > wrote: >> >>> /vol/gcc/src/hg/trunk/local/libgo/go/runtime/traceback_gccgo.go:151:14: >>> error: reference to undefined name 'nanotime' >>> 151 | waitfor = (nanotime() - gp.waitsince) / 60e9 >>> | ^ >>> >>> and many ma

[PATCH 8/8][GCC][AArch64] stack-clash: Add LR assert to layout_frame.

2018-09-26 Thread Tamar Christina
Hi All, Since stack clash depends on the LR being saved for non-leaf functions this patch adds an assert such that if this changes we would notice this. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. This patch has been pre-approved by AArch64 maintainer here https://gcc.gnu.o

Re: [patch] Fix AArch64 ILP ICE

2018-09-26 Thread Andreas Schwab
On Sep 25 2018, Andrew Stubbs wrote: > Ensure that the address really is the correct mode for an address. > > 2018-09-25 Andrew Stubbs > > gcc/ > * builtins.c (get_builtin_sync_mem): Force address mode conversion. This has survived bootstrap so far. Andreas. -- Andreas Schwab,

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Rainer Orth
Hi Andreas, > On Sep 24 2018, Ian Lance Taylor wrote: > >> * Makefile.am (mostlyclean-local): Run chmod on check-go-dir to >> make sure it is writable. >> (check-go-tools): Likewise. > > $ make check-gotools > make[1]: Entering directory `/usr/local/gcc/gcc-20180

Re: [PATCH 2/4] Remove unused functions and fields.

2018-09-26 Thread Martin Liška
On 9/25/18 3:34 PM, Jeff Law wrote: > On 9/25/18 6:19 AM, Richard Biener wrote: >> On Tue, Sep 25, 2018 at 9:09 AM Martin Liška wrote: >>> >>> On 9/24/18 4:42 PM, Jeff Law wrote: On 9/22/18 1:08 PM, marxin wrote: > > gcc/ChangeLog: > > 2018-09-24 Martin Liska > >

Re: [PATCH, AArch64 00/11] LSE atomics out-of-line

2018-09-26 Thread Florian Weimer
* rth: > Therefore, I've created small out-of-line helpers that are directly > linked into every library or executable that requires them. There > will be two direct branches, both of which will be well-predicted. This seems reasonable to me, considering the trade-offs. If the indirect function

Re: [PATCH, AArch64 08/11] aarch64: Add out-of-line functions for LSE atomics

2018-09-26 Thread Florian Weimer
* rth: > diff --git a/libgcc/config/aarch64/lse.c b/libgcc/config/aarch64/lse.c > new file mode 100644 > index 000..20f4bde741f > --- /dev/null > +++ b/libgcc/config/aarch64/lse.c > +static void __attribute__((constructor)) > +init_have_atomics(void) > +{ > + unsigned long hwcap = getaux

[Ada] Introduce -gnatd_A to set Opt.Disable_ALI_File

2018-09-26 Thread Pierre-Marie de Rodat
This will allow us to remove the import of flag_compare_debug in lib-writ.adb in a second stage. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Arnaud Charlet gcc/ada/ * gnat1drv.adb (Adjust_Global_Switches): -gnatd_A sets Opt.Disable_ALI_File. * debug.a

[Ada] Set Current_Error_Node directly

2018-09-26 Thread Pierre-Marie de Rodat
This changes gigi to set Current_Error_Node directly, which should result in a more robust error handling. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Eric Botcazou gcc/ada/ * gcc-interface/gigi.h (error_gnat_node): Delete. * gcc-interface/trans.c (error_gnat

[Ada] Fix assertion failure on record subtype with -gnatRj

2018-09-26 Thread Pierre-Marie de Rodat
The JSON output of the -gnatR machinery was choking on record subtypes and the change fixes this oversight. The following package must now compile properly with -gnatRj: package P is type Rec (D : Integer) is record C : Integer; case D is when 1 => S : String

[Ada] Regression in partial compilation of RCI units

2018-09-26 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby the compilation of partial sources (packages without bodies that require them) would not occur when said sources were remote call interfaces. This is required because such interfaces may have bodies that only exist on the server side or vice versa Tested on x86_64

[Ada] Crash on expression functions within quantified expressions

2018-09-26 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby using a call to an expression function as the domain of iteration for a loop would trigger a crash due to the function not being frozen appropriately. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Justin Squirek gcc/ada/ * sem_ch5.adb

[Ada] Missing predicate check on return value

2018-09-26 Thread Pierre-Marie de Rodat
The semantics of the return statement includes an implicit conversion of the value to the return type of the funcction. This conversion, as elsewhere, entails a predicate check if the return type has a predicate aspect. We do not apply the check to a case expression because in the context of a ret

Re: [PATCH] PR86957

2018-09-26 Thread Martin Liška
On 9/24/18 9:21 PM, Indu Bhagat wrote: > Done. Attached is updated patch. Thanks for it, I tested that right now. You have ACK, so please install the patch. Please do not forget to install ChangeLog entry and I would include PR entry: https://www.gnu.org/software/gcc/contribute.html example can b

[Ada] Inlining of renamed subprogram instances in package body

2018-09-26 Thread Pierre-Marie de Rodat
This fixes a small discrepancy in the handling of renamed subprograms declared in a package body, between those originally a regular subprogram and those an instance of a generic subprogram, the latter being slightly hindered. The difference comes from the setting of the Is_Public flag, which was

[Ada] Preparation for new description of interface thunks

2018-09-26 Thread Pierre-Marie de Rodat
This adjusts and exposes a couple of functions of the front-end used for the generation of interface thunks so as to make them callable from gigi. This also propagates the debug info setting from the targets to the thunks so as to make stepping into primitives work better in the debugger. Tested

[Ada] Missing error on non-limited derived type with limited component

2018-09-26 Thread Pierre-Marie de Rodat
This patch fixes a missing error on a type extension with limited components, when the parent type is a derived limited interface. This may allow the unit to improperly compile, but may lead to bind-time errors when compiling a client of that unit. Compiling p.adb must yield: keys.ads:8:06: exte

[Ada] New unit GNAT.Sets

2018-09-26 Thread Pierre-Marie de Rodat
This patch implements unit GNAT.Sets which currently offers a general purpose membership set. The patch also streamlines GNAT.Dynamic_HTables and GNAT.Lists to use parts of the same API, types, and exceptions as those used by GNAT.Sets. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26

[Ada] Illegal formal objects associated with anonymous acc-to-subp args

2018-09-26 Thread Pierre-Marie de Rodat
The compiler was incorrectly accepting generic instantiations with formal objects of named access-to-subprogram types associated with an actual of an anonymous access-to-subprogram type. Analyze_Object_Declaration tests for objects initialized anonymous access-to-subprogram values, and wraps a conv

[Ada] Pair miscount in Dynamic_HTable.Put

2018-09-26 Thread Pierre-Marie de Rodat
This patch corrects the logic of GNAT.Dynamic_HTables.Dynamic_HTable.Put to update the number of key-value pairs in the hash table only when the put is adding a new pair, rather than updating the value of an existing pair. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Hristian Kir

[Ada] Mimic the C++ ABI when passing class-wide conversion actuals

2018-09-26 Thread Pierre-Marie de Rodat
This patch does not affect the behavior of Ada-only code but improves consistency with the code generated by the C++ compiler. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Javier Miranda gcc/ada/ * sem_res.adb (Resolve_Actuals): If the formal is a class-wide t

[Ada] Spurious error on private extension with predicate

2018-09-26 Thread Pierre-Marie de Rodat
This patch fixes a spurious error involving a private extension whose full view includes a dynamic predicate, when the parent type is itself private at the point of the predicate check. The conversion is known to be legal so no extra conversion checks are required. Tested on x86_64-pc-linux-gnu,

[Ada] Spurious dependency on secondary stack

2018-09-26 Thread Pierre-Marie de Rodat
This patch reimplements the handling of the secondary stack when the iteration scheme of a loop statement requires this support. Prior to this modification, an iterator loop over a container was assumed to require unconditional secondary stack management. This is however not always true because of

[Ada] Spurious error on interface conversion under ZFP

2018-09-26 Thread Pierre-Marie de Rodat
The frontend reports an error under ZFP when performing the type conversion of a tagged object to one of its covered interface types. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Javier Miranda gcc/ada/ * exp_disp.adb (Expand_Interface_Conversion): No displacement of

[Ada] Do not issue by default info messages for inlining in GNATprove

2018-09-26 Thread Pierre-Marie de Rodat
Info messages about lack of inlining for analysis in GNATprove may be confusing to users. They are now only issued when GNATprove is called with switch --info, which it passes on to gnat2why with switch -gnatd_f. There is no effect on compilation. Tested on x86_64-pc-linux-gnu, committed on trunk

[Ada] Spurious elaboration issue due to inlining

2018-09-26 Thread Pierre-Marie de Rodat
This patch ensures that the full compilation context is captured prior to package or subprogram instantiation/inlining and restored after the action takes place. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Hristian Kirtchev gcc/ada/ * sem_ch12.adb (Instantiate_Packag

[Ada] Missing front-end code for constraint checks on fixed point exprs

2018-09-26 Thread Pierre-Marie de Rodat
This patch ensures that the front-end generates constraint checks for some operations that previously depended on gigi for the corresponding check. The patch also resets the Do_Range_Check flag so that it never appears in the tree presented to gigi. Tested on x86_64-pc-linux-gnu, committed on trun

[Ada] Issue info message on inlined subprograms in GNATprove mode

2018-09-26 Thread Pierre-Marie de Rodat
Issue a positive message that inlining was performed in GNATprove mode, when corresponding debug switch -gnatd_f is set. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Yannick Moy gcc/ada/ * errout.ads: Update comment for insertion character '?'. * inline.adb: U

Re: [PATCH] Come up with --param asan-stack-small-redzone (PR sanitizer/81715).

2018-09-26 Thread Martin Liška
On 9/25/18 5:53 PM, Jakub Jelinek wrote: > On Tue, Sep 25, 2018 at 05:26:44PM +0200, Martin Liška wrote: >> The only missing piece is how to implement asan_emit_redzone_payload more >> smart. >> It means doing memory stores with 8,4,2,1 sizes in order to reduce # of >> insns. >> Do we have somewh

[Ada] Spurious ineffective use_clause warning

2018-09-26 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby user-defined subprograms used as generic actuals with corresponding formals containing other formal types led to spurious ineffective use_clause warnings. Tested on x86_64-pc-linux-gnu, committed on trunk 2018-09-26 Justin Squirek gcc/ada/ * sem_ch8.

[Ada] Fix inheritance of representation items defined as aspects

2018-09-26 Thread Pierre-Marie de Rodat
When a representation item is defined by a pragma or attribute definition clause, the entity it applies to is that of the Name of the representation item. But when it is defined by an aspect definition, the entity is directly denoted by the Entity attribute of the represenation item. The circuitry

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Andreas Schwab
All execution tests are now failing with "fatal error: impossible call to aeshashbody". Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Alexander Monakov
On Fri, 21 Sep 2018, Qing Zhao wrote: > +2018-09-20 Qing Zhao > + > + * cif-code.def (FUNCTION_EXTERN): New CIFCODE. > + * common.opt (-finline-only-static): New option. > + * doc/invoke.texi: Document -finline-only-static. > + * ipa-inline.c (can_inline_edge_p): Control inlining

Re: [PATCH v4] [aarch64] Add HiSilicon tsv110 CPU support

2018-09-26 Thread Kyrill Tkachov
Hi Shaokun, On 25/09/18 14:40, Zhangshaokun wrote: Hi ARM maintainers, Any plan to support CTR_EL0.DIC and CTR_EL0.IDC in GCC? I saw it has been supported in linux mainline(on Mar 7), Patch link: http://lists.infradead.org/pipermail/linux-arm-kernel/2018-March/565090.html Kernel link: https://g

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Paolo Carlini
Hi, On 9/26/18 1:12 PM, Alexander Monakov wrote: On Fri, 21 Sep 2018, Qing Zhao wrote: +2018-09-20 Qing Zhao + + * cif-code.def (FUNCTION_EXTERN): New CIFCODE. + * common.opt (-finline-only-static): New option. + * doc/invoke.texi: Document -finline-only-static. + * i

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 3:54 AM, Andreas Schwab wrote: > > All execution tests are now failing with "fatal error: impossible call > to aeshashbody". Which target? Ian

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Ian Lance Taylor
ake check-gotools >> make[1]: Entering directory `/usr/local/gcc/gcc-20180926/Build/gotools' >> chmod -R u+w check-go-dir >> chmod: cannot access `check-go-dir': No such file or directory >> make[1]: *** [check-go-tool] Error 1 >> make[1]: Leaving directory `/us

Re: [PATCH, AArch64 00/11] LSE atomics out-of-line

2018-09-26 Thread Michael Matz
Hi, On Wed, 26 Sep 2018, Florian Weimer wrote: > > Therefore, I've created small out-of-line helpers that are directly > > linked into every library or executable that requires them. There > > will be two direct branches, both of which will be well-predicted. > > This seems reasonable to me, co

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jason Merrill
On Fri, Sep 21, 2018 at 11:12 AM, Qing Zhao wrote: > Hi, this is the 4th version of the patch. > > mainly address Martin’s comments on some spelling issues. > > I have tested the patch on both x86 and aarch64, no issue. > > Okay for commit? > > thanks. > > Qing. > > gcc/ChangeLog > > +2018-09-20

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Richard Biener
On Wed, 26 Sep 2018, Jason Merrill wrote: > On Fri, Sep 21, 2018 at 11:12 AM, Qing Zhao wrote: > > Hi, this is the 4th version of the patch. > > > > mainly address Martin’s comments on some spelling issues. > > > > I have tested the patch on both x86 and aarch64, no issue. > > > > Okay for commit

[PATCH] Fix PR87443, bogus/missing DW_AT_abstract_origins

2018-09-26 Thread Richard Biener
This fixes mentioned PR (I should stop looking at generated debug info...) where it notes that concrete inline instance DW_TAG_lexical_block miss DW_AT_abstract_origin attributes pointing to the abstract instance and that inline instances of DW_TAG_lexical_block have DW_AT_abstract_origins point

Re: [PATCH][OpenACC] Update deviceptr handling during gimplification

2018-09-26 Thread Cesar Philippidis
On 09/25/2018 05:55 PM, Julian Brown wrote: > On Tue, 7 Aug 2018 15:09:38 -0700 > Cesar Philippidis wrote: > >> I had previously posted this patch as part of a monster deviceptr >> patch here >> . This >> patch breaks out the generic gimpl

[PATCH] Fix PR87440, extra lexical block in inline instances

2018-09-26 Thread Richard Biener
We do not create a DW_AT_lexical_block for the outermost block in functions but we do for DW_AT_inlined_subroutines. That makes debuginfo look like if there were two of each local, the outer one (from the abstract instance) optimized out (visible via info locals in gdb). The following elides th

Re: [patch] Fix AArch64 ILP ICE

2018-09-26 Thread Richard Biener
On Tue, Sep 25, 2018 at 4:25 PM Andrew Stubbs wrote: > > On 22/09/18 19:51, Andreas Schwab wrote: > > That breaks aarch64 ILP32. > > The problem is that the mode given to expand_expr is just a "hint", > apparently, and it's being ignored. > > I'm testing the attached patch for GCN. It fixes the IC

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jason Merrill
On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener wrote: > IIRC he explicitely wanted 'static' not 'hidden' linkage. Not sure > what 'internal' would mean in this context. I mean internal linkage as in the C and C++ standards. Jason

Re: [PATCH] Fix PR87443, bogus/missing DW_AT_abstract_origins

2018-09-26 Thread Jason Merrill
OK. On Wed, Sep 26, 2018 at 9:30 AM, Richard Biener wrote: > > This fixes mentioned PR (I should stop looking at generated debug > info...) where it notes that concrete inline instance DW_TAG_lexical_block > miss DW_AT_abstract_origin attributes pointing to the abstract instance > and that inline

[PATCH][GCC][testsuite] Fix caching of tests for multiple variant runs and update existing target-supports tests.

2018-09-26 Thread Tamar Christina
Hi All, Currently some target supports checks such as vect_int cache their results in a manner that would cause them not to be rechecked when running the same tests against a different variant in a multi variant run. This causes tests to be skipped or run when they shouldn't be. there is already

Re: [PATCH] Fix build with ISL 0.20

2018-09-26 Thread Jeff Law
On 9/25/18 1:07 PM, Alexey Neyman wrote: > Hi, > > A trivial patch that fixes the build against the latest ISL release, > 0.20. In that release, and were split in two > headers each. The (included from which is > included by "graphite.h") now includes and > ; and must be included explicitly

Re: [PATCH, AArch64 08/11] aarch64: Add out-of-line functions for LSE atomics

2018-09-26 Thread Richard Henderson
On 9/26/18 1:59 AM, Florian Weimer wrote: > * rth: > >> diff --git a/libgcc/config/aarch64/lse.c b/libgcc/config/aarch64/lse.c >> new file mode 100644 >> index 000..20f4bde741f >> --- /dev/null >> +++ b/libgcc/config/aarch64/lse.c > >> +static void __attribute__((constructor)) >> +init_ha

Re: [PATCH, AArch64 08/11] aarch64: Add out-of-line functions for LSE atomics

2018-09-26 Thread Florian Weimer
* Richard Henderson: > On 9/26/18 1:59 AM, Florian Weimer wrote: >> * rth: >> >>> diff --git a/libgcc/config/aarch64/lse.c b/libgcc/config/aarch64/lse.c >>> new file mode 100644 >>> index 000..20f4bde741f >>> --- /dev/null >>> +++ b/libgcc/config/aarch64/lse.c >> >>> +static void __attri

Re: [PATCH, AArch64 08/11] aarch64: Add out-of-line functions for LSE atomics

2018-09-26 Thread Richard Henderson
On 9/26/18 7:33 AM, Florian Weimer wrote: >>> *That's not what I meant. I'm curious if LSE and non-LSE atomics on the >>> same location will still result in the expected memory ordering. If >>> they don't, then this requires *some* explanation why this is okay. >>> >>> Thanks, >>> Florian Yes, t

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Qing Zhao
Alexander, thanks for the questions. Yes, we had some discussion on the questions you raised during the review of the initial patch back to 9/11/2018. please take a look at those discussions at: https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00549.html

Re: [PATCH] Fix build with ISL 0.20

2018-09-26 Thread Richard Biener
On Wed, Sep 26, 2018 at 4:10 PM Jeff Law wrote: > > On 9/25/18 1:07 PM, Alexey Neyman wrote: > > Hi, > > > > A trivial patch that fixes the build against the latest ISL release, > > 0.20. In that release, and were split in two > > headers each. The (included from which is > > included by "grap

[Patch, Aarch64] Testsuite patch to fix one of the regressions in PR 87433, gcc.target/aarch64/ashltidisi.c

2018-09-26 Thread Steve Ellcey
The patch for PR rtl-optimization/85160 which allowed combine to convert two instructions into two different instructions if they had a lower cost caused a couple of regressions on aarch64.  This patch fixes one of them. After the above patch, the gcc.target/aarch64/ashltidisi.c test generated 3

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jeff Law
On 9/26/18 7:38 AM, Jason Merrill wrote: > On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener wrote: >> IIRC he explicitely wanted 'static' not 'hidden' linkage. Not sure >> what 'internal' would mean in this context. > > I mean internal linkage as in the C and C++ standards. Since this is primaril

Re: [PATCH] Fix build with ISL 0.20

2018-09-26 Thread Jeff Law
On 9/26/18 8:43 AM, Richard Biener wrote: > On Wed, Sep 26, 2018 at 4:10 PM Jeff Law wrote: >> >> On 9/25/18 1:07 PM, Alexey Neyman wrote: >>> Hi, >>> >>> A trivial patch that fixes the build against the latest ISL release, >>> 0.20. In that release, and were split in two >>> headers each. The

Re: [PATCH] Fix PR87440, extra lexical block in inline instances

2018-09-26 Thread Jason Merrill
On Wed, Sep 26, 2018 at 9:35 AM, Richard Biener wrote: > > We do not create a DW_AT_lexical_block for the outermost block in > functions but we do for DW_AT_inlined_subroutines. That makes > debuginfo look like if there were two of each local, the outer > one (from the abstract instance) optimize

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread H.J. Lu
On Mon, Sep 24, 2018 at 2:46 PM, Ian Lance Taylor wrote: > I've committed a patch to update libgo to the 1.11 release. As usual > for these updates, the patch is too large to attach to this e-mail > message. I've attached some of the more relevant directories. This > update required some minor

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jason Merrill
On Wed, Sep 26, 2018 at 10:45 AM, Jeff Law wrote: > On 9/26/18 7:38 AM, Jason Merrill wrote: >> On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener wrote: >>> IIRC he explicitely wanted 'static' not 'hidden' linkage. Not sure >>> what 'internal' would mean in this context. >> >> I mean internal link

Re: [PR 87339, testsuite] Fix failure of gcc.dg/warn-abs-1.c on some targets

2018-09-26 Thread Christophe Lyon
On Tue, 25 Sep 2018 at 17:50, Martin Jambor wrote: > > Hi, > > On Mon, Sep 24 2018, Christophe Lyon wrote: > > On Mon, 24 Sep 2018 at 20:46, Martin Jambor wrote: > >> > >> Hi, > >> > >> the test added to check whether _Float128 types are handled correctly by > >> the new warning about suspicious

[Patch, Aarch64] Testsuite fix to fix one of the regressions in PR 87433, gcc.dg/zero_bits_compound-1.c

2018-09-26 Thread Steve Ellcey
PR rtl-optimization/85160 which allowed combine to convert two instructions into two different instructions if they had a lower cost caused a couple of regressions on aarch64.  This patch fixes one of them. After the above patch, the gcc.dg/zero_bits_compound-1.c test on  aarch64 generates an and

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jan Hubicka
> On Wed, Sep 26, 2018 at 10:45 AM, Jeff Law wrote: > > On 9/26/18 7:38 AM, Jason Merrill wrote: > >> On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener wrote: > >>> IIRC he explicitely wanted 'static' not 'hidden' linkage. Not sure > >>> what 'internal' would mean in this context. > >> > >> I mean

Re: [C++ Patch] PR 84940 ("[7/8/9 Regression] internal compiler error: in build_value_init_noctor, at cp/init.c:465")

2018-09-26 Thread Jason Merrill
OK. On Tue, Sep 25, 2018 at 12:45 PM, Paolo Carlini wrote: > Hi, > > in this error-recovery regression we ICE after a sensible diagnostic emitted > by cp_build_unary_op, called by finish_unary_op_expr via build_x_unary_op. > In principle we could dig deeper, but I don't think it makes sense for >

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread H.J. Lu
On Wed, Sep 26, 2018 at 7:50 AM, H.J. Lu wrote: > On Mon, Sep 24, 2018 at 2:46 PM, Ian Lance Taylor wrote: >> I've committed a patch to update libgo to the 1.11 release. As usual >> for these updates, the patch is too large to attach to this e-mail >> message. I've attached some of the more rel

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Alexander Monakov
On Wed, 26 Sep 2018, Qing Zhao wrote: > Alexander, > > thanks for the questions. > > Yes, we had some discussion on the questions you raised during the review of > the initial patch back to 9/11/2018. > please take a look at those discussions at: > > https://gcc.gnu.org/ml/gcc-patches/2018-09/

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 12:57 AM, Uros Bizjak wrote: >> I've committed a patch to update libgo to the 1.11 release. As usual >> for these updates, the patch is too large to attach to this e-mail >> message. I've attached some of the more relevant directories. This >> update required some minor

[PATCH, i386]: Do not use "u" constraint and remove FP_TOP_SSE_REGS and FP_SECOND_SSE_REGS register classes

2018-09-26 Thread Uros Bizjak
Hello! Stack registers are fixed up by regstack pass, so there is no point to specify "upper" FP register in the instruction patterns. This change allows register allocator a bit more freedom, which results in a few fxch instructions less. The patch also removes FP_TOP_SSE_REGS and FP_SECOND_SSE_

Re: [PR 87339, testsuite] Fix failure of gcc.dg/warn-abs-1.c on some targets

2018-09-26 Thread Martin Jambor
Hi, On Wed, Sep 26 2018, Christophe Lyon wrote: > On Tue, 25 Sep 2018 at 17:50, Martin Jambor wrote: >> >> Hi, >> >> On Mon, Sep 24 2018, Christophe Lyon wrote: >> > On Mon, 24 Sep 2018 at 20:46, Martin Jambor wrote: >> >> >> >> Hi, >> >> >> >> the test added to check whether _Float128 types are

[PATCH, i386]: Use fnstcw instead of fstcw to set x87 precision in crtprec.c

2018-09-26 Thread Uros Bizjak
Hello! There is no point to handle exceptions at the program startup time. 2018-09-26 Uros Bizjak * config/i386/crtprec.c (set_precision): Use fnstcw instead of fstcw. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros. Index: config/i386/cr

Re: [PATCH] Fix build with ISL 0.20

2018-09-26 Thread Alexey Neyman
On 09/26/2018 07:46 AM, Jeff Law wrote: On 9/26/18 8:43 AM, Richard Biener wrote: On Wed, Sep 26, 2018 at 4:10 PM Jeff Law wrote: On 9/25/18 1:07 PM, Alexey Neyman wrote: Hi, A trivial patch that fixes the build against the latest ISL release, 0.20. In that release, and were split in two h

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Qing Zhao
> On Sep 26, 2018, at 8:24 AM, Richard Biener wrote: > > On Wed, 26 Sep 2018, Jason Merrill wrote: > >> On Fri, Sep 21, 2018 at 11:12 AM, Qing Zhao wrote: >>> Hi, this is the 4th version of the patch. >>> >>> mainly address Martin’s comments on some spelling issues. >>> >>> I have tested th

Re: [PATCH 07/25] [pr82089] Don't sign-extend SFV 1 in BImode

2018-09-26 Thread Andrew Stubbs
On 17/09/18 09:40, Richard Sandiford wrote: writes: This is an update of the patch posted to PR82089 long ago. We ran into the same bug on GCN, so we need this fixed as part of this series. 2018-09-05 Andrew Stubbs Tom de Vries PR82089 gcc/ * expmed

Re: [Patch, fortran] PRs 70752 and 72709 - more deferred character length bugs

2018-09-26 Thread Dominique d'Humières
> Is se->string_length guaranteed to be of type gfc_array_index_type_here? > If so, why? And if not, maybe a fold_convert is in order? I don’t know if this related, but if I build gfortran with the patches for PRs 70752 and 72709, 70149, and 65677 with --enable-checking=yes, compiling the test i

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Qing Zhao
> On Sep 26, 2018, at 9:45 AM, Jeff Law wrote: > > On 9/26/18 7:38 AM, Jason Merrill wrote: >> On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener wrote: >>> IIRC he explicitely wanted 'static' not 'hidden' linkage. Not sure >>> what 'internal' would mean in this context. >> >> I mean internal l

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jan Hubicka
> > Not sure > > what 'internal' would mean in this context. > > > > But then the implementation looks at callee->externally_visible which > > matches hidden visibility... externally_visible is probably not > > the very best thing to look at depending on what we intend to do. > > from the commen

Re: [patch] Fix AArch64 ILP ICE

2018-09-26 Thread Andrew Stubbs
On 26/09/18 14:38, Richard Biener wrote: OK. Committed, thanks. Andrew

[PATCH] PR libstdc++/59439 optimize uses of classic ("C") std::locale

2018-09-26 Thread Jonathan Wakely
The global locale::_Impl that represents the "C" locale is never destroyed, so there is no need to keep track of reference count updates for that object. This greatly reduce contention between threads that refer to the classic locale. Since the global std::locale initially uses the classic locale,

[Patch, Aarch64] Fix testsuite regressions related to PR tree-optimization/71625

2018-09-26 Thread Steve Ellcey
A patch for PR tree-optimized/71625 caused regressions in the gcc.target/aarch64/vclz.c and gcc.target/aarch64/vneg_s.c tests because a couple of routines that were not getting inlined before started getting inlined.  The inlining is not a bug, the  generated code is now smaller so some functions t

Re: [PATCH 09/25] Elide repeated RTL elements.

2018-09-26 Thread Andrew Stubbs
Ping. On 20/09/18 11:52, Andrew Stubbs wrote: On 19/09/18 17:38, Andrew Stubbs wrote: Here's an updated patch incorporating the RTL front-end changes. I had to change from "repeated 2x" to "repeated x2" because the former is not a valid C token, and apparently that's important. Here's a patc

Re: [Patch, fortran] PRs 70752 and 72709 - more deferred character length bugs

2018-09-26 Thread Paul Richard Thomas
Hi Dominique, Thanks for the heads up - I will check it out and fix it next week before doing any commits. Cheers Paul On 26 September 2018 at 16:52, Dominique d'Humières wrote: >> Is se->string_length guaranteed to be of type gfc_array_index_type_here? >> If so, why? And if not, maybe a fold

Re: [PATCH 11/25] Simplify vec_merge according to the mask.

2018-09-26 Thread Andrew Stubbs
Ping. On 20/09/18 16:26, Andrew Stubbs wrote: On 17/09/18 10:05, Richard Sandiford wrote: Would be good to have self-tests for the new transforms. [...] known_eq, since we require equality for correctness.  Same for the other tests. How about the attached? I've made the edits you requested

Re: [PATCH 07/25] [pr82089] Don't sign-extend SFV 1 in BImode

2018-09-26 Thread Richard Sandiford
Andrew Stubbs writes: > On 17/09/18 09:40, Richard Sandiford wrote: >> writes: >>> This is an update of the patch posted to PR82089 long ago. We ran into the >>> same bug on GCN, so we need this fixed as part of this series. >>> >>> 2018-09-05 Andrew Stubbs >>> Tom de Vries >>>

Re: [PATCH 11/25] Simplify vec_merge according to the mask.

2018-09-26 Thread Richard Sandiford
Andrew Stubbs writes: > On 17/09/18 10:05, Richard Sandiford wrote: >> Would be good to have self-tests for the new transforms. > [...] >> known_eq, since we require equality for correctness. Same for the >> other tests. > > How about the attached? I've made the edits you requested and written >

Re: [PATCH, AArch64 07/11] Link static libgcc after shared libgcc for -shared-libgcc

2018-09-26 Thread Joseph Myers
On Tue, 25 Sep 2018, rth7...@gmail.com wrote: > From: Richard Henderson > > We are about to introduce symbols to libgcc.a that will > not be present in libgcc_s.so. Most symbols will be > resolved from the shared library first, and only the new > symbols will be pulled from the static library.

Re: [PATCH, AArch64 07/11] Link static libgcc after shared libgcc for -shared-libgcc

2018-09-26 Thread Richard Henderson
On 9/26/18 9:49 AM, Joseph Myers wrote: > On Tue, 25 Sep 2018, rth7...@gmail.com wrote: > >> From: Richard Henderson >> >> We are about to introduce symbols to libgcc.a that will >> not be present in libgcc_s.so. Most symbols will be >> resolved from the shared library first, and only the new >>

Re: [PATCH 11/25] Simplify vec_merge according to the mask.

2018-09-26 Thread Andrew Stubbs
On 26/09/18 17:48, Richard Sandiford wrote: Andrew Stubbs writes: + /* Nested vec_merge. */ + rtx nvm = gen_rtx_VEC_MERGE (mode, vm1, vm2, mask1); + ASSERT_EQ (vm1, simplify_merge_mask (nvm, mask1, 0)); + ASSERT_EQ (vm2, simplify_merge_mask (nvm, mask1, 1)); Think the last two should sim

Re: [PR 87339, testsuite] Fix failure of gcc.dg/warn-abs-1.c on some targets

2018-09-26 Thread Joseph Myers
On Wed, 26 Sep 2018, Martin Jambor wrote: > I see, I guess the easiest is to skip the test on targets that do not > really have long double, although if someone thinks that is too > restrictive, I can also split the test again and move long double bits > to a separate test. You should be able to

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Qing Zhao
> On Sep 26, 2018, at 10:06 AM, Jan Hubicka wrote: > >> On Wed, Sep 26, 2018 at 10:45 AM, Jeff Law wrote: >>> On 9/26/18 7:38 AM, Jason Merrill wrote: On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener wrote: > IIRC he explicitely wanted 'static' not 'hidden' linkage. Not sure > wh

PING: Re: VRP: special case all pointer conversion code

2018-09-26 Thread Aldy Hernandez
PING On 9/17/18 6:12 AM, Aldy Hernandez wrote: It seems most of the remaining anti range code in extract_range_from_unary_expr for CONVERT_EXPR_P is actually dealing with non-nullness in practice. Anti-range handling is mostly handled by canonicalizing anti-ranges into its two set constituen

Re: [PATCH][Middle-end][Version 4]Add a new option to control inlining only on static functions

2018-09-26 Thread Jan Hubicka
> > > On Sep 26, 2018, at 10:06 AM, Jan Hubicka wrote: > > > >> On Wed, Sep 26, 2018 at 10:45 AM, Jeff Law wrote: > >>> On 9/26/18 7:38 AM, Jason Merrill wrote: > On Wed, Sep 26, 2018 at 9:24 AM, Richard Biener > wrote: > > IIRC he explicitely wanted 'static' not 'hidden' linkag

[PATCH] change predicates to return bool instead of int

2018-09-26 Thread Martin Sebor
The attached patch modifies the return types of a number of predicates in tree.h and tree.c from int to bool. Tested on x86_64-linux with no unexpected failures. Martin gcc/ChangeLog: * tree.c (zerop): Change return type to bool. (integer_zerop, integer_onep, integer_each_onep): Same. (integ

Re: [PATCH] PR libstdc++/59439 optimize uses of classic ("C") std::locale

2018-09-26 Thread Florian Weimer
* Jonathan Wakely: > Does anybody see any problems with this change? Can you put a debug assert into _M_add_reference and _M_remove_reference, to check that they are never called on an _S_classic object? Or put the check directly into those functions? Thanks, Florian

[PATCH, GCC/ARM] Fix PR87374: ICE with -mslow-flash-data and -mword-relocations

2018-09-26 Thread Thomas Preudhomme
Hi, GCC ICEs under -mslow-flash-data and -mword-relocations because there is no way to load an address, both literal pools and MOVW/MOVT being forbidden. This patch gives an error message when both options are specified by the user and adds the according dg-skip-if directives for tests that use ei

[PR 87415] handle 1 bit bit fields in set_value_range_with_overflow()

2018-09-26 Thread Aldy Hernandez
As I've said in the PR... For a 1-bit signed field we are trying to subtract the following ranges: [0, 0] - VR_VARYING Mathematically these are: [MAX, MAX] - [MIN, MAX] [0, 0] - [MIN, MAX] => [0, 0] - [-1, 0] For ranges: [a, b] - [c, d] is [a - d, b - c], so combine_bounds() yields:

Re: [Patch, Aarch64] Testsuite fix to fix one of the regressions in PR 87433, gcc.dg/zero_bits_compound-1.c

2018-09-26 Thread Jeff Law
On 9/26/18 8:58 AM, Steve Ellcey wrote: > PR rtl-optimization/85160 which allowed combine to convert > two instructions into two different instructions if they had a lower cost > caused a couple of regressions on aarch64.  This patch fixes one of them. > > After the above patch, the gcc.dg/zero_bi

  1   2   >