Re: Multi-Threading GCC Compiler Internal Data

2019-09-18 Thread Richard Biener
On Tue, 17 Sep 2019, Nicholas Krause wrote: > > On 9/17/19 2:37 AM, Richard Biener wrote: > > On Mon, 16 Sep 2019, Nicholas Krause wrote: > > > >> Greetings Richard, > >> > >> I don't know if it's currently possible but whats the best way to either so > >> about or > >> > >> use a tool to expose

Adding -Wshadow=local to gcc build rules

2019-09-18 Thread Bernd Edlinger
Hi, I'm currently trying to add -Wshadow=local to the gcc build rules. I started with -Wshadow, but gave up that idea immediately. As you could expect the current code base has plenty of shadowed local variables. Most are trivial to resolve, some are less trivial. I am not finished yet, but it

Re: Adding -Wshadow=local to gcc build rules

2019-09-18 Thread Tom Tromey
> "Bernd" == Bernd Edlinger writes: Bernd> I'm currently trying to add -Wshadow=local to the gcc build rules. Bernd> I started with -Wshadow, but gave up that idea immediately. Bernd> As you could expect the current code base has plenty of shadowed Bernd> local variables. Most are trivial

Re: Adding -Wshadow=local to gcc build rules

2019-09-18 Thread Martin Liška
On 9/18/19 3:08 PM, Bernd Edlinger wrote: > Hi, > > I'm currently trying to add -Wshadow=local to the gcc build rules. > I started with -Wshadow, but gave up that idea immediately. > > As you could expect the current code base has plenty of shadowed > local variables. Most are trivial to

Re: Multi-Threading GCC Compiler Internal Data

2019-09-18 Thread Nicholas Krause
On 9/18/19 4:01 AM, Richard Biener wrote: On Tue, 17 Sep 2019, Nicholas Krause wrote: On 9/17/19 2:37 AM, Richard Biener wrote: On Mon, 16 Sep 2019, Nicholas Krause wrote: Greetings Richard, I don't know if it's currently possible but whats the best way to either so about or use a tool

Re: Any future plan supporting livepatching in kernel for AArch64?

2019-09-18 Thread Andrew Pinski
On Wed, Sep 18, 2019 at 9:56 PM Andrew Pinski wrote: > > On Wed, Sep 18, 2019 at 9:24 PM Bin.Cheng wrote: > > > > Hi, > > I read through previous messages which tried to support livepatching > > in kernel for AArch64. > > Following is the patch supporting mfentry: > >

Updating Makefile to Allow Profiling of GCC Internals

2019-09-18 Thread Nicholas Krause
Greetings, I'm not as familar of the currrent Makefile internals for GCC, so what is the best way to add -pg for profiling. Seems I need to add it for gprof in order to get some real data for multi-threading GCC internals. Thanks, NIck

Re: Any future plan supporting livepatching in kernel for AArch64?

2019-09-18 Thread Andrew Pinski
On Wed, Sep 18, 2019 at 9:24 PM Bin.Cheng wrote: > > Hi, > I read through previous messages which tried to support livepatching > in kernel for AArch64. > Following is the patch supporting mfentry: > https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00756.html > And this is the last message about

Any future plan supporting livepatching in kernel for AArch64?

2019-09-18 Thread Bin.Cheng
Hi, I read through previous messages which tried to support livepatching in kernel for AArch64. Following is the patch supporting mfentry: https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00756.html And this is the last message about above thread:

Re: Any future plan supporting livepatching in kernel for AArch64?

2019-09-18 Thread Bin.Cheng
On Thu, Sep 19, 2019 at 1:02 PM Andrew Pinski wrote: > > On Wed, Sep 18, 2019 at 9:56 PM Andrew Pinski wrote: > > > > On Wed, Sep 18, 2019 at 9:24 PM Bin.Cheng wrote: > > > > > > Hi, > > > I read through previous messages which tried to support livepatching > > > in kernel for AArch64. > > >

How can I build new functions on the fly during optimization?

2019-09-18 Thread Gary Oblock
I'm trying to build new functions on the fly during optimization. For those of you that have not been following my previous questions, this is structure reorganization optimization related. For example when somebody frees an array of type fu, I'd like to build a new function _reorg_free_fu which

Extend neg_const_int simplifications to other const rtxes

2019-09-18 Thread Richard Sandiford
This patch generalises some neg_const_int-based rtx simplifications so that they handle all CONST_SCALAR_INTs and also CONST_POLY_INT. This actually simplifies things a bit, since we no longer have to treat HOST_WIDE_INT_MIN specially. This is tested by later SVE patches. Tested on

