[wwwdocs] Buildstat update for 4.9

2015-06-01 Thread Tom G. Christensen
Latest results for 4.9.x -tgc Testresults for 4.9.2: s390-ibm-linux-gnu (new) Index: buildstat.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.9/buildstat.html,v retrieving revision 1.9 diff -u -r1.9 buildstat.html --- buildstat.

[wwwdocs] Buildstat update for 4.8

2015-06-01 Thread Tom G. Christensen
Latest results for 4.8.x -tgc Testresults for 4.8.2: s390-ibm-linux-gnu (new) Index: buildstat.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/buildstat.html,v retrieving revision 1.13 diff -u -r1.13 buildstat.html --- buildsta

[wwwdocs] Buildstat update for 5.1

2015-06-01 Thread Tom G. Christensen
Latest results for 5.1.x -tgc Testresults for 5.1.0: arm-unknown-linux-gnueabi hppa-unknown-linux-gnu hppa1.1-hp-hpux10.20 hppa2.0w-hp-hpux11.00 i686-unknown-linux-gnu mips-unknown-linux-gnu mipsel-unknown-linux-gnu powerpc-unknown-linux-gnu sparc-unknown-linux-gnu x86_64-unkn

Re: [wwwdocs] Buildstat update for 5.1

2015-06-01 Thread Tom G. Christensen
On Fri, May 29, 2015 at 04:05:57PM +0200, Gerald Pfeifer wrote: > Did we get more updates for GCC 5.1 in the meantime? > Yes and I have just posted a new set of patches. -tgc

Re: Teach gimple_canonical_types_compatible_p about incomplete types

2015-06-01 Thread Joseph Myers
On Sat, 30 May 2015, Jan Hubicka wrote: > Joseph, does the attached testcase make sense for you? Is it defined? It is my > first attempt to really interpret C standard to detail. I suppose it's defined if unsigned int is the type chosen as compatible with that enum. The test should be skipped f

Re: [C/C++ PATCH] Implement -Wshift-overflow (PR c++/55095)

2015-06-01 Thread Richard Sandiford
Marek Polacek writes: > + /* Left-hand operand must be signed. */ > + if (TYPE_UNSIGNED (type0)) > +return false; > + > + /* Compute the result in infinite precision math (sort of). */ > + widest_int w = wi::lshift (wi::to_widest (op0), wi::to_widest (op1)); > + unsigned int min_prec =

Re: [patch, fortran] PR 47359 - warnings for constant conversion

2015-06-01 Thread Steve Kargl
On Mon, Jun 01, 2015 at 08:01:53PM +0200, Thomas Koenig wrote: > Am 01.06.2015 um 15:40 schrieb Steve Kargl: > > On Mon, Jun 01, 2015 at 08:34:24AM +0200, Thomas Koenig wrote: > >> What would be the peferred alternative? > > > Is it possible to detect the _knd suffix? > > Yes, this is possible. >

Re: [RFC][PATCH][X86_64] Eliminate PLT stubs for specified external functions via -fno-plt=

2015-06-01 Thread Ramana Radhakrishnan
On Mon, Jun 1, 2015 at 7:55 PM, Sriraman Tallam wrote: > On Mon, Jun 1, 2015 at 11:41 AM, Ramana Radhakrishnan > wrote: >> On Mon, Jun 1, 2015 at 7:01 PM, Sriraman Tallam wrote: >>> On Mon, Jun 1, 2015 at 1:24 AM, Ramana Radhakrishnan >>> wrote: >> Why isn't it just an indirect call in

Re: confirm subscribe to gcc-patches@gcc.gnu.org

2015-06-01 Thread Rich Felker

[PATCH 00/16] RFC: Embedding as and ld inside gcc driver and into libgccjit

2015-06-01 Thread David Malcolm
[Crossposting to both gcc-patches and binutils lists, since this patch kit touches both source trees]. Binutils devs: GCC 5 gained a way to build GCC as a shared library, libgccjit.so. I'm been experimenting with ways of optimizing libgccjit, and the following patch kit (touching both gcc and bin

[PATCH 05/16] gcc: driver: add g_driver singleton

