Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-08-29 Thread Kugan Vivekanandarajah
Hi James, On 29 August 2017 at 21:31, James Greenhalgh wrote: > On Tue, Jun 27, 2017 at 11:20:02AM +1000, Kugan Vivekanandarajah wrote: >> https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00614.html added this >> workaround to get kernel building with when

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 06/08 - V3

2017-08-29 Thread Segher Boessenkool
Hi Jeff, Sorry for the delay in reviewing this. It mostly looks good :-) On Sun, Jul 30, 2017 at 11:45:16PM -0600, Jeff Law wrote: > > This contains the PPC bits for stack clash protection. > > Changes since V2: > > Exploits inlined/unrolled probes and rotated loops for the dynamic area. >

Re: [PATCH] libquadmath/81848, allow PowerPC to enable libquadmath

2017-08-29 Thread Jakub Jelinek
On Tue, Aug 15, 2017 at 11:06:01PM -0400, Michael Meissner wrote: > 2017-08-15 Michael Meissner > > PR libquadmath/81848 > * configure.ac (powerpc*-linux*): Use attribute mode KC to create > complex __float128 on PowerPC instead of attribute mode

Re: [C++ PATCH] Make taking the address of an overloaded function a non-deduced context

2017-08-29 Thread Ville Voutilainen
On 30 August 2017 at 01:19, Ville Voutilainen wrote: > 2017-08-29 Ville Voutilainen > > Make taking the address of an overloaded function a non-deduced context > > cp/ > > * pt.c (unify_overload_resolution_failure): Return

[C++ PATCH] Make taking the address of an overloaded function a non-deduced context

2017-08-29 Thread Ville Voutilainen
2017-08-29 Ville Voutilainen Make taking the address of an overloaded function a non-deduced context cp/ * pt.c (unify_overload_resolution_failure): Return unify_success instead of unify_invalid. testsuite/ * g++.dg/overload/template6.C:

Re: Turn FUNCTION_ARG_PADDING into a target hook

2017-08-29 Thread Jeff Law
On 08/28/2017 04:05 AM, Richard Sandiford wrote: > This involved renaming the rather general-sounding "enum direction" to > "enum pad_direction" to avoid a conflict with the Fortran frontend. > > Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu. > Also tested by checking

libgo patch committed: build libgo/net/internal/socktest/sys_unix.go on AIX

2017-08-29 Thread Ian Lance Taylor
This libgo patch by Tony Reix builds the file libgo/net/internal/socktest/sys_unix.go on AIX. Bootstrapped on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE

libgo patch committed: netinet/icmp6.h require netinet/in.h on AIX

2017-08-29 Thread Ian Lance Taylor
This patch from Tony Reix fixes the libgo configure script to correctly decide whether netinet/icmp6.h exists on AIX. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Re: Add a partial_subreg_p predicate

2017-08-29 Thread Jeff Law
On 08/21/2017 07:34 AM, Richard Sandiford wrote: > This patch adds a partial_subreg_p predicate to go alongside > paradoxical_subreg_p. > > The first two changes to cse_insn preserve the current behaviour, > but the condition seems strange. Shouldn't we be able to continue > to cse if the inner

[PATCH v2, rs6000] Fix PR81833

2017-08-29 Thread Bill Schmidt
Hi Segher, Thanks for approving the previous patch with changes. I've made those and also modified the test case to require VSX hardware for execution. I duplicated the test so we get coverage on P7 BE 32/64 and P8 BE/LE. I'd appreciate it if you could look over the dejagnu instructions once

C++ PATCH for c++/81236, missed 'this' capture with template-id in generic lambda

2017-08-29 Thread Jason Merrill
The problem here was that normally in finish_id_expression we add 'this->' to a mention of a non-static member, but there is special code for doing less if the lookup result is dependent, and so we didn't get that processing. A few months back Adam fixed 64382 by deciding to do all the normal

libgo patch committed: fix Stat_t on AIX

2017-08-29 Thread Ian Lance Taylor
This patch to libgo's mksysinfo.sh script handles the timespec field found in the stat struct on AIX. Bootstrapped on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE

libgo patch committed: Fix go-nosys.c when HAVE_SYSCALL is not defined

2017-08-29 Thread Ian Lance Taylor
This patch from Tony Reix fixes the compilation of go-nosys.c when HAVE_SYSCALL is not defined. Bootstrapped on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE

Re: [patch, fortran] Warn about suspicious assignment to contiguous pointers

2017-08-29 Thread Thomas Koenig
Hi Janus, and in that case I would argue that, beyond being "not useful", it's even illegal, so why not throw a hard error, if we can infer at compile-time that the target is non-contiguous? Problem is, we cannot infer this from the tests done. We would also have to add a test if the array is

C++ PATCH to overhaul lambdas in templates

2017-08-29 Thread Jason Merrill
Our old model for handling lambdas in templates was to handle them like any other template class, and instantiate them by normal substitution. This was insufficient for lambdas for two reasons: for one, it made it impossible to get implicit captures quite right in templates. Also, if a lambda

C++ PATCH to remove unnecessary LAMBDA_EXPR fields

2017-08-29 Thread Jason Merrill
The explicit return type for a lambda is only used during parsing, so we can track it in a local variable. Later on we can look at the actual return type of the function. Since tree_lambda_expr is typed, and the type of a lambda-expression is the closure, we can use TREE_TYPE for the closure

Re: [patch, fortran] Warn about suspicious assignment to contiguous pointers

2017-08-29 Thread Janus Weil
Hi Thomas, and in that case I would argue that, beyond being "not useful", it's even illegal, so why not throw a hard error, if we can infer at compile-time that the target is non-contiguous? >>> >>> Problem is, we cannot infer this from the tests done. >>> We would also have

C++ PATCH for various small fixes

2017-08-29 Thread Jason Merrill
Various small things I noticed while working on the lambda overhaul: We try to avoid mentioning the lambda conversion static thunk in diagnostics, but it was showing up in constexpr messages. If the lambda itself is erroneous, don't try to build a closure object. We can't defer instantiation of

C++ PATCH for c++/80935, wrong error on lambda in C++17 mode

2017-08-29 Thread Jason Merrill
In this testcase, trying to treat a lambda op() as a constexpr function led to an inappropriate error; we should instead just decide that it isn't constexpr after all. This patch also tweaks a couple of other places to use is_instantiation_of_constexpr and var_in_maybe_constexpr_fn appropriately.

Re: [PATCH], Fix PR 81959 (power9 IEEE 128-bit float convert from 32-bit memory)

2017-08-29 Thread Michael Meissner
On Tue, Aug 29, 2017 at 06:14:37AM -0500, Segher Boessenkool wrote: > Hi Mike, > > On Mon, Aug 28, 2017 at 02:50:02PM -0400, Michael Meissner wrote: > > When I added the optimization for loading 32-bit values directly into the > > vector registers from memory to convert to IEEE 128-bit floating

C++ PATCH for c++/80767, unnecessary instantiation of generic lambda

2017-08-29 Thread Jason Merrill
In this testcase, when we try to call the object of 'overloader' type, we consider the conversion function from the first lambda to void (*)(a) and build up a surrogate call function for it. We consider how to convert from overloader to that type, which means also looking at the template

Re: [i386] Document a dozen of IA-32 builtins

2017-08-29 Thread Eric Botcazou
> Builtins that are used through ia32intrin.h are considered an > "implementation detail", and not a stable interface that needs to be > documented. Intrinsic headers should be used instead, and users should > be discouraged to use builtins directly. That works for C/C++ but not for other

libgo patch committed: Fix lfstack for AIX

2017-08-29 Thread Ian Lance Taylor
This patch by Tony Reix fixes the runtime package's lock-free stack code to work on 64-bit AIX. Bootstrapped on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE

C++ PATCH to lambda in default argument of inherited constructor

2017-08-29 Thread Jason Merrill
When inheriting a template constructor, we've been leaving the template in DECL_INHERITED_CTOR rather than the appropriate specialization; this leads to a crash when we try to mangle the context for a lambda in a default argument for such a function. This patch fixes this by remembering which