[PATCH] Come up with debug counter for store-merging.

2019-09-18 Thread Martin Liška
Hi. After I spent quite some time with PR91758, I would like to see a debug counter in store merging for the next time. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-09-18 Martin Liska * dbgcnt.def (store_merging): New counter. * gimple-ssa-store-merging.c

[Ada] Avoid gnatbind regression caused by Copy_Bitfield

2019-09-18 Thread Pierre-Marie de Rodat
The recent Copy_Bitfield change caused gnatbind to change elaboration order, causing different error messages. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Bob Duff gcc/ada/ * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield): Move call to RTE_Available

[Ada] Skip entity name qualification in GNATprove mode

2019-09-18 Thread Pierre-Marie de Rodat
GNATprove was using the qualification of names for entities with local homonyms in the same scope, requiring the use of a suffix to differentiate them. This caused problems for correctly identifying primitive equality operators. This case is now handled like the rest of entities in GNATprove, by

[Ada] Use static discriminant value for discriminated task record

2019-09-18 Thread Pierre-Marie de Rodat
This patch allows the construction of a static subtype for the generated constrained Secondary_Stack component of a task for which a stack size is specified, when compiling for a restricted run-time that forbids dynamic allocation. Needed for LLVM. Tested on x86_64-pc-linux-gnu, committed on

[Ada] Spurious ineffective use_clause warning

2019-09-18 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby expansion of post conditions may lead to spurious ineffective use_clause warnings when a use type clause is present in a package specification and a use package clause exists in the package body on the package containing said type. Tested on x86_64-pc-linux-gnu,

[Ada] Raise exception on call to Expect for a dead process

2019-09-18 Thread Pierre-Marie de Rodat
Call to Expect for a dead process results in SIGBUS signal on Linux systems. Process_Died exception is raised in this case now. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Vadim Godunko gcc/ada/ * libgnat/g-expect.adb (Expect_Internal): Don't include invalid

Re: Make assemble_real generate canonical CONST_INTs

2019-09-18 Thread Richard Biener
On Tue, Sep 17, 2019 at 4:33 PM Richard Sandiford wrote: > > assemble_real used GEN_INT to create integers directly from the > longs returned by real_to_target. assemble_integer then went on > to interpret the const_ints as though they had the mode corresponding > to the accompanying size

Re: Add ARRAY_REF based access patch disambiguation

