Hi!
When backporting patches to 5.x, I've noticed a typo that causes us to
diagnose something that shouldn't be diagnosed.
Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk
and 7.2, queued for 6.x.
2017-06-02 Jakub Jelinek
PR fortran/80918
* openmp.c (
Hi!
As has been mentioned earlier, when the doloop code uses the expander after
expansion, we need to unshare stuff because the expander relies on unsharing
being done after it.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2017-06-02 Jakub Jelinek
PR rtl-optim
On Fri, 2 Jun 2017, Jakub Jelinek wrote:
> Hi!
>
> As has been mentioned earlier, when the doloop code uses the expander after
> expansion, we need to unshare stuff because the expander relies on unsharing
> being done after it.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for t
Hi,
this small addition improves costs of PARALLELs in
rtlanal.c:seq_cost(). Up to now, these costs are
assumed to be 1 which gives gross inexact costs for,
e.g. divmod which is represented as PARALLEL.
The patch just forwards cost computation to insn_rtx_cost
which uses the cost of the 1st SET
Hi,
I have opened this bug https://bugs.launchpad.net/gcc-arm-embedded/+bug/1694644
as per the findings I had. I noticed inexplicable hang in
gcov_exit/__gcov_flush while trying to do code coverage for an embedded
project. The bug mentioned here has all the description, and how I managed to
de
> Could you make the expander handle it, instead? It's as simple as (after
> the double-reg thing) add "if operands[1] is reg 0, force_reg operands[2]".
> I'll do it if you prefer.
Probably, because I'm not sure how this can work, as you cannot create new
pseudos here.
> [ the patch is broken h
Hi,
a while ago Manuel noticed that printing 'typename' in error messages
about missing 'typename' can be confusing. That seems easy to fix, in
fact we already handle correctly a similar situation in grokdeclarator.
Tested x86_64-linux.
Thanks, Paolo.
//
/cp
2017-06-02 Pa
Hi,
libstdc++-v3 already contains support but doesn't build for Android. Now GDB
has switched to C++, which means that you need a C++ cross-build for GDBserver
in order to debug a program on the target.
Tested on x86_64-suse-linux and arm-linux-androideab, OK for mainline?
2017-06-02 Eric B
On 31 May 17:28, Uros Bizjak wrote:
> On Wed, May 31, 2017 at 12:33 PM, Senkevich, Andrew
> wrote:
> > Hi,
> >
> > attached patches are for renaming __builtin_ia32_kmov16 to
> > __builtin_ia32_kmovw in GCC 5.* and 6.* branches since it was renamed in
> > master.
> > Bootstrapped and regtested on
I made a mistake when converting the vector of stmts to move (which are
in nice order) to a bitmap when prettyfying a prototype of the PR66313
patch. The following resurrects that vector to not mess up stmt order
when moving them.
Bootstrap and regtest running on x86_64-unknown-linux-gnu.
Richa
This removes the second parameter of expand_builtin_alloca I added a while
back, since it can always be inferred from the first parameter in practice.
Tested on x86_64-suse-linux, applied on mainline as obvious.
2017-06-02 Eric Botcazou
* builtins. (expand_builtin_alloca): Remove se
First some refactoring, inlining get_initial_def_for_induction
into vectorizable_induction and remove obviously dead code.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2017-06-02 Richard Biener
* tree-vect-loop.c (get_initial_def_for_induction): Inline into
When doing SLP reduction a needlessy marked IV update causes hybrid
SLP and thus pointless unrolling to happen. The following avoids
vectorizing the IV update when not otherwise necessary. Currently
we're creating a dead vector stmt for all inductions that are vectorized.
Bootstrapped and teste
On 02/06/17 10:37 +0200, Eric Botcazou wrote:
Hi,
libstdc++-v3 already contains support but doesn't build for Android. Now GDB
has switched to C++, which means that you need a C++ cross-build for GDBserver
in order to debug a program on the target.
Tested on x86_64-suse-linux and arm-linux-and
On 01/06/17 22:49 +0200, François Dumont wrote:
On 01/06/2017 15:34, Jonathan Wakely wrote:
On 31/05/17 22:28 +0200, François Dumont wrote:
Unless I made a mistake it revealed that restoring explicit call
to _Bit_alloc_type() in default constructor was not enough. G++
doesn't transform it into
Ping.
Thanks,
Kyrill
On 08/05/17 12:00, Kyrill Tkachov wrote:
Ping.
Thanks,
Kyrill
On 24/04/17 10:38, Kyrill Tkachov wrote:
Pinging this back into context so that I don't forget about it...
https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00376.html
Thanks,
Kyrill
On 08/03/17 16:35, Kyrill T
Ping.
Thanks,
Kyrill
On 11/05/17 11:14, Kyrill Tkachov wrote:
Ping.
https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00931.html
Thanks,
Kyrill
On 21/04/17 09:20, Kyrill Tkachov wrote:
Hi all,
A pattern that sometimes occurs in the wild is to subtract two operands and
separately
compare them.
Ping.
Thanks,
Kyrill
On 11/05/17 11:14, Kyrill Tkachov wrote:
Ping.
https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00932.html
Thanks,
Kyrill
On 21/04/17 09:20, Kyrill Tkachov wrote:
Hi all,
Our sub3_compare1 pattern is not enough to catch cases where we subtract
an immediate
and compare ag
Ping.
Thanks,
Kyrill
On 11/05/17 11:15, Kyrill Tkachov wrote:
Ping.
https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00934.html
Thanks,
Kyrill
On 21/04/17 09:39, Kyrill Tkachov wrote:
Hi all,
Consider the code:
typedef long long v2di __attribute__ ((vector_size (16)));
void
store_laned (v2di
Ping.
Thanks,
Kyrill
On 11/05/17 11:15, Kyrill Tkachov wrote:
Ping.
https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00933.html
Thanks,
Kyrill
On 21/04/17 09:34, Kyrill Tkachov wrote:
Hi all,
For the testcase in the patch we currently miss a combination and generate:
foo:
dup h1,
On Wed, May 31, 2017 at 4:13 PM, Martin Liška wrote:
> On 05/31/2017 03:31 PM, Richard Biener wrote:
>> On Wed, May 31, 2017 at 2:28 PM, Martin Liška wrote:
>>> On 05/31/2017 02:04 PM, Richard Biener wrote:
On Wed, May 31, 2017 at 1:51 PM, Jakub Jelinek wrote:
> On Wed, May 31, 2017 at
On Thu, Jun 1, 2017 at 10:52 PM, Martin Sebor wrote:
> While testing some otherwise unrelated enhancements in these areas
> I noticed that calls to bzero and bcopy are not being handled as
> efficiently as equivalent calls to memset and memcpy. Specifically,
> redundant calls are not eliminated
We currently chain namespace decls on a special chain in a binding
level. This patch drops that field and chains namespaces on the regular
names list.
There are 3 places we walk child namespaces.
1) spelling correction. Ironically this is the one search where the old
IDENTIFIER_GLOBAL_VALUES
This patch tackles the issue reported in PR71607. This patch takes a different
approach for disabling the creation of literal pools. Instead of disabling the
patterns that would normally transform the rtl into actual literal pools, it
disables the creation of this literal pool rtl by making the tar
On 06/01/2017 03:24 PM, Bernd Edlinger wrote:
This is a gcc option that converts relative
path names to absolute ones, so that gcov can
properly merge the line numbers in projects
where different relative path names may refer
to the same source file.
Thanks. From reading the patch though, I d
hi,
I have opened this bug https://bugs.launchpad.net/gcc-arm-embedded/+bug/1694644 as per the findings I had.
This is Canonical's bug tracker and you seem to be reporting a defect
with their build of gcc. If that is the case, you should be talking
with Canonical.
The gcc bug tracker is h
Jakub pointed out that the libsupc++/Makefile has targets with
explicit -std=gnu++11 options, which date from before the default
changed to -std=gnu++14. We no longer need to override the default to
be able to compile the C++11 components. This removes those makefile
targets, as well using pragmas
Hi,
This is the first patch in the series improving tree loop distribution. It
factors out an
interface checking if runtime alias check is possible in order to resolve data
dependence.
This interface is used in both vectorizer and loop distribution to filter out
data dependence
inappropriate fo
Hi,
This patch moves pass ivcanon before loop distribution. Pass loop split could
create
loops with limited niters. Such loop should be unrolled before loop
distribution (or graphite),
rather than after.
Bootstrap and test at O2/O3 on x86_64 and AArch64. is it OK?
Thanks,
bin
2017-05-31 Bin
Hi,
This patch extends graph data structure in two ways:
1) Passes private data to callback function of for_each_edge.
2) Adds new callback function to graph traversing functions like graphds_scc
and graphds_dfs.
The callback function acts as a supplement constraint for edges on top of
Hi,
This is the main patch of the change. It improves loop distribution by
versioning loop under
runtime alias check conditions, as well as better partition fusion. As
described in comments,
the patch basically implements distribution in the following steps:
1) Seed partitions with specif
Hi,
This patch enables -ftree-loop-distribution by default at -O3 and above
optimization levels.
Bootstrap and test at O2/O3 on x86_64 and AArch64. is it OK?
Note I don't have strong opinion here and am fine with either it's accepted or
rejected.
Thanks,
bin
2017-05-31 Bin Cheng
*
As the PR points out, we aren't qualifying calls to __ref_cast, and
have 'constexpr' on function templates that can never be usable in
constant expressions.
This fixes it, and also simplifies __variant::__erased_dtor by using
std::_Destroy, although that requires including quite a lot more code,
This matches up the two different implementations.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2017-06-02 Richard Biener
* tree-vect-slp.c (vect_detect_hybrid_slp_2): Match up
what we consider a relevant use stmt with vect_detect_hybrid_slp_stmts.
This implements vectorization of SLP inductions (in the not outer loop
vectorization case for now).
Bootstrapped and tested on x86_64-unknown-linux-gnu.
More testing is appreciated, I'm throwing it at SPEC2k6 now.
Richard.
2017-06-02 Richard Biener
PR tree-optimization/80928
In figuring out how to stream out lang_type on the modules branch, I
noticed that we had an unused TYPE_LANG_SLOT_1 that we could use for
pointers to member functions. That means lang_type_ptrmem isn't needed
and consequently neither is is_lang_type_class field.
This patch nukes that bit of p
On Fri, Apr 21, 2017 at 09:39:29AM +0100, Kyrill Tkachov wrote:
> Hi all,
>
> Consider the code:
> typedef long long v2di __attribute__ ((vector_size (16)));
> void
> store_laned (v2di x, long long *y)
> {
> y[0] = x[1];
> y[3] = x[0];
> }
>
> AArch64 GCC will generate:
> store_laned:
>
On Fri, Apr 21, 2017 at 09:34:20AM +0100, Kyrill Tkachov wrote:
> Hi all,
>
> For the testcase in the patch we currently miss a combination and generate:
> foo:
> dup h1, v1.h[2]
> ins v0.h[3], v1.h[0]
> ret
>
> bar:
> dup h1, v1.h[2]
> ins
On Fri, Apr 21, 2017 at 09:20:55AM +0100, Kyrill Tkachov wrote:
> Hi all,
>
> Our sub3_compare1 pattern is not enough to catch cases where we
> subtract an immediate and compare against in PARALLEL. This is due to the RTL
> canonicalisation rules that require subtractions of immediate IMM be
> rep
On Fri, Apr 21, 2017 at 09:20:52AM +0100, Kyrill Tkachov wrote:
> Hi all,
>
> A pattern that sometimes occurs in the wild is to subtract two operands and
> separately compare them. This can be implemented as a single SUBS instruction
> and we actually have a define_insn for this: sub3_compare1. H
Hi Toma,
Thanks for fixing this! Do you have plan to backport the fix to gcc-6 branch?
Regards,
Renlin
On 09/03/17 15:08, Toma Tabacu wrote:
Ok for mainline with that fixed.
Thanks.
Rainer
Committed as r246004.
Thanks,
Toma
On Wed, Mar 08, 2017 at 04:35:38PM +, Kyrill Tkachov wrote:
> Hi all,
>
> For the testcase in this patch where the value of x is zero we currently
> generate:
> foo:
> mov w1, 4
> .L2:
> ldaxr w2, [x0]
> cmp w2, 0
> bne .L3
> stxrw3, w1
On Thu, Jun 01, 2017 at 03:43:22PM -0500, Segher Boessenkool wrote:
> Hi Mike,
>
> On Wed, May 31, 2017 at 06:33:37PM -0400, Michael Meissner wrote:
> > +/* On PowerPC, we have a limited number of target clones that we care about
> > + which means we can use an array to hold the options, rather
Hi,
I have recently updated the dejagnu version I use for
cross-testing arm and aarch64 toolchains to 1.6+. One of the side
effects was mentioned by Jonathan in
https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01267.html. Since I
use multilibs to test many configurations, I noticed several
changes in
On 06/01/2017 06:38 PM, Eric Gallager wrote:
I tested this patch; it fixes the warnings that caused me to open the
bug in the first place. Thank you!
Thanks for validating it. I'll go ahead and commit the fix
as obvious if there are no objections in the next few hours.
Martin
Eric
On 5/3
On 06/02/17 13:35, Nathan Sidwell wrote:
> On 06/01/2017 03:24 PM, Bernd Edlinger wrote:
>
>> This is a gcc option that converts relative
>> path names to absolute ones, so that gcov can
>> properly merge the line numbers in projects
>> where different relative path names may refer
>> to the same
VxWorks has had support for dwarf unwinding for many years now. This patch
adjusts our configuration accordingly.
2017-06-02 Olivier Hainque
* config/vx-common.h (DWARF_UNWIND_INFO): Switch #define to 1.
vx-unwind.diff
Description: Binary data
> On Jun 2, 2017, at 16:43 , Olivier Hainque wrote:
>
> VxWorks has had support for dwarf unwinding for many years now. This patch
> adjusts our configuration accordingly.
A few extra details:
I noticed this while trying to build an Ada runtime for VxWorks from the
current mainline.
A few sou
On 02/06/17 15:29 +0100, James Greenhalgh wrote:
Hi Michael,
I think the correct list for this patch would be libstd...@gcc.gnu.org
(I'm sure someone there will correct me if I'm wrong).
Thanks, James, that's right. All libstdc++ patches should go to both
gcc-patches and this list.
I'm inte
On Thu, Mar 16, 2017 at 11:26:27AM +, Sudi Das wrote:
> Hi all
>
> The backend pattern for combining a CMP+SHIFT was missing out on a case when
> comparing with zero. This was happening because aarch64_select_cc_mode
> (SELECT_CC_MODE) was not returning the correct mode (in this case CC_SWP)
Hi Martin,
After r247444, I saw the following two regressions in arm-linux-gnueabihf
environment:
FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-18.c (test for warnings, line 119)
PASS: gcc.dg/tree-ssa/builtin-sprintf-warn-18.c (test for warnings, line 121)
FAIL: gcc.dg/tree-ssa/builtin-sprintf-w
Hello,
These are needed and used when building standalone Ada Downloadble Kernel
Modules for VxWorks.
They are referenced by the current Makefiles, so the Ada runtime builds for
VxWorks just fail without them currently.
Tested by verifying that an Ada runtime build for powerpc-wrs-vxworks
procee
Hello,
Something we noticed through sporadic runtime mishaps on powerpc-vxworks.
__gthread_once returns int and the VxWorks implementation has a dangling lone
"return;" for a subcase.
This patch adds the missing return value, based on what is returned for a
similar state elsewhere. Committing as
On Fri, Jun 02, 2017 at 10:27:33AM +0200, Eric Botcazou wrote:
> > Could you make the expander handle it, instead? It's as simple as (after
> > the double-reg thing) add "if operands[1] is reg 0, force_reg operands[2]".
> > I'll do it if you prefer.
>
> Probably, because I'm not sure how this can
On Thu, Jun 01, 2017 at 02:08:21PM -0400, David Malcolm wrote:
> On Thu, 2017-06-01 at 18:45 +0200, Marek Polacek wrote:
> > A motivating example for this warning can be found e.g. in
> >
> > PRE10-C. Wrap multistatement macros in a do-while loop
> > https://www.securecoding.cert.org/confluenc
On Thu, Jun 01, 2017 at 10:13:01PM +, Joseph Myers wrote:
> On Thu, 1 Jun 2017, David Malcolm wrote:
>
> > The patch appears to only consider "if" and "else" clauses. Shouldn't
> > it also cover "for", "while" and "do/while"?
>
> do/while would normally get a syntax error in the problem case
On Thu, Jun 01, 2017 at 04:17:24PM -0600, Martin Sebor wrote:
> Very nice. I think David already suggested handling other statements
> besides if (do/while), so let me just add for and switch (as in:
> 'switch (1) case SWAP (i, j);')
How's that one problematic, though?
> The location in the warn
Hi!
On Fri, Jun 02, 2017 at 10:16:27AM -0400, Michael Meissner wrote:
> > With "you don't have to give the enum a name" I meant write it as
> >
> > enum {
> > CLONE_DEFAULT = 0,
> > CLONE_ISA_2_05,
> > [...]
> > CLONE_MASK
> > };
> >
> > If you do "const int", I think it should be "static
Hi Martin,
I noticed the following failures after your change r248431.
FAIL: c-c++-common/Wfloat-conversion.c -Wc++-compat (test for warnings, line
42)
FAIL: c-c++-common/Wfloat-conversion.c -Wc++-compat (test for warnings, line
43)
It happens on arm target which is not a large_long_doub
r248336 added these lines to free_growth_caches
if (edge_removal_hook_holder)
symtab->remove_edge_removal_hook (edge_removal_hook_holder);
which broke the JIT; attempts to compile more than one time
within a single process segfault here:
305 symbol_table::remove_edge_removal_hook (cgra
In the C FE, zero-length arrays require structural equality, so we can't
compare their canonical types, 'cause they're NULL. But matching_type_p didn't
know that so we were crashing. With this patch the ICE is gone and the warning
messages are the same as with e.g. "int a[1]".
Bootstrapped/regte
On Fri, Jun 02, 2017 at 11:55:57AM -0500, Segher Boessenkool wrote:
> Hi!
>
> On Fri, Jun 02, 2017 at 10:16:27AM -0400, Michael Meissner wrote:
> > > With "you don't have to give the enum a name" I meant write it as
> > >
> > > enum {
> > > CLONE_DEFAULT = 0,
> > > CLONE_ISA_2_05,
> > > [...]
On Fri, Jun 02, 2017 at 01:39:34PM -0400, Michael Meissner wrote:
> > The patch is okay for trunk, but please test on AIX.
>
> You mentioned in private IRC that you would do the run on AIX, did you want me
> to wait until it is finished?
Yes please.
Segher
On 05/05/17 18:05 +0100, Jonathan Wakely wrote:
As discussed at http://stackoverflow.com/q/43769773/981959 (and kinda
hinted at by http://wg21.link/lwg1200) there's a problem with
char_traits::eof() because it returns int_type(-1) which is
the same value as u'\u', a valid UTF-16 code point.
On Fri, Jun 2, 2017 at 6:07 AM, Jonathan Wakely wrote:
> As the PR points out, we aren't qualifying calls to __ref_cast, and
> have 'constexpr' on function templates that can never be usable in
> constant expressions.
Apology for the constexpr trolling, but that was not intentional. :)
I'm curiou
On Fri, Jun 2, 2017 at 3:19 PM, Tim Shen wrote:
> On Fri, Jun 2, 2017 at 6:07 AM, Jonathan Wakely wrote:
>> As the PR points out, we aren't qualifying calls to __ref_cast, and
>> have 'constexpr' on function templates that can never be usable in
>> constant expressions.
>
> Apology for the constex
On Fri, 2 Jun 2017, Marek Polacek wrote:
> In the C FE, zero-length arrays require structural equality, so we can't
> compare their canonical types, 'cause they're NULL. But matching_type_p
> didn't
> know that so we were crashing. With this patch the ICE is gone and the
> warning
> messages a
On 05/31/2017 05:34 PM, Jason Merrill wrote:
On 05/27/2017 06:44 PM, Martin Sebor wrote:
+ /* True if the class is trivial and has a trivial non-deleted copy
+ assignment, copy ctor, and default ctor, respectively. The last
+ one isn't used to issue warnings but only to decide what sui
On 06/02/2017 10:52 AM, Marek Polacek wrote:
On Thu, Jun 01, 2017 at 04:17:24PM -0600, Martin Sebor wrote:
Very nice. I think David already suggested handling other statements
besides if (do/while), so let me just add for and switch (as in:
'switch (1) case SWAP (i, j);')
How's that one probl
On Fri, Jun 02, 2017 at 03:22:27PM +0200, Richard Biener wrote:
>
> This implements vectorization of SLP inductions (in the not outer loop
> vectorization case for now).
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu.
>
> More testing is appreciated, I'm throwing it at SPEC2k6 now.
I w
cc: Matthew.
ping.
On Thu, Jun 1, 2017 at 3:35 PM, Paul Hua wrote:
> Hi,
>
> There are duplicate testcase in gcc.target/mips dir.
>
> div-5.c same as div-9.c.
> div-6.c same as div-10.c.
> div-7.c same as div-11.c.
> div-8.c same as div-12.c.
>
> Is this deliberate?
>
> Otherwise, the attached p
I have committed the patch in r248852.
Martin
On 06/02/2017 08:33 AM, Martin Sebor wrote:
On 06/01/2017 06:38 PM, Eric Gallager wrote:
I tested this patch; it fixes the warnings that caused me to open the
bug in the first place. Thank you!
Thanks for validating it. I'll go ahead and commit
72 matches
Mail list logo