C++ PATCH to allow copying of local_specializations

2017-08-29 Thread Jason Merrill
When instantiating a lambda-expression in the new model, we want to retain the local_specializations from the enclosing function but still be able to remember specializations local to the lambda and discard them afterwards. With this patch a local_specialization_stack object can start with a copy

C++ PATCH to add immediate version of potential_constant_expression

2017-08-29 Thread Jason Merrill
potential_constant_expression returns whether or not an expression could be a constant expression after constexpr substitution of parameters, but some of the places that we have been using this predicate aren't subject to constexpr substitution, so it would be good to have a version that doesn't

C++ PATCH to instantiate default args and default member inits once

2017-08-29 Thread Jason Merrill
G++ has traditionally instantiated default arguments and default member initializers wherever they are needed, but the standard describes default arguments as separate definitions, and the old way is problematic for the new lambda instantiation model. This patch charts a middle course: now we

C++ PATCH to default argument conversion and SFINAE

2017-08-29 Thread Jason Merrill
A Core working group discussion noted that G++ was getting __is_constructible wrong in this case, where the conversion from nullptr to the parameter type fails, but we weren't noticing that and so happily built up a CALL_EXPR with an ERROR_MARK argument. When that is fixed, we can change the

Re: [i386] Document a dozen of IA-32 builtins

2017-08-29 Thread Uros Bizjak
Hello! >> it seems that there are many undocumented IA-32 builtins. This patch starts >> small and documents the builtins corresponding to the basic instrinsics >> which are declared in ia32intrin.h. > > Any comment on this? Should I open a PR with a list of undocumented builtins? Builtins

Re: [patch, fortran] Warn about suspicious assignment to contiguous pointers

2017-08-29 Thread Thomas Koenig
Hi Janus, I think an unconditional warning is OK in this case because - Assigning to a pointer from an obvious non-contiguous target is not useful at all, that I can see I guess you're talking about a *contiguous* pointer here, Correct. and in that case I would argue that, beyond

[PATCH, testsuite]: Cleanup dg-options in gcc.target/i386/ a bit

2017-08-29 Thread Uros Bizjak
2017-08-29 Uros Bizjak * gcc.target/i386/20030926-1.c: Add dg-additional-options. * gcc.target/i386/abi-2.c: Ditto. * gcc.target/i386/interrupt-sibcall-2.c: Ditto. * gcc.target/i386/pr22076.c: Ditto. * gcc.target/i386/pr37216.c: Ditto. *

[PATCH, i386]: Simplify setting of opts->x_flag_entry.

2017-08-29 Thread Uros Bizjak
Check opts_set->x_flag_fentry and remove check for non-existing PROFILE_BEFORE_PROLOGUE definition. 2017-08-29 Uros Bizjak * config/i386/i386.opt (flag_fentry): Do not init to -1. * config/i386/i386.c (ix86_option_override_internal): Simplify setting of

Re: [i386] Document a dozen of IA-32 builtins

2017-08-29 Thread Eric Botcazou
> it seems that there are many undocumented IA-32 builtins. This patch starts > small and documents the builtins corresponding to the basic instrinsics > which are declared in ia32intrin.h. Any comment on this? Should I open a PR with a list of undocumented builtins? -- Eric Botcazou

Re: [PATCH] ira-costs: avoid missing base registers in record_address_regs

2017-08-29 Thread Vladimir Makarov
On 08/28/2017 09:06 AM, Alexander Monakov wrote: Hello, The code in record_address_regs shown in the following patch assumes that if a given target cannot have two registers in a memory address, then the sole register, if present, must be the leftmost operand in the PLUS chain. I think this

Re: [PATCH] [MSP430] [PR80993] Prevent lto removing interrupt handlers

2017-08-29 Thread DJ Delorie
Richard Biener writes: > Humm... don't you have to register interrupt handlers somehow? MSP430 uses an "if they're present, they're registered" approach, so it's driven by the user tagging functions as interrupts - the linker notices that they're present and links