2015-06-01 Thread David Malcolm
gcc/ChangeLog: * gcc.c (g_driver): New. (driver::driver): Set "g_driver". (driver::~driver): Unset "g_driver". --- gcc/gcc.c | 9 + 1 file changed, 9 insertions(+) diff --git a/gcc/gcc.c b/gcc/gcc.c index 7314317..46e750d 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -

[PATCH 09/16] libiberty.h: Provide CTIMER_PUSH/POP

2015-06-01 Thread David Malcolm
gcc provides a timing mechanism, with a C++-based API. This patch provide a C-based API so that we can call into it from binutils. include/ChangeLog: * libiberty.h (struct ctimer): New. (CTIMER_PUSH): New macro. (CTIMER_POP): New macro. --- include/libiberty.h | 32 ++

[PATCH 04/16] gcc: Don't keep reinitializing RTL

2015-06-01 Thread David Malcolm
This may be something of a hack; it appears to work for x86_64. Before: initialize rtl : 1.50 (63%) usr 0.02 (10%) sys 1.34 (23%) wall 1156 kB ( 5%) ggc rest of compilation : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 1%) wall 232 kB ( 1%) ggc TOTAL :

[PATCH 06/16] gcc: driver: add timevars for as, collect2, ld

2015-06-01 Thread David Malcolm
gcc/ChangeLog: * gcc.c (execute): Identify certain commands, and account their time to specific timevars. * gcc.h (driver::get_timer): New accessor. * timevar.def (TV_DRIVER_EXECUTE_AS): New. (TV_DRIVER_EXECUTE_COLLECT2): New. (TV_DRIVER_EXECUTE_LD):

[PATCH 03/16] gcc: Use timevars within driver

2015-06-01 Thread David Malcolm
This patch allows a "timer" instance to be passed to the driver and adds some timevars for activities within the driver. This is for use by libgccjit when embedding the driver, though in theory we could use this to time the driver as a whole. gcc/ChangeLog: * Makefile.in (GCC_OBJS): Add t

[PATCH 01/16] gcc: Generalization of timevar API; add gcc_jit_timer interface

2015-06-01 Thread David Malcolm
In r223092 (aka dd4d567f4b6b498242097c41d63666bdae320ac1) I moved the state of timevar.c from being global data into a "class timer". This followup patch generalizes the timing within toplev so that an external "timer" instance can be passed in, and then exposes this from libgccjit via an API for

[PATCH 02/16] gcc: Embed the driver in-process within libgccjit

2015-06-01 Thread David Malcolm
Provide a way to clean up state within the driver code, and use this from libgccjit to embed it in-process, rather that via pex. Part of this requires restoring the environment after any putenv calls, so the patch introduces an env_manager class. No effort is made to restore the environment for t

Re: [patch] PR other/65366: Fix gdbhooks.py for GDB with Python3

2015-06-01 Thread Jason Merrill
OK, thanks. Jason

[patch] consolidate some includes into coretypes.h