2019-09-18 Thread Richard Biener
On Thu, 15 Aug 2019, Jan Hubicka wrote: > Hi, > here is updated version. > > > + /* We generally assume that both access paths starts by same sequence > > > + of refs. However if number of array refs is not in sync, try > > > + to recover and pop elts until number match. This helps

Re: Make assemble_real generate canonical CONST_INTs

2019-09-18 Thread Richard Sandiford
Richard Biener writes: > On Tue, Sep 17, 2019 at 4:33 PM Richard Sandiford > wrote: >> >> assemble_real used GEN_INT to create integers directly from the >> longs returned by real_to_target. assemble_integer then went on >> to interpret the const_ints as though they had the mode corresponding

Handle variable-length vectors in compute_record_mode

2019-09-18 Thread Richard Sandiford
This patch makes compute_record_mode handle SVE vectors in the same way as it would handle fixed-length vectors. There should be no change in behaviour for other targets. This is needed for the SVE equivalent of arm_neon.h types like int8x8x2_t (i.e. a pair of int8x8_ts). Tested on

[Bug tree-optimization/91758] Clang fails to pass validation after r261089

2019-09-18 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91758 --- Comment #9 from Martin Liška --- (In reply to Eric Botcazou from comment #8) > > I've got it. It's a usage of an uninitialize member variable in a class: > > https://bugs.llvm.org/show_bug.cgi?id=40547#c38 > > Thanks for catching this!

[Bug go/91763] [10 regression] go.go-torture/execute/printnil.go FAILs

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91763 --- Comment #4 from Richard Biener --- (In reply to Ian Lance Taylor from comment #2) > I see now the fact that we are using exceptions is already being passed. > The problem seems to be that flag_exceptions is set when we read an > exception

[Bug fortran/91413] [F2018]: Procedures are recursive by default; switching from stack to static allocation is not safe

2019-09-18 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91413 Janne Blomqvist changed: What|Removed |Added Assignee|jb at gcc dot gnu.org |unassigned at gcc dot gnu.org

[Bug testsuite/91799] [10 regression] r273245 breaks test case gcc.target/powerpc/pr88233.c

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91799 Richard Biener changed: What|Removed |Added Target Milestone|--- |10.0

[Bug testsuite/91797] [10 regression] r273240 breaks test case gcc.target/powerpc/pr68805.c

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91797 Richard Biener changed: What|Removed |Added Target Milestone|--- |10.0

[patch, committed] Use PRId64 in libgomp/config/linux

2019-09-18 Thread Tobias Burnus
Use PRId64 if available, otherwise use a cast. For some reasons, it failed during bootstrap with a -Werror even though %ld should be okay with int64_t on x86_64-gnu-linux. Nonetheless, using PRId64 is better. Committed after testing on x86_64-gnu-linux. Tobias commit

[Ada] Implement AI12-0086's rules for discriminants in aggregates

2019-09-18 Thread Pierre-Marie de Rodat
In Ada2012, a discriminant value that governs an active variant part in an aggregate had to be static. AI12-0086 relaxes this restriction - if the subtype of the discriminant value is a static subtype all of whose values select the same variant, then that is good enough. Tested on

[Ada] Fix portability issues in access to subprograms

2019-09-18 Thread Pierre-Marie de Rodat
This patch improves the portability of the code generated by the compiler for access to subprograms. Written by Richard Kenner. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Javier Miranda gcc/ada/ * exp_ch4.adb (Expand_N_Op_Eq): The frontend assumes that we can

[Ada] Refine type of Get_Homonym_Number result

2019-09-18 Thread Pierre-Marie de Rodat
Routine Get_Homonym_Number always returns a positive number. This is explained in its comment and is evident from its body. No test attached, because semantics is unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Piotr Trojanek gcc/ada/ * exp_dbug.ads,

[Ada] Fix spurious alignment warning on simple address clause

2019-09-18 Thread Pierre-Marie de Rodat
This eliminates a spurious alignment warning given by the compiler on an address clause when the No_Exception_Propagation restriction is in effect and the -gnatw.x switch is used. In this configuration the address clauses whose expression is itself of the form X'Address would not be sufficiently

[Ada] Crash on aggregate with dscriminant in if-expression as default

2019-09-18 Thread Pierre-Marie de Rodat
This patch fixes a crash on a an aggregate for a discriminated type, when a component of the aggregate is also a discriminated type constrained by a discriminant of the enclosing object, and the default value for the component is a conditional expression that includes references to that outer

[Ada] Fix sharing of expression in array aggregate with others choice

2019-09-18 Thread Pierre-Marie de Rodat
This change fixes a long-standing issue in the compiler that is generally silent but may lead to wrong code generation in specific circumstances. When an others choice in an array aggregate spans multiple ranges, the compiler may generate multiple (groups of) assignments for the ranges. The

Re: [PATCH] Come up with debug counter for store-merging.

2019-09-18 Thread Richard Biener
On Wed, Sep 18, 2019 at 9:22 AM Martin Liška wrote: > > Hi. > > After I spent quite some time with PR91758, I would like > to see a debug counter in store merging for the next time. > > Ready to be installed? OK. Richard. > Thanks, > Martin > > gcc/ChangeLog: > > 2019-09-18 Martin Liska > >

[Bug tree-optimization/91776] `-fsplit-paths` generates slower code on arm

2019-09-18 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91776 --- Comment #3 from Richard Earnshaw --- (In reply to Wilco from comment #1) > (In reply to yhr-_-yhr from comment #0) > > I'm doing this test on a Raspberry Pi Model 3B+. The CPU is BCM2835 ARMv7. > > I think it's BM2837, ie. Cortex-A53. Or

Re: [PATCH target/87007]Extend rpad to handle AVX512F vcvtusi2ss/vcvtusi2sd

2019-09-18 Thread Uros Bizjak
On Wed, Sep 18, 2019 at 5:29 AM Hongtao Liu wrote: > > Hi Uros: > This patch extend pass rpad to handle AVX512F vcvtusi2ss/vcvtusi2sd. > 538.image_r would be improved by 4% with single copy run on skylake > workstation. > > Bootstrap ok. regression test for i386/x86 backend ok. > Ok for

Don't treat variable-length vectors as VLAs during gimplification

2019-09-18 Thread Richard Sandiford
Source-level SVE vectors should be gimplified in the same way as normal fixed-length vectors rather than as VLAs. This is tested by later SVE patches. Tested on aarch64-linux-gnu with SVE (with and without follow-on patches) and x86_64-linux-gnu. OK to install? Richard 2019-09-18 Richard

Make get_value_for_expr check for INTEGER_CSTs

2019-09-18 Thread Richard Sandiford
CONSTANT lattice values are symbolic constants rather than compile-time constants, so among other things can be POLY_INT_CSTs. This patch fixes a case in which we assumed all CONSTANTs were either ADDR_EXPRs or INTEGER_CSTs. This is tested by later SVE patches. Tested on aarch64-linux-gnu with

[Bug driver/91794] exception and unwind state is not carried to LTO but controls EH vs debug frame

2019-09-18 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91794 --- Comment #7 from Eric Botcazou --- > So I guess an appropriate cleanup would be to pass a struct function > to dwarf2out_do_eh_frame but also deal with it being NULL? You need to ask Jan, my fix for 81351 was minimal and based on his

Re: [PATCH] Come up with json::integer_number and use it in GCOV.

2019-09-18 Thread Martin Liška
PING^4 Just note that the author of the JSON implementation in GCC is fine with the patch ;) Martin On 9/9/19 2:38 PM, Martin Liška wrote: > PING^3 > > On 8/30/19 10:55 AM, Martin Liška wrote: >> PING^2 >> >> On 8/26/19 2:34 PM, Martin Liška wrote: >>> PING^1 >>> >>> On 8/13/19 1:51 PM, Martin

[Bug target/91804] [10 regression] r265398 breaks gcc.target/powerpc/vec-rlmi-rlnm.c

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91804 Richard Biener changed: What|Removed |Added Target Milestone|--- |10.0

Re: [PATCH][ARM] Enable code hoisting with -Os (PR80155)

2019-09-18 Thread Richard Biener
On Tue, Sep 17, 2019 at 7:18 PM Wilco Dijkstra wrote: > > Hi Richard, > > > The issue with the bugzilla is that it lacked appropriate testcase(s) and > > thus > > it is now a mess. There are clear testcases (maybe not in the benchmarks > > you > > Agreed - it's not clear whether any of the

[Ada] Code cleanup of alignment representation clauses in dispatch tables

2019-09-18 Thread Pierre-Marie de Rodat
This patch does not modify the functionality of the compiler; it avoids generating non-required alignment representation clauses for dispatch tables. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Javier Miranda gcc/ada/ * exp_disp.adb (Make_DT, Make_Secondary_DT):

[Bug tree-optimization/91758] Clang fails to pass validation after r261089

2019-09-18 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91758 --- Comment #8 from Eric Botcazou --- > I've got it. It's a usage of an uninitialize member variable in a class: > https://bugs.llvm.org/show_bug.cgi?id=40547#c38 Thanks for catching this!

[Bug driver/91794] exception and unwind state is not carried to LTO but controls EH vs debug frame

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91794 --- Comment #6 from Richard Biener --- (In reply to Eric Botcazou from comment #5) > > Eric - was the intent of the PR81351 fix that the dwarf2out_do_eh_frame () > > works per function? > > No, dwarf2out_do_eh_frame is global but whether the

[Bug target/91474] Internal compiler error when building mabi=32 mips64-elf cross-compiler: segfault in parallel_settings.cc

2019-09-18 Thread dragan.mladjeno...@rt-rk.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91474 --- Comment #5 from Dragan Mladjenovic --- Hi, I wasn't able to reproduce this issue which leds me to believe that this is the r273174 is the probable fix. In either way, it should be backported to gcc-9 branch, but it would be nice if you can

[patch,committed][OG9] Fix compiler warnings

2019-09-18 Thread Tobias Burnus
Committed the following patch to silence compiler warnings – some pointed to issues, which are now fixed. Tobias commit 500483e6ced44e2e0fea6a37e4f8c267ebaf826a Author: Tobias Burnus Date: Wed Sep 18 08:44:20 2019 +0200 Silence compiler warnings gcc/ 2019-09-17 Tobias

Re: Two more POLY_INT cases for dwarf2out.c

2019-09-18 Thread Richard Biener
On Wed, Sep 18, 2019 at 8:49 AM Richard Sandiford wrote: > > loc_list_for_tree_1 and add_const_value_attribute currently ICE > on POLY_INTs. loc_list_for_tree_1 can do something sensible but > add_const_value_attribute has to punt, since the constant there > needs to be a link-time rather than

Re: Handle variable-length vectors in compute_record_mode

2019-09-18 Thread Richard Biener
On Wed, Sep 18, 2019 at 8:52 AM Richard Sandiford wrote: > > This patch makes compute_record_mode handle SVE vectors in the > same way as it would handle fixed-length vectors. There should > be no change in behaviour for other targets. > > This is needed for the SVE equivalent of arm_neon.h

[Bug middle-end/91708] [10 regression][ARM] Bootstrap fails in gen_movsi, at config/arm/arm.md:5258

2019-09-18 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91708 --- Comment #19 from Richard Earnshaw --- (In reply to Wilco from comment #18) > (In reply to Richard Earnshaw from comment #17) > > So do we have a testcase that shows the problem on older compilers? > > Yes, the same testcase shows the same

[Bug target/89557] [7/8/9/10 regression] 4*movq to 2*movaps IPC performance regression on znver1 with -Og

2019-09-18 Thread 0xe2.0x9a.0x9b at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89557 --- Comment #11 from Jan Ziak (http://atom-symbol.net) <0xe2.0x9a.0x9b at gmail dot com> --- (In reply to Eric Gallager from comment #10) > > /usr/bin/time ./a0-7.4 |& egrep -o [0-9]+.*user > 1.48 real 1.26 user > /usr/bin/time ./ag-7.4

[Bug go/91763] [10 regression] go.go-torture/execute/printnil.go FAILs

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91763 --- Comment #3 from Richard Biener --- So that sounds like PR91794? See the 2nd attachment for a suggested fix, note -fexceptions/-fnon-call-exceptions is dealt with in another way.

Two more POLY_INT cases for dwarf2out.c

2019-09-18 Thread Richard Sandiford
loc_list_for_tree_1 and add_const_value_attribute currently ICE on POLY_INTs. loc_list_for_tree_1 can do something sensible but add_const_value_attribute has to punt, since the constant there needs to be a link-time rather than load-time or run-time constant. This is tested by later SVE patches.

[Ada] Ensure that Scan_Real result does not depend on trailing zeros

2019-09-18 Thread Pierre-Marie de Rodat
Previous change in that procedure to handle overflow issues during scanning removed the special handling for trailing zeros in the decimal part. Beside the absence of overflow during scanning the special handling of these zeros is still necessary. Tested on x86_64-pc-linux-gnu, committed on trunk

[Ada] Spurious run time error on anonymous access formals

2019-09-18 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby subprograms with anonymous access formals may trigger spurious runtime accessibility errors when such formals are used as actuals in calls to nested subprograms. Running these commands: gnatmake -q pass.adb gnatmake -q fail.adb gnatmake -q test_main.adb

[Ada] Factor out code for deciding statically known Constrained attributes

2019-09-18 Thread Pierre-Marie de Rodat
Create a separate routine in Exp_Util for deciding the value of the Constrained attribute when it is statically known. This routine is used in Exp_Attr and will be reused in the backend of GNATprove. There is no impact on compilation and hence no test. Tested on x86_64-pc-linux-gnu, committed on

[Ada] Improve efficiency of copying bit-packed slices

2019-09-18 Thread Pierre-Marie de Rodat
This patch substantially improves the efficiency of copying large slices of bit-packed arrays, by copying 32 bits at a time instead of 1 at a time. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Bob Duff gcc/ada/ * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield):

[Ada] Crash on universal case expression in fixed-point division

2019-09-18 Thread Pierre-Marie de Rodat
This patch fixes a compiler abort on a case expression whose alternatives are universal_real constants, when the case expression is an operand in a multiplication or division whose other operand is of a fixed-point type. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Ed Schonberg

[Ada] No Storage_Error for an oversized disabled ghost array object

2019-09-18 Thread Pierre-Marie de Rodat
In some cases where the size computation for an object declaration will unconditionally overflow, the FE generates code to raise Storage_Error at the point of the object declaration (and may generate an associated warning). Don't do this if the object declaration is an ignored (i.e., disabled)

[Ada] Missing accessibility check on discrim assignment

2019-09-18 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby assignments from anonymous access descriminants which are part of stand alone objects of anonymous access did not have runtime checks generated based on the accessibility level of the object according to ARM 3.10.2 (12.5/3). Tested on x86_64-pc-linux-gnu,

[Ada] Don't fail a front-end assertion if errors have already been detected

2019-09-18 Thread Pierre-Marie de Rodat
In sem_eval.adb, we have an assertion that the type of a "null" literal is an access type. It turns out that this assertion can fail when processing an illegal program, e.g. one that contains something like "Integer'(null)". This leads to differences in the compiler's generated output for such

Re: Don't treat variable-length vectors as VLAs during gimplification

2019-09-18 Thread Richard Biener
On Wed, Sep 18, 2019 at 8:53 AM Richard Sandiford wrote: > > Source-level SVE vectors should be gimplified in the same way > as normal fixed-length vectors rather than as VLAs. > > This is tested by later SVE patches. > > Tested on aarch64-linux-gnu with SVE (with and without follow-on > patches)

Re: [x86] Tweak testcases for PR82361

2019-09-18 Thread Uros Bizjak
On Tue, Sep 17, 2019 at 6:34 PM Richard Sandiford wrote: > > gcc/testsuite/gcc.target/i386/pr82361-[12].c check whether we > can optimise away a 32-to-64-bit zero extension of a 32-bit > division or modulus result. Currently this fails for the modulus > part of f1 and f2 in pr82361-1.c: > > /*

Re: [x86] Tweak testcases for PR82361

2019-09-18 Thread Richard Sandiford
Uros Bizjak writes: > On Tue, Sep 17, 2019 at 6:34 PM Richard Sandiford > wrote: >> >> gcc/testsuite/gcc.target/i386/pr82361-[12].c check whether we >> can optimise away a 32-to-64-bit zero extension of a 32-bit >> division or modulus result. Currently this fails for the modulus >> part of f1

Re: Patch RFA: Emit .cfi_sections after some input code has been seen

2019-09-18 Thread Richard Biener
On Tue, 17 Sep 2019, Ian Lance Taylor wrote: > This seemingly innocuous change > > 2019-09-11 Richard Biener > > * lto-opts.c (lto_write_options): Stream -g when debug is enabled. > * lto-wrapper.c (merge_and_complain): Pick up -g. > (append_compiler_options): Likewise. > (run_gcc):

[Bug target/91702] [9/10 Regression] ICE with mips16

2019-09-18 Thread dragan.mladjeno...@rt-rk.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91702 --- Comment #1 from Dragan Mladjenovic --- Hi, Same as with https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91474#c5. Chould you perhaps verify if r273174 fixes your issue? Thanks in advance.

Re: [PATCH 5/9] Come up with an abstraction.

2019-09-18 Thread Martin Liška
Hello. Ok, so the current IPA ICF transformation is being blocked by the patch 2/9 (about FIELD_DECL). I asked Honza for a help here. In the meantime, can you Richi make an opinion about the part 5 which is about the interaction in between old operand_equal_p and a new hook in IPA ICF? Thanks,

[Ada] Fix typo in error message

2019-09-18 Thread Pierre-Marie de Rodat
An error message mentions "gnamake", where it meant to mention "gnatmake". Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Tom Tromey gcc/ada/ * make.adb (Initialize): Fix typo.--- gcc/ada/make.adb +++ gcc/ada/make.adb @@ -3789,7 +3789,7 @@ package body Make is

[Ada] Avoid uninitialized variable in bounded containers

2019-09-18 Thread Pierre-Marie de Rodat
In function Copy in Ada.Containers.Bounded_Ordered_Sets and other bounded containers packages, remove a possible use of an uninitialized variable. This was not a bug, because the uninitialized variable could be used only if checks are suppressed, and the checks would have failed, leading to

[Ada] Fix errno for rename for the VxWorks 6 target

2019-09-18 Thread Pierre-Marie de Rodat
This fixes the wrong errno for rename when the file is not existing on a dosFs. In the end it makes Ada.Directories.Rename raising the right exception in the case we are trying to move a file in a non existing directory. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Frederic

[Ada] Fix style issues in functional maps

2019-09-18 Thread Pierre-Marie de Rodat
Rename global constants from I to J. No functional changes. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Claire Dross gcc/ada/ * libgnat/a-cofuma.adb (Remove, Elements_Equal_Except, Keys_Included, Keys_Included_Except): Rename loop indexes and global

[Ada] Fix 32/64bit mistake on SYSTEM_INFO component in s-win32

2019-09-18 Thread Pierre-Marie de Rodat
The dwActiveProcessorMask field in a SYSTEM_INFO structure on Windows should be DWORD_PTR, an integer the size of a pointer. In s-win32, it is currently declared as DWORD. This happens to work on 32bit hosts and is wrong on 64bit hosts, causing mishaps in accesses to this component and all the

Re: Make get_value_for_expr check for INTEGER_CSTs

2019-09-18 Thread Richard Biener
On Wed, Sep 18, 2019 at 8:54 AM Richard Sandiford wrote: > > CONSTANT lattice values are symbolic constants rather than > compile-time constants, so among other things can be POLY_INT_CSTs. > This patch fixes a case in which we assumed all CONSTANTs were either > ADDR_EXPRs or INTEGER_CSTs. > >

[PATCH] Remove dead code

2019-09-18 Thread Richard Biener
This removes dead code from the vectorizer and makes a function static. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-09-18 Richard Biener * tree-vectorizer.h (get_initial_def_for_reduction): Remove. * tree-vect-loop.c

[Bug tree-optimization/91789] Value ranges determined from comparisons not used transitively

2019-09-18 Thread amacleod at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91789 Andrew Macleod changed: What|Removed |Added CC||amacleod at redhat dot com --- Comment

Re: [PATCH] RISC-V: Allow more load/stores to be compressed

2019-09-18 Thread Kito Cheng
Hi Craig: Some general review comment: - Split new pass into new file. - Add new option to enable/disable this pass. - Could you extend this patch to support lw/sw/ld/sd/flw/fsw/fld/fsd? I think there is lots of common logic for supporting other types compressed load/store instruction, but

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-09-18 Thread Martin Liška
On 9/11/19 1:38 PM, Martin Liška wrote: > The inline_clone manipulation happens in cgraph_node::find_replacement where > we manipulate the clone_of. I fixed that but there's a similar situation which goes other way around: cgraph_node * cgraph_node::get_create (tree decl) { cgraph_node

[Patch,committed][OG9] Fix dg-warning line numbers in libgomp

2019-09-18 Thread Tobias Burnus
This fixes the line numbers of dg-warnings (cf. 2019-07-31 commit fcea4b6e384e30231ab6d88b1f9feb1007b3e96b). Committed to the openacc-gcc-9-branch. Tobias commit 0f2a4240229e97fdbcd3c8299642ed4b85f5b347 Author: Tobias Burnus Date: Wed Sep 18 13:45:34 2019 +0200 libgomp - fix

Re: [PATCH, AArch64 v4 5/6] aarch64: Implement -moutline-atomics

2019-09-18 Thread Kyrill Tkachov
On 9/18/19 2:58 AM, Richard Henderson wrote: * config/aarch64/aarch64.opt (-moutline-atomics): New. * config/aarch64/aarch64.c (aarch64_atomic_ool_func): New. (aarch64_ool_cas_names, aarch64_ool_swp_names): New. (aarch64_ool_ldadd_names,

Re: [PATCH, AArch64 v4 4/6] aarch64: Add out-of-line functions for LSE atomics

2019-09-18 Thread Kyrill Tkachov
On 9/18/19 2:58 AM, Richard Henderson wrote: This is the libgcc part of the interface -- providing the functions. Rationale is provided at the top of libgcc/config/aarch64/lse.S. * config/aarch64/lse-init.c: New file. * config/aarch64/lse.S: New file. *

Re: [PATCH, AArch64 v4 0/6] LSE atomics out-of-line

2019-09-18 Thread Kyrill Tkachov
Hi Richard, On 9/18/19 2:58 AM, Richard Henderson wrote: Version 3 was back in November: https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00062.html Changes since v3: * Do not swap_commutative_operands_p in aarch64_gen_compare_reg. This is the probable cause of the bootstrap problem that

Fix conversions for built-in operator overloading candidates.

2019-09-18 Thread Feng Xue OS
Hi, Jason, With this patch, gcc-aarch64 build will encounter an error as the following. Not sure it is a bug, would you please check this? ../../gcc/expmed.c:5602:19: error: ‘int_mode’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 5602 | scalar_int_mode

[Bug go/91763] [10 regression] go.go-torture/execute/printnil.go FAILs

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91763 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug go/91763] [10 regression] go.go-torture/execute/printnil.go FAILs

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91763 --- Comment #6 from Richard Biener --- Author: rguenth Date: Wed Sep 18 11:28:20 2019 New Revision: 275872 URL: https://gcc.gnu.org/viewcvs?rev=275872=gcc=rev Log: 2019-09-18 Richard Biener PR lto/91763 * lto-streamer-in.c

[PATCH] Disentangle autopar and vect reduction detection

2019-09-18 Thread Richard Biener
I'm planning on major refactoring work on the vectorizer reduction handling and as usual parloops use of the machinery stands in the way. The following deals with this pre refactoring by simply duplicating all the code into tree-parloops.c. I guess a lot of the code could be stripped or

[Bug tree-optimization/91776] `-fsplit-paths` generates slower code on arm

2019-09-18 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91776 Wilco changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libstdc++/91807] New: [Regression] std::variant with multiple identical types assignment fail

2019-09-18 Thread raplonu.jb at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91807 Bug ID: 91807 Summary: [Regression] std::variant with multiple identical types assignment fail Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal

[Bug tree-optimization/18501] [7/8/9/10 Regression] Missing 'used uninitialized' warning (CCP)

2019-09-18 Thread vlad at ispras dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18501 --- Comment #91 from Vladislav Ivanishin --- > --- Comment #90 from Eric Gallager --- > At Cauldron, Vladislav Ivanishin said in his lightning talk that ISP > RAS has a patch to fix this. Well, I also said that this patch is not meant to go

Re: [PATCH] RISC-V: Fix bad insn splits with paradoxical subregs.

2019-09-18 Thread Richard Biener
On Wed, 18 Sep 2019, Kito Cheng wrote: > Hi Jakub, Richard: > > This commit is fixing wrong code gen for RISC-V, does it OK to > backport to GCC 9 branch? Since it is target specific and for non-primary/secondary targets it's the RISC-V maintainers call whether to allow backporting this.

Re: [PATCH] RISC-V: Fix bad insn splits with paradoxical subregs.

2019-09-18 Thread Kito Cheng
Hi Jakub, Richard: This commit is fixing wrong code gen for RISC-V, does it OK to backport to GCC 9 branch? On Fri, Sep 6, 2019 at 4:34 AM Jim Wilson wrote: > > Shifting by more than the size of a SUBREG_REG doesn't work, so we either > need to disable splits if an input is paradoxical, or else

Re: [PATCH 1/2][vect]PR 88915: Vectorize epilogues when versioning loops

2019-09-18 Thread Andre Vieira (lists)
Hi Richard, As I mentioned in the IRC channel, this is my current work in progress patch. It currently ICE's when vectorizing gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c with '-O3' and '--param vect-epilogues-nomask=1'. It ICE's because the epilogue loop (after if conversion) and main

[Bug middle-end/91708] [10 regression][ARM] Bootstrap fails in gen_movsi, at config/arm/arm.md:5258

2019-09-18 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91708 --- Comment #20 from Wilco --- (In reply to Richard Earnshaw from comment #19) > (In reply to Wilco from comment #18) > > (In reply to Richard Earnshaw from comment #17) > > > So do we have a testcase that shows the problem on older compilers? >

[Bug libstdc++/91807] [9/10 Regression] std::variant with multiple identical types assignment fail to compile

2019-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91807 Richard Biener changed: What|Removed |Added Keywords||rejects-valid Known to work|

Re: Make assemble_real generate canonical CONST_INTs

2019-09-18 Thread Richard Biener
On Wed, Sep 18, 2019 at 11:41 AM Richard Sandiford wrote: > > Richard Biener writes: > > On Tue, Sep 17, 2019 at 4:33 PM Richard Sandiford > > wrote: > >> > >> assemble_real used GEN_INT to create integers directly from the > >> longs returned by real_to_target. assemble_integer then went on >

Re: [PATCH] RISC-V: Fix bad insn splits with paradoxical subregs.

2019-09-18 Thread Kito Cheng
Hi Richard: Got it, thanks :) On Wed, Sep 18, 2019 at 6:25 PM Richard Biener wrote: > > On Wed, 18 Sep 2019, Kito Cheng wrote: > > > Hi Jakub, Richard: > > > > This commit is fixing wrong code gen for RISC-V, does it OK to > > backport to GCC 9 branch? > > Since it is target specific and for

[Bug middle-end/91708] [10 regression][ARM] Bootstrap fails in gen_movsi, at config/arm/arm.md:5258

2019-09-18 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91708 --- Comment #21 from Richard Earnshaw --- But dropping in a char* will give a more restrictive alias set, so that isn't wrong, even if it is suboptimal

[PATCH V4] Generalized predicate/condition for parameter reference in IPA (PR ipa/91088)

2019-09-18 Thread Feng Xue OS
>> + if (unmodified_parm_or_parm_agg_item (fbi, stmt, expr, index_p, , >> + aggpos)) >> + { >> + tree type = TREE_TYPE (expr); >> + >> + /* Stop if found bit-field whose size does not equal any natural >> + integral type. */

[Bug middle-end/91708] [10 regression][ARM] Bootstrap fails in gen_movsi, at config/arm/arm.md:5258

2019-09-18 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91708 --- Comment #22 from Wilco --- (In reply to Richard Earnshaw from comment #21) > But dropping in a char* will give a more restrictive alias set, so that > isn't wrong, even if it is suboptimal The alias set could be anything given CSE changes

[Bug c++/91808] New: Static definition rejected after extern declaration in anonymous namespace

2019-09-18 Thread andrey.vihrov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91808 Bug ID: 91808 Summary: Static definition rejected after extern declaration in anonymous namespace Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity:

  1   2   >