Re: Improve DOM's ability to derive equivalences when traversing edges

2017-08-29 Thread Christophe Lyon
t; produces exactly the code I would expect. > > Is something perhaps passing down a -mtune or other option? > > ./cc1 -quiet -v -iprefix > /opt/notnfs/law/gcc-testing/arm/gcc/../lib/gcc/arm-none-linux-gnueabihf/8.0.0/ > -isystem ./include -isystem ./include-fixed j.c -quiet

Re: [06/77] Make GET_MODE_WIDER return an opt_mode

2017-08-29 Thread Jeff Law
On 08/29/2017 09:36 AM, Richard Sandiford wrote: > Jeff Law writes: >> On 08/29/2017 09:01 AM, Richard Sandiford wrote: >>> Jeff Law writes: >>> >>> OK, here's a patch that uses require (). I've updated the following >>> patches in the obvious way. >> Thanks.

Re: [06/77] Make GET_MODE_WIDER return an opt_mode

2017-08-29 Thread Richard Sandiford
Jeff Law writes: > On 08/29/2017 09:01 AM, Richard Sandiford wrote: >> Jeff Law writes: >> >> OK, here's a patch that uses require (). I've updated the following >> patches in the obvious way. > Thanks. > >> >> This does make me want to reconsider another

Re: Improve DOM's ability to derive equivalences when traversing edges

2017-08-29 Thread Jeff Law
d expect. Is something perhaps passing down a -mtune or other option? ./cc1 -quiet -v -iprefix /opt/notnfs/law/gcc-testing/arm/gcc/../lib/gcc/arm-none-linux-gnueabihf/8.0.0/ -isystem ./include -isystem ./include-fixed j.c -quiet -dumpbase j.c -mcpu=cortex-a15 -mfpu=vfpv3-d16-fp16 -mtls-dialect=gnu

Re: [06/77] Make GET_MODE_WIDER return an opt_mode

2017-08-29 Thread Jeff Law
On 08/29/2017 09:01 AM, Richard Sandiford wrote: > Jeff Law writes: > > OK, here's a patch that uses require (). I've updated the following > patches in the obvious way. Thanks. > > This does make me want to reconsider another decision though. > Using opt_mode for iterators

RE:[PATCH,AIX] Cleanup in libiberty for AIX.

2017-08-29 Thread REIX, Tony
Description: * This patch does some cleanup in libiberty for AIX. Tests: * AIX: Build: SUCCESS - build made by means of gmake in trunk. - patch generated by: cd gcc-svn-trunk/ svn diff libiberty/ChangeLog libiberty/simple-object-xcoff.c ChangeLog: + *

Re: Fix inconsistent section flags

2017-08-29 Thread Joerg Sonnenberger
On Mon, Aug 28, 2017 at 11:42:53AM -0600, Jeff Law wrote: > Does the attached (untested) patch work for you? Works for the cases I care about, yes. Joerg

Re: [06/77] Make GET_MODE_WIDER return an opt_mode

2017-08-29 Thread Richard Sandiford
Jeff Law writes: > On 08/28/2017 01:05 PM, Richard Sandiford wrote: >> >>> As for the name, get_nonvoid? Ugh. Not sure. Open to suggestions. >> >> I'd rather avoid "nonvoid", since the use of VOIDmode for "no mode" is >> really an implementation detail in things like

Re: Improve DOM's ability to derive equivalences when traversing edges

2017-08-29 Thread Jeff Law
On 08/29/2017 03:13 AM, Christophe Lyon wrote: > Hi Jeff, > > > On 29 August 2017 at 07:07, Jeff Law wrote: >> This is a two part patchkit to improve DOM's ability to derive constant >> equivalences that arise as a result of traversing a particular edge in >> the CFG. >> >>

Re: [PATCH][RFC] Make expansion of balanced binary trees of switches on tree level.

2017-08-29 Thread Martin Liška
On 08/29/2017 01:42 PM, Richard Biener wrote: > On Thu, Aug 24, 2017 at 5:35 PM, Martin Liška wrote: >> On 08/18/2017 12:25 PM, Martin Liška wrote: >>> On 08/18/2017 11:30 AM, Richard Biener wrote: On Tue, Aug 15, 2017 at 2:37 PM, Martin Liška wrote: > On

