On 08/28/2017 08:26 PM, Tom de Vries wrote:
Hi,
I think I found a bug in r17465:
...
* cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
simplifications.
diff --git a/gcc/cse.c b/gcc/cse.c
index e001597..3c27387 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -4713,6 +4713,1
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 TARGET_FIX_ERR_A53_843419
>> is enabled.
>
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.
> S
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 TC.
> * quadmth.h (__com
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 unify_success
> instead of unify_invalid.
>
> testsu
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: New.
diff --git a/gcc/cp/pt.c
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 tha
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 (revisi
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
==
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 m
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 mo
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
proc
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
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 (revis
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
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 app
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 inst
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 t
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
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.
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 po
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 conversio
> 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 language
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 (revis
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 spec
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
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 co
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 will
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 parse
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 that
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 bei
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.
* gcc.target/i386/pr39431.c: Ditto.
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 opts->x_flag_entry.
Bootstr
> 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
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 i
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 them into the interrupt table f
ething 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-diale
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.
>>
>>>
>>> This does make me want to
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 decision though.
>> Using opt_mode for
g 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 -marm
-march=armv7ve -auxbase j -O2 -ver
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 leads to things lik
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:
+ * simple-obje
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
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 opt_mode .
>> Other possi
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.
>>
>> Until now we only all
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 08/14/2017 10:32 AM, Richard Bie
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) failure
> 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 be fixed in a similar way when writing
>>
>>> ?
>>
>> Thanks, Richard, that works ve
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 acceptable, I would apprec
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
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 wr
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
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 -- DW_A
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 fold-const.c. One has been
> replicate
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.
>
>
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:
> Hmm, but the existing "lowering" pa
> 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 11 does the
>>> same (and fails i
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 d
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 ke
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 i
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. addr
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
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 wrote:
>>
>> Well, simp
> -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 fp
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 som
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 decided this was a good opportunity
> to also
> simplify the c
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 identifier is a good one.
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 equivalence to be
> associat
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 -
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, AN
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 -march/
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 that looks like it could
> >
72 matches
Mail list logo