Re: [RS6000] Don't pass -many to the assembler

2018-11-12 Thread Alan Modra
On Mon, Nov 12, 2018 at 04:17:51PM +, Michael Matz wrote: > Hi, > > On Mon, 12 Nov 2018, Segher Boessenkool wrote: > > > > > Wouldn't this also break compiling code that contains power9 > > > > instructions but guarded by runtime tests to only be executed on > > > > power9 machines? That

Re: [RS6000] Don't pass -many to the assembler

2018-11-12 Thread Iain Sandoe
> On 13 Nov 2018, at 00:34, Mike Stump wrote: > > On Nov 12, 2018, at 3:13 PM, Alan Modra wrote: >> >> For people developing new code, it's the right way to go, and >> especially so for people working on gcc itself. For people just >> wanting stuff to compile, not so much. I fully expect a

[C++ PATCH] Implement P0780R2, pack expansion in lambda init-capture.

2018-11-12 Thread Jason Merrill
Mostly this was straightforward; the tricky bit was finding, in the instantiation, the set of capture proxies built when instantiating the init-capture. The comment in lookup_init_capture_pack goes into detail. Tested x86_64-pc-linux-gnu, applying to trunk. * parser.c

Bug 52869 - [DR 1207] "this" not being allowed in noexcept clauses