Re: [PATCH] [MSP430] Read mcu data from file instead of hardcoded data

2017-08-29 Thread Nick Clifton
Hi Jozef, > If the file is found then it is parsed, and the device passed to the > mmcu option is searched for. If the file or device aren't found, then > GCC uses the old hard-coded data instead. Whilst testing this patch with -mlarge enabled on the command line, I encountered this (new)

Re: [PATCH v3] Fix PR81503 (SLSR invalid fold)

2017-08-29 Thread Bill Schmidt
> On Aug 29, 2017, at 4:24 AM, Richard Biener > wrote: > > On Mon, Aug 28, 2017 at 10:16 PM, Bill Schmidt > wrote: >>> On Aug 28, 2017, at 7:37 AM, Richard Biener >>> wrote: >>> >>> Not sure, but would it

Re: [PATCH] [MSP430] [PR80993] Prevent lto removing interrupt handlers

2017-08-29 Thread Richard Biener
On Tue, Aug 29, 2017 at 3:23 PM, Nick Clifton wrote: > Hi Jozef, > >> As reported in PR80993, enabling lto causes interrupt handlers to be >> removed. This patch marks interrupt handlers as used, preventing them >> from being optimized out. >> >> If the attached patch is

Re: [PATCH], PR target/82015, add PowerPC warning for unpack_vector_int128 with illegal 2nd argument

2017-08-29 Thread Segher Boessenkool
Hi! On Mon, Aug 28, 2017 at 11:41:47PM -0400, Michael Meissner wrote: > One of the local programmers tried to use the __builtin_unpack_vector_int128 > function, but his second argument was not the constant 0 or 1. The compiler > put the 2nd argument into a register, but there wasn't a valid insn

Re: [PATCH] [MSP430] [PR80993] Prevent lto removing interrupt handlers

2017-08-29 Thread Nick Clifton
Hi Jozef, > As reported in PR80993, enabling lto causes interrupt handlers to be > removed. This patch marks interrupt handlers as used, preventing them > from being optimized out. > > If the attached patch is acceptable, I would appreciate if someone could > commit it for me, as I do not have

Re: [PATCH, rs6000] Stop non-volatile CR usage from killing shrink-wrap

2017-08-29 Thread Segher Boessenkool
Hi Pat, On Mon, Aug 28, 2017 at 04:34:16PM -0500, Pat Haugen wrote: > The following patch allows shrink-wrapping to succeed in the presence of > non-volatile CR save/restore. The movesi_from_cr define_insn used to > list all CRs as used, even though it's only the non-volatile values that > we are

Re: [PATCH] Fix PR82011, early LTO debug fallout

2017-08-29 Thread Richard Biener
On Tue, 29 Aug 2017, Richard Biener wrote: > > The following avoids adding DW_AT_inline attributes twice on which > dsymutil complains. The duplicate attribute is caused by stray > code I left in (I guess I hoped nothing ends up DECL_ABSTRACT_P ...). > Thus the following patch removes it --

Re: [PATCH] Factor out division by squares and remove division around comparisons (1/2)

2017-08-29 Thread Richard Biener
On Tue, Aug 29, 2017 at 1:35 PM, Jackson Woodruff wrote: > Hi all, > > Apologies again to those CC'ed, who (again) received this twice. > > Joseph: Yes you are correct. I misread the original thread, now fixed. > > Richard: I've moved the optimizations out of

Re: [PATCH, rs6000] Fix PR81833 (incorrect code gen for vec_msum)

2017-08-29 Thread Segher Boessenkool
Hi Bill, On Mon, Aug 28, 2017 at 03:56:21PM -0500, Bill Schmidt wrote: > PR81833 identifies a problem with the little-endian vector multiply-sum > instructions. The original implementation is quite poor (and I am allowed > to say that, since it was mine). This patch fixes the code properly. >