2015-06-01 Thread Andrew MacLeod
I've begun looking at cleaning up the include files. Before removing unnecessary includes, I'd like to get a few other cleanups out of the way to simplify the dependency web. This is the first. There are some interrelated numerical definition headers (double-int.h, fixed-value.h, real.h and wi

Re: [patch] Fix ICE on function [not] returning variable size

2015-06-01 Thread Eric Botcazou
> Ok. (I wonder if there are any cases where the return value is allocated by > the callee?) Thanks. Do you mean in GCC or in programming languages in general or...? In GNAT, we have something like that: when a function returns an unconstrained type whose size depends on some discriminants of

[PATCH 07/16] binutils: bfd: Implement bfd_uninit

2015-06-01 Thread David Malcolm
This patch adds a new API entrypoint to libbfd: bfd_uninit, which resets global state within the library. The patch (and subsequent ones) follow a pattern I used in gcc for cleaning up global state: for each source file e.g. foo.c to have a function: extern void foo_c_finalize (void); to explici

[PATCH 08/16] libiberty.h: Provide a CLEAR_VAR macro

2015-06-01 Thread David Malcolm
include/ChangeLog: * libiberty.h (CLEAR_VAR): New macro. --- include/libiberty.h | 4 1 file changed, 4 insertions(+) diff --git a/include/libiberty.h b/include/libiberty.h index b33dd65..93e4131 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -699,6 +699,10 @@ extern v

[PATCH 16/16] gcc: Hack up the arguments to the linker

2015-06-01 Thread David Malcolm
This is a nasty hack, but I noticed a lot of time spent executing the linker within jit.dg/test-benchmark, with link lines like: run_embedded_ld: 24 args argv[0]: ld argv[1]: --eh-frame-hdr argv[2]: -m argv[3]: elf_x86_64 argv[4]: -shared argv[5]: -o argv[6]: /tmp/lib

[PATCH 13/16] ld/Makefile.am: Introduce a libld.la

2015-06-01 Thread David Malcolm
Similarly to "libgas.la" before , this introduces a libld.la, moving everything from "ld" into it, with ld built from ldmainmain.c. As before with the libgas.la patch, this patch isn't ready yet, but seems to be good enough for prototyping the libgccjit.so integration. --- ld/Makefile.am | 64 +++

[PATCH 10/16] binutils: Introduce "gas_main", and state-purging with "gas" subdir

2015-06-01 Thread David Malcolm
Currently this has only been tested on x86_64, and hardcodes this cleanup: extern void config_obj_elf_c_finalize (void); extern void config_tc_i386_c_finalize (void); Clearly this would need generalizing. gas/ChangeLog: * app.c (app_c_finalize): New function. * as.c: Include ne

[PATCH 15/16] gcc: Use libgas and libld within the driver

2015-06-01 Thread David Malcolm
This patch adds the ability for gcc to be configured with: --with-embedded-as --with-embedded-ld If so, invocations of "as" and "ld" are detected in the gcc driver, and specialcased by invoking these in-process as shared libraries. This is intended for use by libgccjit, when the driver itself

[PATCH 11/16] binutils: gas/Makefile.am: Add libgas.la

2015-06-01 Thread David Malcolm
This patch introduces a libgas.la, using it for the "as" executable. I'm not convinced I've got this correct, but it seems to work well enough to prototype the embedding within libgccjit.so. --- gas/Makefile.am | 26 +- 1 file changed, 17 insertions(+), 9 deletions(-) dif

[PATCH 12/16] binutils: Introduce "ld_main" and state-purging within "ld" subdir

2015-06-01 Thread David Malcolm
As before in "gas", introduce code to ld to restore state. I've only tested this on x86_64, and there are some hacks in here that hardcode that, but hopefully this is enough to show the idea. --- ld/emultempl/elf32.em | 77 + ld/ld.h | 8

[PATCH 14/16] gcc: Add CTIMER_PUSH/POP to gcc's copy of libiberty

2015-06-01 Thread David Malcolm
include/ChangeLog: * libiberty.h (struct ctimer): New. (CTIMER_PUSH): New. (CTIMER_POP): New. --- include/libiberty.h | 32 1 file changed, 32 insertions(+) diff --git a/include/libiberty.h b/include/libiberty.h index b33dd65..a2c73ae 10064

Re: [PATCH 09/16] libiberty.h: Provide CTIMER_PUSH/POP

2015-06-01 Thread DJ Delorie
libiberty is not an API to gcc, it is a portability library. If GCC is exporting a timer, GCC's headers should have the interface in it.

Re: [PATCH 14/16] gcc: Add CTIMER_PUSH/POP to gcc's copy of libiberty

2015-06-01 Thread DJ Delorie
This is the same patch as 09/16. There is only one libiberty master, controlled by gcc, it is not neccessary to submit separate patches for each copy of it. The convention is: Any libiberty patch approved by gcc maintainers is auto-approved for the other repos.

Re: [PATCH 08/16] libiberty.h: Provide a CLEAR_VAR macro

2015-06-01 Thread DJ Delorie
> +/* Fill an lvalue with zero bits. */ > +#define CLEAR_VAR(S) \ > + do { memset (&(S), 0, sizeof (S)); } while (0) Hmmm... I don't see the point in this. The macro is almost as long as a bare memset() would be, and replaces a well-known function with something unknown outside this project.

Re: [RFC] Elimination of zext/sext - type promotion pass

2015-06-01 Thread Kugan
On 08/05/15 22:48, Richard Biener wrote: > You compute which promotions are unsafe, like sources/sinks of memory > (I think you miss call arguments/return values and also asm operands here). > But instead of simply marking those SSA names as not to be promoted > I'd instead split their life-range

[WWWdocs] Add link to GNU Cauldron

2015-06-01 Thread Jan Hubicka
Hello, this patch adds a short info about Cauldron to the news page. OK? Honza Index: index.html === RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v retrieving revision 1.967 diff -u -r1.967 index.html --- index.html 27 Apr 2015 08:5

Re: [PATCH 08/16] libiberty.h: Provide a CLEAR_VAR macro

2015-06-01 Thread David Malcolm
On Mon, 2015-06-01 at 17:47 -0400, DJ Delorie wrote: > > +/* Fill an lvalue with zero bits. */ > > +#define CLEAR_VAR(S) \ > > + do { memset (&(S), 0, sizeof (S)); } while (0) > > Hmmm... I don't see the point in this. The macro is almost as long as > a bare memset() would be, and replaces a we

Re: [PATCH 08/16] libiberty.h: Provide a CLEAR_VAR macro

2015-06-01 Thread DJ Delorie
> FWIW I'm not in love with the name of the macro, but I find it useful. > In the initial version of patches 10 and 12 (state purging within "gas" > and "ld" subdirs) I didn't have this macro, and had about 30 memset > invocations. Another option is to save the state as it was initialized, and re

C++ PATCH for c++/65942 (unnecessary instantiation of constexpr fn)

2015-06-01 Thread Jason Merrill
In the discussion of 65942 it was pointed out that there's really no reason to instantiate f in this testcase; we (and Clang) had been working from the idea that you instantiate a constexpr function when the function is mentioned even in unevaluated context, but we might as well wait until we a

C++ PATCH for c++/44282 (ia32 calling convention attributes and mangling)

2015-06-01 Thread Jason Merrill
A recent change broke bootstrap on ia32 because code intended to strip non-type-identity attributes from template arguments was also stripping type-identity attributes such as the ia32 calling convention attributes. When I fixed that it reminded me of this bug: we weren't mangling the functio

Re: [PATCH GCC]Improve how we handle overflow in scev by using overflow information computed for control iv in loop niter, part II

2015-06-01 Thread Bin.Cheng
On Mon, Jun 1, 2015 at 6:45 PM, Richard Biener wrote: > On Tue, May 26, 2015 at 1:04 PM, Bin Cheng wrote: >> Hi, >> My first part patch improving how we handle overflow in scev is posted at >> https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01795.html . Here comes the >> second part patch. >> >> T

Re: [PATCH GCC]Improve how we handle overflow for type conversion in scev/ivopts, part I

2015-06-01 Thread Bin.Cheng
On Tue, May 26, 2015 at 5:04 PM, Richard Biener wrote: > On Sun, May 24, 2015 at 8:47 AM, Bin.Cheng wrote: >> On Fri, May 22, 2015 at 7:45 PM, Richard Biener >> wrote: >>> On Wed, May 20, 2015 at 11:41 AM, Bin Cheng wrote: Hi, As we know, GCC is too conservative when checking overflow

Re: [Patch, libstdc++/63775] Fix regex bracket expression parsing

2015-06-01 Thread Tim Shen
On Tue, Nov 25, 2014 at 12:46 AM, Tim Shen wrote: > On Wed, Nov 12, 2014 at 11:45 PM, Tim Shen wrote: >> Committed with comment fix and slight change on testcase >> (VERIFY(false) at end of the try block -- must throw). > > Is it possible to backport this patch to 4.9 branch? It's an importan

[PATCH testsuite]Refine scanning string in pr65447.c to support small address offset target

2015-06-01 Thread Bin Cheng
Hi, On some arm processors, the offset supported in addressing modes is very small. As a result, the dozens of address induction variables will be grouped into several groups, rather than only one as on armv7/8. This patch refines scanning string to avoid test failure on such processors. It's an

<    1   2