2018-11-12 Thread Umesh Kalappa
Hi All, the following patch fix the subjected issue Index: gcc/cp/parser.c === --- gcc/cp/parser.c (revision 266026) +++ gcc/cp/parser.c (working copy) @@ -24615,6 +24615,8 @@ { tree expr;

Re: [RS6000] Don't pass -many to the assembler

2018-11-12 Thread Mike Stump
On Nov 12, 2018, at 3:13 PM, Alan Modra wrote: > > For people developing new code, it's the right way to go, and > especially so for people working on gcc itself. For people just > wanting stuff to compile, not so much. I fully expect a chorus of > *MORON* or worse to come from the likes of

Re: [RS6000] Don't pass -many to the assembler

2018-11-12 Thread Alan Modra
On Mon, Nov 12, 2018 at 04:34:34PM -0800, Mike Stump wrote: > On Nov 12, 2018, at 3:13 PM, Alan Modra wrote: > > > > For people developing new code, it's the right way to go, and > > especially so for people working on gcc itself. For people just > > wanting stuff to compile, not so much. I

[RS6000] secondary_reload and find_replacement

2018-11-12 Thread Alan Modra
This patch removes a call only necessary when using reload. It also corrects a PRE_DEC address offset. Segher preapproved the find_replacement change a few days ago, and the other change is an obvious bug fix. Committed rev 266049. * config/rs6000/rs6000.c

RFC (branch prediction): PATCH to implement P0479R5, [[likely]] and [[unlikely]].

2018-11-12 Thread Jason Merrill
[[likely]] and [[unlikely]] are equivalent to the GNU hot/cold attributes, except that they can be applied to arbitrary statements as well as labels; this is most likely to be useful for marking if/else branches as likely or unlikely. Conveniently, PREDICT_EXPR fits the bill nicely as a

[C++ PATCH] * decl2.c (min_vis_expr_r, expr_visibility): New.

2018-11-12 Thread Jason Merrill
We weren't properly constraining visibility based on names that appear in the mangled representation of expressions. This was made more obvious by the upcoming unevaluated lambdas patch. Tested x86_64-pc-linux-gnu, applying to trunk. (min_vis_r): Call expr_visibility.

[doc, committed] make #pragma once documentation easier to find

2018-11-12 Thread Sandra Loosemore
This patch is for PR 47823, which was about the documentation for "#pragma once" being buried in a strange location in the CPP manual. I've put the primary documentation for it with the other preprocessor pragmas in the CPP manual, and added a blurb to the pragmas chapter in the GCC manual

[C++ PATCH] Change __cpp_explicit_bool to __cpp_conditional_explicit.

2018-11-12 Thread Jason Merrill
People objected to the old macro name as unclear, so it was changed at the San Diego meeting. Tested x86_64-pc-linux-gnu, applying to trunk. * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to __cpp_conditional_explicit. --- gcc/c-family/c-cppbuiltin.c |

[C++ PATCH] * cp-tree.h (struct cp_evaluated): New.

2018-11-12 Thread Jason Merrill
This patch simplifies the saving/clearing/restoring of cp_unevaluated_operand and c_inhibit_evaluation_warnings in the presence of mid-block returns. This cleanup was motivated by the forthcoming unevaluated lambdas patch. Tested x86_64-pc-linux-gnu, applying to trunk. * init.c

[C++ PATCH] Avoid double substitution with complete explicit template arguments.

2018-11-12 Thread Jason Merrill
Previously, when we got a function template with explicit arguments for all of the template parameters, we still did "deduction", which of course couldn't deduce anything, but did other deduction-time checking of non-dependent conversions and such. This broke down with the unevaluated lambdas

[RS6000] Ignore "c", "l" and "h" for register preference

2018-11-12 Thread Alan Modra
This catches a few places where move insn patterns don't slightly disparage CTR, LR and VRSAVE regs. Also fixes the doc for the rs6000 h constraint, and removes an r->cl alternative covered by r->h. Segher okayed a patch adding "*" like this patch a long time ago. Somehow I never committed it.

Re: [PATCH] Fortran include line fixes and -fdec-include support

2018-11-12 Thread Fritz Reese
On Mon, Nov 12, 2018 at 9:51 AM Jakub Jelinek wrote: > > In fortran97.pdf I read: > "Except in a character context, blanks are insignificant and may be used > freely throughout the program." > and while we handle that in most cases, we don't allow spaces in INCLUDE > lines in fixed form, while

Re: [PATCH v3 3/3] PR preprocessor/83173: Enhance -fdump-internal-locations output

2018-11-12 Thread David Malcolm
On Mon, 2018-11-12 at 21:13 +, Mike Gulick wrote: > On 11/2/18 5:04 PM, David Malcolm wrote: > > On Thu, 2018-11-01 at 11:56 -0400, Mike Gulick wrote: > > > 2017-10-31 Mike Gulick > > > > > > PR preprocessor/83173 > > > * gcc/input.c (dump_location_info): Dump reason and > > >

[RS6000] Hide insn not needing to be public

2018-11-12 Thread Alan Modra
Another obvious patch. Committed rev 266045. * config/rs6000/rs6000.md (addsi3_high): Prefix with '*'. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 02e6e084785..02f194c7d33 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@

[RS6000] Rotate testcase

2018-11-12 Thread Alan Modra
The testcase exercises one of the rotate patterns. Segher okayed the testcase a long time ago, and the comments are obvious. Committed rev 266046. gcc/ * config/rs6000/predicates.md (logical_const_operand), (logical_operand): Correct comment. gcc/testsuite/ *

[RS6000] Don't put large integer constants in TOC for -mcmodel=medium

2018-11-12 Thread Alan Modra
For -mcmodel=medium we can use toc-relative addressing to access constants placed in read-only data, which is better since they can be merged when in .rodata.cst8. Bootstrapped etc. powerpc64le-linux. OK? * config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Exclude

[C++ PATCH] Implement P0722R3, destroying operator delete.

2018-11-12 Thread Jason Merrill
A destroying operator delete takes responsibility for calling the destructor for the object it is deleting; this is intended to be useful for sized delete of a class allocated with a trailing buffer, where the compiler can't know the size of the allocation, and so would pass the wrong size to the

RE: [PATCH v2] MIPS: Default to --with-llsc for the R5900 Linux target as well

2018-11-12 Thread Maciej W. Rozycki
On Fri, 9 Nov 2018, mfort...@gmail.com wrote: > Maciej: I'm not able to commit this for Fredrik at the moment, would > you mind doing that for him? Sure, I have applied the change now, using your proposed ChangeLog entry. Maciej

Re: [PATCH] More value_range API cleanup

2018-11-12 Thread Aldy Hernandez
On 11/12/18 7:12 AM, Richard Biener wrote: This mainly tries to rectify the workaround I put in place for ipa-cp.c needing to build value_range instead of value_range_base for calling extract_range_from_unary_expr. To make this easier I moved more set_* functions to methods. Then for some

Re: [PATCH 2/9][GCC][AArch64][middle-end] Add rules to strip away unneeded type casts in expressions

2018-11-12 Thread Joseph Myers
On Sun, 11 Nov 2018, Tamar Christina wrote: > This patch adds a match.pd rule for stripping away the type converts > when you're converting to a type that has twice the precision of the > current type in the same class, doing a simple math operation on it and > converting back to the smaller

[RS6000] Comment fix

2018-11-12 Thread Alan Modra
Committed as obvious, rev 266047. * config/rs6000/rs6000.c (rs6000_emit_prologue): Comment fix. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 1c5c7861552..d3355710d91 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -26997,7

[doc, committed] clarify documentation of cache parameters

2018-11-12 Thread Sandra Loosemore
Continuing to whack at trivial doc issues in bugzilla This patch is for PR 59634, which is to clarify that some cache-related parameters control attributes of the data cache and not the instruction cache. -Sandra 2018-11-13 Sandra Loosemore PR middle-end/59634 gcc/ *

[RS6000] Remove unnecessary rtx_equal_p

2018-11-12 Thread Alan Modra
REGs are unique. This patch recognizes that fact, speeding up rs6000 gcc infinitesimally. Bootstrapped etc. powerpc64le-linux. OK? * gcc/config/rs6000/rs6000.c (rs6000_legitimate_address_p): Replace rtx_equal_p call for known REGs with pointer comparison.

Re: [PATCH] MIPS: Add `-mfix-r5900' option for the R5900 short loop erratum

2018-11-12 Thread Maciej W. Rozycki
On Sun, 11 Nov 2018, Fredrik Noring wrote: > ../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:71:1: > note: in expansion of macro ‘COMPILER_CHECK’ >71 | COMPILER_CHECK(struct_kernel_stat_sz == sizeof(struct stat)); > | ^~ I guess

Re: [RS6000] Remove unnecessary rtx_equal_p

2018-11-12 Thread Alan Modra
On Tue, Nov 13, 2018 at 02:16:09PM +1030, Alan Modra wrote: > REGs are unique. This patch recognizes that fact, speeding up rs6000 > gcc infinitesimally. Bootstrapped etc. powerpc64le-linux. OK? Ugh, looking over this old patch again, I don't see how I can claim that regs in

Re: [PATCH 2/6] [RS6000] rs6000_output_indirect_call

2018-11-12 Thread Alan Modra
On Mon, Nov 12, 2018 at 01:44:08PM -0600, Bill Schmidt wrote: > On 11/6/18 11:37 PM, Alan Modra wrote: > > +fun, "l" + sibcall); > > It's not at all clear to me what {"l" + sibcall} is doing here. It's an ancient C programmer's trick, from the days when most compilers didn't optimize

[C++ PATCH] Implement P0315R4, Lambdas in unevaluated contexts.

2018-11-12 Thread Jason Merrill
When lambdas were added in C++11 they were banned from unevaluated contexts as a way to avoid needing to deal with them in mangling or SFINAE. This proposal avoids that with a more narrow proposal: lambdas never compare as equivalent (so we don't need to mangle them), and substitution failures

Re: Fix __gnu_cxx::throw_allocator 2 * O(log(N)) complexity

2018-11-12 Thread François Dumont
Oops, it was not the tested patch. Here it is. On 11/12/18 7:43 AM, François Dumont wrote: When doing some debugging session I noticed that the __gnu_cxx::throw_allocator doubles all lookup on both insert and erase. Using map::insert result and erasing the found iterator avoids this double

Re: [PATCH] Remove unreachable nodes before IPA profile pass (PR ipa/87706).

2018-11-12 Thread Martin Liška
On 11/8/18 12:46 PM, Jan Hubicka wrote: >> On Thu, Nov 8, 2018 at 12:39 PM Martin Liška wrote: >>> >>> On 11/8/18 12:19 PM, Jan Hubicka wrote: > Hi. > > In order to fix the warnings mentioned in the PR, we need > to run remove_unreachable_nodes after early tree passes. That's

Re: [PATCH] Add value_range_base (w/o equivs)

2018-11-12 Thread Aldy Hernandez
Ug ok. On Mon, Nov 12, 2018, 12:10 Richard Biener On Mon, 12 Nov 2018, Aldy Hernandez wrote: > > > > > > > On 11/11/18 3:53 AM, Richard Biener wrote: > > > On Fri, 9 Nov 2018, Aldy Hernandez wrote: > > > > > > > On 11/9/18 9:19 AM, Richard Biener wrote: > > > > > > > > > > This adds

Re: [PATCH][RFC] Come up with -flive-patching master option.

2018-11-12 Thread Martin Liška
On 11/12/18 3:28 AM, Qing Zhao wrote: > Hi, > > >> On Nov 10, 2018, at 2:51 AM, Martin Liška wrote: >> >> On 11/9/18 6:43 PM, Qing Zhao wrote: >>> Hi, Martin, >>> >>> thanks a lot for the previous two new options for live-patching. >>> >>> >>> I have two more questions below: >> >> Hello. >>

Re: [PATCH] Come up with htab_hash_string_vptr and use string-specific if possible.

2018-11-12 Thread Martin Liška
On 11/9/18 2:28 PM, Michael Matz wrote: > Hi, > > On Thu, 8 Nov 2018, Martin Liška wrote: > >>> That seems better. But still, why declare this in system.h? It seems >>> hash-table.h seems more appropriate. >> >> I need to declare it before I'll poison it. As system.h is included very >>

Re: [PATCH] Add value_range_base (w/o equivs)

2018-11-12 Thread Aldy Hernandez
On 11/11/18 3:53 AM, Richard Biener wrote: On Fri, 9 Nov 2018, Aldy Hernandez wrote: On 11/9/18 9:19 AM, Richard Biener wrote: This adds value_range_base, a base class of class value_range with all members but the m_equiv one. First of all, thanks so much for doing this! I have

Re: [PATCH] Ensure that dump calls are guarded with dump_enabled_p

2018-11-12 Thread Richard Biener
On Sat, 10 Nov 2018, David Malcolm wrote: > On Mon, 2018-10-22 at 16:08 +0200, Richard Biener wrote: > > On Mon, 22 Oct 2018, David Malcolm wrote: > > > > > On Mon, 2018-10-22 at 15:56 +0200, Richard Biener wrote: > > > [...snip...] > > > > > > > This is what I finally applied for the original

Re: [RFC] support --with-multilib-list=@/path/name

2018-11-12 Thread Alexandre Oliva
On Nov 9, 2018, "Richard Earnshaw (lists)" wrote: > - I'm not sure if we really want to allow combinations of an arbitrary > multilib config with the builtin configurations. Those are tricky > enough to get right as it is, and requests to support additional libs as > well as those with changes

[wwwdocs] Add powerpcspe line to backends.html

2018-11-12 Thread Eric Botcazou
Now that the port has been spun off from the rs6000 port. Applied. -- Eric BotcazouIndex: htdocs/backends.html === RCS file: /cvs/gcc/wwwdocs/htdocs/backends.html,v retrieving revision 1.81 diff -u -r1.81 backends.html ---

Re: Stack alignment on Darwin (PR78444)

2018-11-12 Thread Iain Sandoe
Appending Uros’ comments from a second thread on Stack alignment. Note that as per the new analysis in pr78444 this can affect other x86-64 targets too. > On 15 Aug 2018, at 16:57, H.J. Lu wrote: > > On Wed, Aug 15, 2018 at 8:41 AM, Iain Sandoe wrote: >> Hi HJ, >> >> I am trying to track

[PATCH] Change set_value_range_to_[non]null to not preserve equivs

2018-11-12 Thread Richard Biener
This is a semantic change but AFAICS it shouldn't result in any pessimization. The behavior of the API is non-obvious. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2018-11-12 Richard Biener * tree-vrp.c (set_value_range_to_nonnull): Clear equiv.

Re: cleanups and unification of value_range dumping code

2018-11-12 Thread Aldy Hernandez
I have rebased my value_range dumping patch after your value_range_base changes. I know you are not a fan of the gimple-pretty-print.c chunk, but I still think having one set of dumping code is preferable to catering to possible GC corruption while debugging. If you're strongly opposed (as,

[PATCH] Add C++ runtime support for new 128-bit long double format

2018-11-12 Thread Jonathan Wakely
This adds support for the new 128-bit long double format on powerpc64, see https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition for more details. Most of the required changes are to the locale facets that parse and print long doubles, as used by iostreams for reading/writing

Re: [PATCH] Add value_range_base (w/o equivs)

2018-11-12 Thread Richard Biener
On Mon, 12 Nov 2018, Aldy Hernandez wrote: > > > On 11/11/18 3:53 AM, Richard Biener wrote: > > On Fri, 9 Nov 2018, Aldy Hernandez wrote: > > > > > On 11/9/18 9:19 AM, Richard Biener wrote: > > > > > > > > This adds value_range_base, a base class of class value_range > > > > with all members

GCC 9 Status report (2018-11-13), Stage 3 in effect now

2018-11-12 Thread Richard Biener
Status == GCC trunk is open for general bugfixing (Stage 3) now until the end of Jan 6th after which only regression and documentation fixes will be possible. This means we have now started the stablilization phase of GCC 9 and you should see to start testing the compiler, report and fix

Re: [PATCH AutoFDO/2]Treat ZERO as common profile probability/count

2018-11-12 Thread Bin.Cheng
On Mon, Nov 5, 2018 at 10:40 PM Jan Hubicka wrote: > > diff --git a/gcc/profile-count.h b/gcc/profile-count.h > index 4289bc5a004..2b5e3269250 100644 > --- a/gcc/profile-count.h > +++ b/gcc/profile-count.h > @@ -218,6 +218,11 @@ public: > } > > > + /* Return true if value is zero. */ > +

Re: [PATCH] More value_range API cleanup

2018-11-12 Thread Richard Biener
On Mon, 12 Nov 2018, Aldy Hernandez wrote: > On 11/12/18 7:12 AM, Richard Biener wrote: > > > > This mainly tries to rectify the workaround I put in place for ipa-cp.c > > needing to build value_range instead of value_range_base for calling > > extract_range_from_unary_expr. > > > > To make

[PATCH] RFC: machine-readable diagnostic output (PR other/19165)

2018-11-12 Thread David Malcolm
This patch implements a -fdiagnostics-format=json option which converts the diagnostics to be output to stderr in a JSON format; see the documentation in invoke.texi. Logically-related diagnostics are nested at the JSON level, using the auto_diagnostic_group mechanism. gcc/ChangeLog: PR

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

2018-11-12 Thread Martin Liška
PING^3 On 10/23/18 11:02 AM, Martin Liška wrote: > PING^2 > > On 10/9/18 10:29 AM, Martin Liška wrote: >> PING^1 >> >> On 9/26/18 11:33 AM, Martin Liška wrote: >>> 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

Re: [PATCH] Improve -fprofile-report.

2018-11-12 Thread Martin Liška
PING^1 On 11/6/18 3:05 PM, Martin Liška wrote: > Hi. > > The patch is based on what was discussed on IRC and in the PR. > Apart from that the reported layout is improved. > > Patch survives regression tests on x86_64-linux-gnu. > > Ready for trunk? > Martin > > gcc/ChangeLog: > > 2018-11-06

[PATCH] [ARC] Cleanup, fix and set LRA default.

2018-11-12 Thread Claudiu Zissulescu
From: claziss Hi Andrew, This is a patch which fixes and sets LRA by default. OK to apply? Claudiu Commit message LP_COUNT register cannot be freely allocated by the compiler as it size, and/or content may change depending on the ARC hardware configuration. Thus, make this

Delete !HAVE_LD_PIE variants of startfile/endfile specs

2018-11-12 Thread Alan Modra
This patch is a small cleanup. The HAVE_LD_PIE variant doesn't contain anything that will break linking when !HAVE_LD_PIE that isn't already broken if you choose to build PIEs with a linker that doesn't support PIE. All this HAVE_LD_PIE protects is the choice of different crt files, which is

Allow target to override gnu-user.h crti and crtn

2018-11-12 Thread Alan Modra
Also give target access to the gnu-user.h LINK_GCC_C_SEQUENCE_SPEC. In preparation for using gnu-user.h in rs6000/. Bootstrapped etc. powerpc64le-linux. OK? * config/gnu-user.h (GNU_USER_TARGET_CRTI): Define. (GNU_USER_TARGET_STARTFILE_SPEC): Use it here.

Re: [PATCH][LRA] Fix PR87899: r264897 cause mis-compiled native arm-linux-gnueabihf toolchain

2018-11-12 Thread Renlin Li
Hi Peter, Thanks for the patch! It makes much more sense to me to split those functions, and use them separately. I tried to build a native arm-linuxeabihf toolchain with the patch. But I got the following ICE: /home/renlin/try-new/./gcc/xgcc -B/home/renlin/try-new/./gcc/

Re: [RS6000] Don't pass -many to the assembler

2018-11-12 Thread Alan Modra
On Mon, Nov 12, 2018 at 10:19:04PM +1030, Alan Modra wrote: > I'd like to remove -many from the options passed by default to the > assembler, on the grounds that a gcc bug in instruction selection (eg. > emitting a power9 insn for -mcpu=power8) is better found at assembly > time than run time. >

Re: [PATCH][GCC] Make DR_TARGET_ALIGNMENT compile time variable

2018-11-12 Thread Richard Biener
On Fri, Nov 9, 2018 at 5:08 PM Andre Vieira (lists) wrote: > > On 05/11/18 12:41, Richard Biener wrote: > > On Mon, Nov 5, 2018 at 1:07 PM Andre Vieira (lists) > > wrote: > >> > >> > >> Hi, > >> > Hi, > > Thank you for the quick response! See inline responses below. > > >> This patch enables

Re: [PATCH] [ARC] Cleanup, fix and set LRA default.

2018-11-12 Thread Eric Botcazou
> This is a patch which fixes and sets LRA by default. You'll need to update htdocs/backends.html of wwwdocs once this is done: https://gcc.gnu.org/backends.html -- Eric Botcazou

Re: [PATCH 3/9][GCC][AArch64] Add autovectorization support for Complex instructions

2018-11-12 Thread Kyrill Tkachov
Hi Tamar, On 11/11/18 10:26, Tamar Christina wrote: Hi All, This patch adds the expander support for supporting autovectorization of complex number operations such as Complex addition with a rotation along the Argand plane. This also adds support for complex FMA. The instructions are

[PATCH] Replace sync builtins with atomic builtins

2018-11-12 Thread Janne Blomqvist
The old __sync builtins have been deprecated for a long time now in favor of the __atomic builtins following the C++11/C11 memory model. This patch converts libgfortran to use the modern __atomic builtins. At the same time I weakened the consistency to relaxed for incrementing and decrementing

Re: [PATCH] Simplify floating point comparisons

2018-11-12 Thread Richard Biener
On Fri, Nov 9, 2018 at 6:05 PM Wilco Dijkstra wrote: > > Richard Biener wrote: > >Marc Glisse wrote: > >> Let's try with C = DBL_MIN and x = 婊BL_MAX. I don't believe it involves > >> signed zeros or infinities, just an underflow. First, the result depends on > >> the rounding mode. And in the

Re: [PATCH, GCC, AArch64] Branch Dilution Pass

2018-11-12 Thread Richard Biener
On Fri, Nov 9, 2018 at 6:23 PM Sudakshina Das wrote: > > Hi > > I am posting this patch on behalf of Carey (cc'ed). I also have some > review comments that I will make as a reply to this later. > > > This implements a new AArch64 specific back-end pass that helps optimize > branch-dense code,

Re: [PATCH] combine: Do not combine moves from hard registers

2018-11-12 Thread Sam Tebbs
On 11/08/2018 08:34 PM, Segher Boessenkool wrote: > On Thu, Nov 08, 2018 at 03:44:44PM +, Sam Tebbs wrote: >> Does your patch fix the incorrect generation of "scvtf s1, s1"? I was >> looking at the issue as well and don't want to do any overlapping work. > I don't know. Well, there are no

Re: [PR81878]: fix --disable-bootstrap --enable-languages=ada, and cross-back gnattools build

2018-11-12 Thread Arnaud Charlet
> I've considered sourcing ada/config-lang.in from within > gnattools/configure, and testing lang_requires as set by it, so as to > avoid a duplication of tests that ought to remain in sync, but decided > it would be too fragile, as ada/config-lang.in does not expect srcdir > to refer to

Re: [PATCH][DOCS] Fix documentation of __builtin_cpu_is and __builtin_cpu_supports for x86.

2018-11-12 Thread Uros Bizjak
> The patch is adding missing values for aforementioned built-ins. > > Ready for trunk? > Thanks, > Martin > > gcc/ChangeLog: > > 2018-11-12 Martin Liska > > * doc/extend.texi: Add missing values for __builtin_cpu_is and > __builtin_cpu_supports for x86 target. OK. Thanks, Uros.

Re: [PATCH 21/25] GCN Back-end (part 2/2).

2018-11-12 Thread Andrew Stubbs
On 09/11/2018 19:39, Jeff Law wrote: + +/* Generate epilogue. Called from gen_epilogue during pro_and_epilogue pass. + + See gcn_expand_prologue for stack details. */ + +void +gcn_expand_epilogue (void) You probably need a barrier in here to ensure that the scheduler doesn't move an aliased

Re: [PATCH] combine: Do not combine moves from hard registers

2018-11-12 Thread Segher Boessenkool
On Mon, Nov 12, 2018 at 11:54:37AM +, Sam Tebbs wrote: > On 11/08/2018 08:34 PM, Segher Boessenkool wrote: > > > On Thu, Nov 08, 2018 at 03:44:44PM +, Sam Tebbs wrote: > >> Does your patch fix the incorrect generation of "scvtf s1, s1"? I was > >> looking at the issue as well and don't

Re: [PATCH] Add sinh(tanh(x)) and cosh(tanh(x)) rules

2018-11-12 Thread Richard Biener
On Sat, Nov 10, 2018 at 6:36 AM Segher Boessenkool wrote: > > On Fri, Nov 09, 2018 at 01:03:55PM -0700, Jeff Law wrote: > > >> And signed zeroes. Yeah. I think it would have to be > > >> flag_unsafe_math_optimizations + some more. > > > > > > Indeed. > > So we need to give Giuliano some clear

[PATCH] Move more stuff to value-range-base

2018-11-12 Thread Richard Biener
The simple stuff. I have some more stuff queued. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2018-11-12 Richard Biener * tree-vrp.h (value_range_base::symbolic_p, value_range_base::constant_p, value_range_base::zero_p,

[PATCH 0/3] [ARC] Glibc required patches

2018-11-12 Thread Claudiu Zissulescu
Hi Andrew, The attached three patches are required to reduce/enable glibc builds. Although not all of them are glibc related they are found when porting this library to ARC. OK to apply? Claudiu Claudiu Zissulescu (3): [ARC] Update EH code. [ARC] Do not emit ZOL in the presence of text jump

[PATCH 2/3] [ARC] Do not emit ZOL in the presence of text jump tables.

2018-11-12 Thread Claudiu Zissulescu
Avoid emitting lp instruction when in its ZOL body we find a jump table data in text section. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.c (hwloop_optimize): Bailout when detecting a jump table data in the text section. --- gcc/config/arc/arc.c | 12 +++- 1

[PATCH 1/3] [ARC] Update EH code.

2018-11-12 Thread Claudiu Zissulescu
Our ABI says the blink is pushed first on stack followed by an unknown number of register saves, and finally by fp. Hence we cannot use the EH_RETURN_ADDRESS macro as the stack is not finalized at that moment. The alternative is to use the eh_return pattern and to initialize all the bits after

Re: [C++ Patch] Fix two grokdeclarator locations

2018-11-12 Thread Paolo Carlini
Hi again, On 08/11/18 10:26, Paolo Carlini wrote: Hi, two additional grokdeclarator locations that we can easily fix by using declarator->id_loc. Slightly more interesting, testing revealed a latent issue in the make_id_declarator uses: cp_parser_member_declaration wasn't setting

[PowerPC] libgcc cfi

2018-11-12 Thread Alan Modra
There are a few places in libgcc assembly where we don't emit call frame information for functions, potentially breaking unwinding from asynchronous signal handlers. This patch fixes most. Although I patch tramp.S there is no attempt made to provide CFI for the actual trampoline on the stack.

[RS6000] PowerPC -mcpu=native support

2018-11-12 Thread Alan Modra
The -mcpu=native support has bit-rotted a little, in particular the fallback when the native cpu couldn't be determined. This patch fixes the bit-rot and reorganizes ASM_CPU_SPEC so that it should be a little easier to keep the -mcpu=native data up to date. The patch also changes the fix for

Re: [PATCH 20/25] GCN libgcc.

2018-11-12 Thread Andrew Stubbs
On 09/11/2018 18:48, Jeff Law wrote: diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index 0c5b264..6f68257 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -429,9 +429,11 @@ LIB2ADD += enable-execute-stack.c # While emutls.c has nothing to do with EH, it is in LIB2ADDEH* #

[PR81878]: fix --disable-bootstrap --enable-languages=ada, and cross-back gnattools build

2018-11-12 Thread Alexandre Oliva
gnattools build machinery uses just-build xgcc and xg++ as $(CC) and $(CXX) in native builds. However, if C and C++ languages are not enabled, it won't find them. So, enable C and C++ if Ada is enabled. Most of the time, this is probably no big deal: C is always enabled anyway, and C++ is

Re: [PATCH] Do not allow -mabi=ms and -fsanitize={,kernel-}address (PR sanitizer/87930).

2018-11-12 Thread Jakub Jelinek
On Mon, Nov 12, 2018 at 01:03:41PM +0100, Martin Liška wrote: > The patch reject usage of the mentioned options. > > Ready for trunk? > Thanks, > Martin > > gcc/ChangeLog: > > 2018-11-12 Martin Liska > > PR sanitizer/87930 > * config/i386/i386.c (ix86_option_override_internal):

Re: [PATCH 3/9][GCC][AArch64] Add autovectorization support for Complex instructions

2018-11-12 Thread Tamar Christina
Hi Kyrill, > Hi Tamar, > > On 11/11/18 10:26, Tamar Christina wrote: > > Hi All, > > > > This patch adds the expander support for supporting autovectorization of > > complex number operations > > such as Complex addition with a rotation along the Argand plane. This also > > adds support for

Re: [PATCH] Come up with htab_hash_string_vptr and use string-specific if possible.

2018-11-12 Thread Michael Matz
Hi, On Mon, 12 Nov 2018, Martin Liška wrote: > > There's no fundamental reason why we can't poison identifiers in other > > headers. Indeed we do in vec.h. So move the whole thing including > > poisoning to hash-table.h? > > That's not feasible as gcc/gcc/genhooks.c files use the function

Re: [PATCH] Fix ICE with -fopt-info-inline (PR ipa/87955)

2018-11-12 Thread Richard Biener
On Sun, Nov 11, 2018 at 2:33 AM David Malcolm wrote: > > PR ipa/87955 reports a problem I introduced in r265920, where I converted > the guard in report_inline_failed_reason from using: > if (dump_file) > to using > if (dump_enabled_p ()). > without updating the calls to

rs6000/sysv4.h using gnu-user.h

2018-11-12 Thread Alan Modra
This patch removes some duplication in rs6000/sysv4.h of macros found in gnu-user.h that we want for linux. Including gnu-user.h will mean powerpc doesn't miss updates to that file. Requires https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00917.html and

[PATCH][DOCS] Fix documentation of __builtin_cpu_is and __builtin_cpu_supports for x86.

2018-11-12 Thread Martin Liška
Hi. The patch is adding missing values for aforementioned built-ins. Ready for trunk? Thanks, Martin gcc/ChangeLog: 2018-11-12 Martin Liska * doc/extend.texi: Add missing values for __builtin_cpu_is and __builtin_cpu_supports for x86 target. --- gcc/doc/extend.texi | 100

[mcore] Remove duplicate preprocessor definition

2018-11-12 Thread Eric Botcazou
The same definition, with a comment, is present a few lines above. Applied on the mainline as obvious. 2018-11-12 Eric Botcazou * config/mcore/mcore.h (WORD_REGISTER_OPERATIONS): Remove duplicate. -- Eric BotcazouIndex: config/mcore/mcore.h

[PATCH] More value_range API cleanup

2018-11-12 Thread Richard Biener
This mainly tries to rectify the workaround I put in place for ipa-cp.c needing to build value_range instead of value_range_base for calling extract_range_from_unary_expr. To make this easier I moved more set_* functions to methods. Then for some reason I chose to fix the rathole of equiv

Re: [PATCH 21/25] GCN Back-end (part 1/2).

2018-11-12 Thread Andrew Stubbs
On 09/11/2018 19:11, Jeff Law wrote: There's a ton of work related to reduction setup, updates and teardown. I don't guess there's any generic code we can/should be re-using. Sigh. I'm not sure what can be shared, or not, here. For OpenMP we don't have any special code, but OpenACC is much

[PATCH] Fix PR87985

2018-11-12 Thread Richard Biener
The following fixes split_constant_offset unbound un-CSEing of expressions when following SSA def stmts. Simply limiting it to single-uses isn't good for consumers so the following instead limits analysis by implementing a cache. Note this may still end up un-CSEing stuff but I didn't want to

Re: [PATCH][cunroll] Add unroll-known-loop-iterations-only param and use it in aarch64

2018-11-12 Thread Richard Biener
On Fri, Nov 9, 2018 at 6:57 PM Kyrill Tkachov wrote: > > On 09/11/18 12:18, Richard Biener wrote: > > On Fri, Nov 9, 2018 at 11:47 AM Kyrill Tkachov > > wrote: > >> > >> Hi all, > >> > >> In this testcase the codegen for VLA SVE is worse than it could be due to > >> unrolling: > >> > >>

[PATCH 3/3] [ARC] Add support for profiling in glibc.

2018-11-12 Thread Claudiu Zissulescu
Use PROFILE_HOOK to add mcount library calls in each toolchain. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.h (FUNCTION_PROFILER): Redefine to empty. * config/arc/elf.h (PROFILE_HOOK): Define. * config/arc/linux.h (PROFILE_HOOK): Likewise. ---

[RS6000] Use config/linux.h for powerpc*-*-linux*

2018-11-12 Thread Alan Modra
Using the macros in config/linux.h rather than duplicating them helps stop future bitrot, and repairs existing bitrot (4 choices for libc in linux.h, fewer in the rs6000 files not that it matters much). Also fixes the fact that __gnu_linux__ was always defined rather than just when glibc was the

Re: [PATCH 4/6] [ARC] Add peephole rules to combine store/loads into double store/loads

2018-11-12 Thread claziss
PING. On Wed, 2018-10-31 at 10:33 +0200, claz...@gmail.com wrote: > Thank you for your review. Please find attached a new respin patch > with > your feedback in. > > Please let me know if it is ok, > Claudiu

[RS6000] Don't pass -many to the assembler

2018-11-12 Thread Alan Modra
I'd like to remove -many from the options passed by default to the assembler, on the grounds that a gcc bug in instruction selection (eg. emitting a power9 insn for -mcpu=power8) is better found at assembly time than run time. This might annoy people for a while fixing user asm that we didn't

[PATCH] Do not allow -mabi=ms and -fsanitize={,kernel-}address (PR sanitizer/87930).

2018-11-12 Thread Martin Liška
Hi. The patch reject usage of the mentioned options. Ready for trunk? Thanks, Martin gcc/ChangeLog: 2018-11-12 Martin Liska PR sanitizer/87930 * config/i386/i386.c (ix86_option_override_internal): Error about usage -mabi=ms and -fsanitize={,kernel-}address. ---

Re: [GCC][AArch64] [middle-end][docs] Document the xorsign optab

2018-11-12 Thread Tamar Christina
Hi Sandra, > > Ok for trunk? > > > > +@cindex @code{xorsign@var{m}3} instruction pattern > > +@item @samp{xorsign@var{m}3} > > +Target suppports an efficient expansion of x * copysign (1.0, y) > > +as xorsign (x, y). Store a value with the magnitude of operand 1 > > +and the sign of operand 2

Re: [PATCH] Change set_value_range_to_[non]null to not preserve equivs

2018-11-12 Thread Jeff Law
On 11/12/18 4:11 AM, Richard Biener wrote: > > This is a semantic change but AFAICS it shouldn't result in any > pessimization. The behavior of the API is non-obvious. > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. > > Richard. > > 2018-11-12 Richard Biener > > *

Re: [PATCH] More value_range API cleanup

2018-11-12 Thread Richard Biener
On Tue, 13 Nov 2018, Richard Biener wrote: > On Mon, 12 Nov 2018, Aldy Hernandez wrote: > > > On 11/12/18 7:12 AM, Richard Biener wrote: > > > > > > This mainly tries to rectify the workaround I put in place for ipa-cp.c > > > needing to build value_range instead of value_range_base for calling

[PATCH] Fortran include line fixes and -fdec-include support

2018-11-12 Thread Jakub Jelinek
Hi! In fortran97.pdf I read: "Except in a character context, blanks are insignificant and may be used freely throughout the program." and while we handle that in most cases, we don't allow spaces in INCLUDE lines in fixed form, while e.g. ifort does. Another thing, which I haven't touched in

Re: [RS6000] Don't pass -many to the assembler

2018-11-12 Thread Andreas Schwab
On Nov 12 2018, Michael Matz wrote: > Wouldn't this also break compiling code that contains power9 instructions > but guarded by runtime tests to only be executed on power9 machines? That > seems a valid usecase, and it'd be bad if the assembler fails to compile > such. (You can't use

Re: [PATCH, GCC, ARM] Enable armv8.5-a and add +sb and +predres for previous ARMv8-a in ARM

2018-11-12 Thread Sudakshina Das
Hi Kyrill On 09/11/18 18:21, Kyrill Tkachov wrote: > Hi Sudi, > > On 09/11/18 15:33, Sudakshina Das wrote: >> Hi >> >> This patch adds -march=armv8.5-a to the Arm backend. >> (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) >> >> >> Armv8.5-A also

Re: [PATCH, GCC, AArch64] Branch Dilution Pass

2018-11-12 Thread Kyrill Tkachov
Hi Richard, On 12/11/18 14:13, Richard Biener wrote: On Fri, Nov 9, 2018 at 6:23 PM Sudakshina Das wrote: > > Hi > > I am posting this patch on behalf of Carey (cc'ed). I also have some > review comments that I will make as a reply to this later. > > > This implements a new AArch64 specific

C++ PATCH to implement C++20 P0634R3, Down with typename!

2018-11-12 Thread Marek Polacek
This patch implements C++20 P0634R3, Down with typename! which makes 'typename' optional in several contexts specified in [temp.res]. The gist of the patch is in cp_parser_simple_type_specifier, where, if the context makes

  1   2   >