Re: [PATCH][RFC] Make expansion of balanced binary trees of switches on tree level.

2017-08-29 Thread Richard Biener
On Thu, Aug 24, 2017 at 5:35 PM, Martin Liška wrote: > On 08/18/2017 12:25 PM, Martin Liška wrote: >> On 08/18/2017 11:30 AM, Richard Biener wrote: >>> On Tue, Aug 15, 2017 at 2:37 PM, Martin Liška wrote: On 08/14/2017 10:32 AM, Richard Biener wrote: >

Re: [testsuite, i386] Require -static support in gcc.dg/pie-static-[12].c (PR testsuite/81793)

2017-08-29 Thread Iain Sandoe
> On 29 Aug 2017, at 09:56, Rainer Orth wrote: >>> All this begs the question why on earth would darwin.h (STARTFILE_SPEC) >>> accept -static and try to link libcrt0.o it the latter doesn't exist. >>> >>> However, I've just found that the bundled clang on Darwin

Re: [PATCH] Factor out division by squares and remove division around comparisons (1/2)

2017-08-29 Thread Jackson Woodruff
Hi all, Apologies again to those CC'ed, who (again) received this twice. Joseph: Yes you are correct. I misread the original thread, now fixed. Richard: I've moved the optimizations out of fold-const.c. One has been replicated in match.pd, and the other (x / C +- y / C -> (x +- y) / C) I've

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-08-29 Thread James Greenhalgh
On Tue, Jun 27, 2017 at 11:20:02AM +1000, Kugan Vivekanandarajah wrote: > https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00614.html added this > workaround to get kernel building with when TARGET_FIX_ERR_A53_843419 > is enabled. > > This was added to support building kernel loadable modules. In

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-29 Thread Szabolcs Nagy
On 28/08/17 19:25, Steve Ellcey wrote: > On Fri, 2017-08-25 at 15:37 +0100, Szabolcs Nagy wrote: > >> the use of ifunc in gcc target libraries was a mistake >> in my opinion, there are several known bugs in the ifunc >> design and uclibc/musl/bionic don't plan to support it. >> but at this point

Re: [PATCH], Fix PR 81959 (power9 IEEE 128-bit float convert from 32-bit memory)

2017-08-29 Thread Segher Boessenkool
Hi Mike, On Mon, Aug 28, 2017 at 02:50:02PM -0400, Michael Meissner wrote: > When I added the optimization for loading 32-bit values directly into the > vector registers from memory to convert to IEEE 128-bit floating point, I > forgot to make sure the address did not have PRE_INCREMENT, etc.

[PATCH] Fix PR82011, early LTO debug fallout

2017-08-29 Thread Richard Biener
The following avoids adding DW_AT_inline attributes twice on which dsymutil complains. The duplicate attribute is caused by stray code I left in (I guess I hoped nothing ends up DECL_ABSTRACT_P ...). Thus the following patch removes it -- DW_AT_inline is solely set by dwarf2out_abstract_function

Re: [PING #2] [PATCH] enhance -Wrestrict to handle string built-ins (PR 78918)

2017-08-29 Thread Richard Biener
On Tue, Aug 29, 2017 at 2:20 AM, Martin Sebor wrote: > On 08/22/2017 02:45 AM, Richard Biener wrote: >> >> On Mon, Aug 21, 2017 at 10:10 PM, Martin Sebor wrote: >>> >>> On 08/09/2017 10:14 AM, Jeff Law wrote: On 08/06/2017 05:08 PM, Martin Sebor

RE: [PATCH][GCC][PATCHv3] Improve fpclassify w.r.t IEEE like numbers in GIMPLE.

2017-08-29 Thread Tamar Christina
> -Original Message- > From: Richard Biener [mailto:rguent...@suse.de] > Sent: 24 August 2017 10:16 > To: Tamar Christina > Cc: Joseph Myers; Christophe Lyon; Markus Trippelsdorf; Jeff Law; GCC > Patches; Wilco Dijkstra; Michael Meissner; nd > Subject: RE: [PATCH][GCC][PATCHv3] Improve

[C++ Patch] PR 70621 ("[6/7/8 Regression] ICE on invalid code at -O1 and above on x86_64-linux-gnu in record_reference, at cgraphbuild.c:64")

2017-08-29 Thread Paolo Carlini
Hi, in this error recovery regression, we ICE only when optimizing, while building the cgraph. Avoiding the reported problem seems easy, just check the return value of duplicate_decls in start_decl and immediately return back error_mark_node. However, while working on the issue, I noticed

Re: [PATCH v3] Fix PR81503 (SLSR invalid fold)

2017-08-29 Thread Richard Biener
On Mon, Aug 28, 2017 at 10:16 PM, Bill Schmidt wrote: >> On Aug 28, 2017, at 7:37 AM, Richard Biener >> wrote: >> >> Not sure, but would it be fixed in a similar way when writing > >> ? > > Thanks, Richard, that works very well. I

Re: [C++ PATCH] Kill CLASSTYPE_SORTED_FIELDS

2017-08-29 Thread Richard Biener
On Mon, Aug 28, 2017 at 9:08 PM, Nathan Sidwell wrote: > Some quick tests show that memory use increased by 1.5% Compilation time > reduced by 1% to 3% > > Your comment on IRC about not needing a identifier->decl map, just a decl > hash, because the decl already has the

Re: Improve DOM's ability to derive equivalences when traversing edges

2017-08-29 Thread Christophe Lyon
Hi Jeff, On 29 August 2017 at 07:07, Jeff Law wrote: > This is a two part patchkit to improve DOM's ability to derive constant > equivalences that arise as a result of traversing a particular edge in > the CFG. > > Until now we only allowed a single NAME = NAME|CONST

Re: [testsuite, i386] Require -static support in gcc.dg/pie-static-[12].c (PR testsuite/81793)

2017-08-29 Thread Rainer Orth
Hi Iain, >> All this begs the question why on earth would darwin.h (STARTFILE_SPEC) >> accept -static and try to link libcrt0.o it the latter doesn't exist. >> >> However, I've just found that the bundled clang on Darwin 11 does the >> same (and fails in the same way: "ld: library not found for

Re: [PATCH][compare-elim] Merge zero-comparisons with normal ops

2017-08-29 Thread Kyrill Tkachov
Hi Jeff, Some comments since I wrote this patch some time ago... On 28/08/17 19:26, Jeff Law wrote: On 08/10/2017 03:14 PM, Michael Collison wrote: Hi all, One issue that we keep encountering on aarch64 is GCC not making good use of the flag-setting arithmetic instructions like ADDS, SUBS,

Re: [PATCH][RFC] Patch candidate for other/39851

2017-08-29 Thread Martin Liška
On 08/28/2017 05:59 PM, Joseph Myers wrote: > On Tue, 8 Aug 2017, Martin Liška wrote: > >> Hi. >> >> As mentioned in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39851#c0 we need >> to call targetm.target_option.override () in order to properly report which >> ISA options are enabled for a

Re: [PATCH] Fix PR81921

2017-08-29 Thread Richard Biener
On Mon, 28 Aug 2017, Joseph Myers wrote: > On Mon, 28 Aug 2017, Joseph Myers wrote: > > > On Sat, 26 Aug 2017, Richard Biener wrote: > > > > > On August 26, 2017 12:51:57 AM GMT+02:00, Joseph Myers > > > wrote: > > > >I'm seeing a build failure for s390x-linux-gnu

[PING] [PATCH, 3/3] Handle GOMP_NVPTX_JIT={-O[0-4],-ori,-arch=} in libgomp nvptx plugin

2017-08-29 Thread Tom de Vries
On 07/04/2017 12:23 PM, Tom de Vries wrote: On 07/04/2017 12:05 PM, Tom de Vries wrote: On 07/03/2017 04:24 PM, Tom de Vries wrote: On 07/03/2017 04:08 PM, Thomas Schwinge wrote: Hi! On Mon, 26 Jun 2017 17:29:11 +0200, Jakub Jelinek wrote: On Mon, Jun 26, 2017 at