Hi,
The instruction "vec_pack_trunc_" should be split after register
allocator for scheduling reasons. Currently the instruction is marked as type
multiple which means it will scheduled as single issued. However, nothing can
be scheduled with either xtn/xtn2 which is a problem in some cases.
The
Hi Wilco,
>> You should only return true if there is a match, not if there is
>> not a match.
Done.
Bootstrapped and Regression tested on AArch64 and X86_64.
Please review the patch and let us know if its okay?
Thanks,
Naveen
diff --git a/gcc/config/aarch64/aarch64-fusion-pairs.d
Hi Wilco,
>> I suggest you check the logic and follow the existing patterns in
>> aarch_macro_fusion_pair_p.
Done.
Bootstrapped and Regression tested on AArch64 and X86_64.
Please review the patch and let us know if its okay?
Thanks,
Naveen
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/c
On 4/20/17 8:26 AM, Peter Bergner wrote:
> On 4/20/17 2:37 AM, Richard Biener wrote:
>> Ok, so I think we should ensure that we remove the regular cases
>> with unreachable destination, like in
>>
>> switch (i)
>> {
>> case 0:
>> __builtin_unreachable ();
>> default:;
>> }
>>
>> and handle defaul
On Wed, Apr 26, 2017 at 3:02 PM, Jonathan Wakely wrote:
> This ensures we notice if a number in a mangled name overflows an int.
> The check in consume_count can be optimized away, and there was no
> check in d_number.
>
> It also adds a check that the next character after __thunk_ is
> an undersc
On Wed, Apr 26, 2017 at 10:26:56PM +, Joseph Myers wrote:
> On Wed, 26 Apr 2017, Martin Sebor wrote:
>
> > Testing my solution for bug 77671 (missing -Wformat-overflow
> > sprintf with "%s") caused a regression in the charset/builtin2.c
> > test for bug 25120 (builtin *printf handlers are conf
On Wed, 26 Apr 2017, Martin Sebor wrote:
> Testing my solution for bug 77671 (missing -Wformat-overflow
> sprintf with "%s") caused a regression in the charset/builtin2.c
> test for bug 25120 (builtin *printf handlers are confused by
> -fexec-charset). That led me to realize that like -Wformat
>
On 26/04/17 15:29, Jakub Jelinek wrote:
> Hi!
>
> As discussed on IRC, apparently the -Wpsabi warning is not appropriate
> for aarch64, only for ARM, because only ARM had the almost like new AAPCS,
> except for static data members and typedefs (and sometimes
> self-inconsistent) ABI, while on AArc
This ensures we notice if a number in a mangled name overflows an int.
The check in consume_count can be optimized away, and there was no
check in d_number.
It also adds a check that the next character after __thunk_ is
an underscore, rather than just skipping over it.
OK for trunk?
PR
Testing my solution for bug 77671 (missing -Wformat-overflow
sprintf with "%s") caused a regression in the charset/builtin2.c
test for bug 25120 (builtin *printf handlers are confused by
-fexec-charset). That led me to realize that like -Wformat
itself, the whole gimple-ssa-sprintf pass is oblivi
> If there are no further comments I plan to install this after 7.1
> is released. I consider the Ada FE change obvious.
For the record: yes, it is, since the whole patch is a no-op for Ada.
--
Eric Botcazou
This patches updates the c and c++ FEs to report consistent error
messages for invalid reductions involving array elements, struct
members, and class members. Most of those variables were already
rejected by the generic OpenMP code, but this patch makes the error
messages more precise for OpenACC.
When I added is_always_equal the test allocators in these testcases
started inheriting it from their std::allocator base classes, so we
weren't testing that the exception specifications depended on the
propagate_on_container_move_assignment trait (they could have been
noexcept because of the inher
On Wed, 2017-04-26 at 20:52 +0200, Richard Biener wrote:
>
> I'll throw it on x86 testing and will commit it. What branches are
> affected? Can you open a bugreport?
>
> I'll try to add a runtime testcase as well if you don't beat me to
> that. On x86 it likely requires -fschedule-insns to tri
On April 26, 2017 8:03:44 PM GMT+02:00, Steve Ellcey wrote:
>On Wed, 2017-04-26 at 11:33 +0200, Richard Biener wrote:
>> >
>> > Index: gcc/emit-rtl.c
>> > ===
>> > --- gcc/emit-rtl.c (revision 247273)
>> > +++ gcc/emit-rtl.c
This patch is meant for GCC 8. While GCC 7 has branched, I plan to wait
until it is actually released before applying these patches. But if you would
prefer me to submit them sooner, I can do it.
This patch, addresses the remaining issues on 3 PRs (79038, 79202, and 79203).
Since these issues we
On Wed, 2017-04-26 at 11:33 +0200, Richard Biener wrote:
> >
> > Index: gcc/emit-rtl.c
> > ===
> > --- gcc/emit-rtl.c (revision 247273)
> > +++ gcc/emit-rtl.c (working copy)
> > @@ -1954,7 +1954,10 @@ set_mem_attributes_minu
On 04/26/2017 05:19 AM, Paolo Carlini wrote:
Hi,
while working on some fixes not suited for 7.1.0 I noticed a couple of
nits. This is the first one.
Thanks, Paolo.
ok
--
Nathan Sidwell
Hi, Tony
Why is enabling Go the *first* patch? It seems that the support
should be added before one allows it to be configured.
Also, what are you trying to accomplish with the changes to "rs6000"
in the target triplets. I think that you are trying to distinguish
between different versions of A
On 04/24/2017 03:35 PM, Jeff Law wrote:
On 04/11/2017 12:57 PM, Martin Sebor wrote:
In a review of my fix for bug 80364 Jakub pointed out that to
determine whether an argument to an integer directive is of
an integer type the gimple-ssa-sprintf pass tests the type code
for equality to INTEGER_TY
On Tue, 2017-04-25 at 18:22 -0400, Nathan Sidwell wrote:
> On 04/25/2017 04:01 PM, David Malcolm wrote:
> > On Tue, 2017-04-25 at 12:11 -0400, Nathan Sidwell wrote:
> > > On 04/25/2017 11:58 AM, David Malcolm wrote:
> > >
> > > > { return FIELD; }
>
> > I tried adding the kind of filtering yo
On 04/26/2017 01:59 AM, Richard Biener wrote:
On Tue, 25 Apr 2017, Martin Sebor wrote:
On 04/24/2017 05:25 AM, Richard Biener wrote:
The following makes signed overflow undefined for all (non-)optimization
levels. The intent is to remove -fno-strict-overflow signed overflow
behavior as that
Hi all,
r245676 (PR/79665) introduced a change to calculate the costs of signed
and unsigned div operations independently and when both are possible to
allow you to specify a preference via cost mode.
>From the cover letter https://gcc.gnu.org/ml/gcc-patches/2017-02/msg01408.html
this was also su
On 26/04/17 15:29, Jakub Jelinek wrote:
> Hi!
>
> As discussed on IRC, apparently the -Wpsabi warning is not appropriate
> for aarch64, only for ARM, because only ARM had the almost like new AAPCS,
> except for static data members and typedefs (and sometimes
> self-inconsistent) ABI, while on AArc
On Wed, Apr 26, 2017 at 3:23 PM, Richard Biener
wrote:
> On Wed, Apr 26, 2017 at 3:37 PM, Bin.Cheng wrote:
>> On Wed, Apr 26, 2017 at 2:32 PM, Richard Biener
>> wrote:
>>> On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng wrote:
Hi,
Given only integer variables are meaningful for register p
Hi!
As discussed on IRC, apparently the -Wpsabi warning is not appropriate
for aarch64, only for ARM, because only ARM had the almost like new AAPCS,
except for static data members and typedefs (and sometimes
self-inconsistent) ABI, while on AArch64 it only changed in r237224
for GCC 7.
Thus, the
Hi,
This patch updates x86 family machine constraints section in '16.8.5
Constraints for Particular Machines' section to match the ones in
'config/i386/constraints.md'.
gcc/
* doc/md.texi (Machine Constraints): Update x86 family machine
constraints
section to match 'config/i
On Wed, Apr 26, 2017 at 4:04 PM, Nathan Sidwell wrote:
> On 04/26/2017 04:52 AM, Richard Biener wrote:
>>
>> On Tue, Apr 25, 2017 at 6:47 PM, Nathan Sidwell wrote:
>
>
>> Please use 'inline' rather than 'static inline'.
>
>
> Oh, ok (must have been misled by some exiting static inline somewhere)
On Wed, Apr 26, 2017 at 3:37 PM, Bin.Cheng wrote:
> On Wed, Apr 26, 2017 at 2:32 PM, Richard Biener
> wrote:
>> On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng wrote:
>>> Hi,
>>> Given only integer variables are meaningful for register pressure
>>> estimation in IVOPTs,
>>> this patch skips non-int
Hi Naveen,
This version has the same issue of claiming that all instructions should
be fused except for the cases that can be fused. You should only return
true if there is a match, not if there is not a match.
Cheers,
Wilco
On 04/26/2017 04:52 AM, Richard Biener wrote:
On Tue, Apr 25, 2017 at 6:47 PM, Nathan Sidwell wrote:
Please use 'inline' rather than 'static inline'.
Oh, ok (must have been misled by some exiting static inline somewhere)
Did you test the patch produces the same CRCs than before? Did you
On Wed, Apr 26, 2017 at 2:27 PM, Richard Biener
wrote:
> On Tue, Apr 18, 2017 at 12:51 PM, Bin Cheng wrote:
>> Hi,
>> This patch adds new loop constraint flags marking prologue, epilogue and
>> versioned loops generated
>> by vectorizer, unroller and versioning. These flags will be used in IVOP
On Wed, Apr 26, 2017 at 2:22 PM, Richard Biener
wrote:
> On Tue, Apr 18, 2017 at 12:50 PM, Bin Cheng wrote:
>> Hi,
>> IVOPTs still have difficulty for outer loop (especially for large loop
>> nest), and tend to select too many candidates.
>> It's generally bad because of unavoidable register spi
On 04/26/17 12:07, Martin Liška wrote:
> On 04/26/2017 12:05 PM, Martin Liška wrote:
>> Received as HTML from Kelvin:
>>
>> I have reviewed some of the implementation details for pthread_mutex_init
>> and pthread_mutex_lock, and have confirmed that ppc64 does use memset to
>> initialize the entir
On Wed, Apr 26, 2017 at 2:32 PM, Richard Biener
wrote:
> On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng wrote:
>> Hi,
>> Given only integer variables are meaningful for register pressure estimation
>> in IVOPTs,
>> this patch skips non-integer type PHIs when counting register pressure.
>> Is it OK?
On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng wrote:
> Hi,
> Given only integer variables are meaningful for register pressure estimation
> in IVOPTs,
> this patch skips non-integer type PHIs when counting register pressure.
> Is it OK?
Huh. I suppose it only makes a difference because you are ig
On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng wrote:
> Hi,
> Currently we only allow iv_ca extension if new_cp has cheaper cost and less
> deps than old_cp.
> This is inaccurate because it's possible the overall deps is reduced even
> new_cp has more deps
> than old_cp. This happens in case that
On Wed, Apr 26, 2017 at 1:58 PM, Richard Biener
wrote:
> On Tue, Apr 18, 2017 at 12:44 PM, Bin Cheng wrote:
>> Hi,
>> This patch handles more cheap cases in function force_expr_to_var_cost,
>> specifically,
>> TRUNC_DIV_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR, RSHIFT_EXPR and BIT_NOT_EXPR.
>>
>> Is it
On Tue, Apr 18, 2017 at 12:51 PM, Bin Cheng wrote:
> Hi,
> At the moment, inv_vars are recognized during finding iv_uses. It's also
> possible that inv_vars are used when expressing iv_use with specific cand.
> Unfortunately, such inv_vars are neither recognized nor considered in reg
> pressure e
On Tue, Apr 18, 2017 at 12:51 PM, Bin Cheng wrote:
> Hi,
> This patch adds new loop constraint flags marking prologue, epilogue and
> versioned loops generated
> by vectorizer, unroller and versioning. These flags will be used in IVOPTs
> in order to differentiate
> possible hot innermost loop
On Tue, Apr 18, 2017 at 12:50 PM, Bin Cheng wrote:
> Hi,
> IVOPTs still have difficulty for outer loop (especially for large loop nest),
> and tend to select too many candidates.
> It's generally bad because of unavoidable register spilling. In this case,
> we probably want to compute iv_uses w
On Wed, 2017-04-26 at 14:02 +0200, Volker Reichelt wrote:
> Hi,
>
> the following patch adds fix-it information for a diagnostic in the
> C++
> parser: Use a scope operator instead of a single colon in a
> nested-name-specifier.
>
> Bootstrapped and regtested on x86_64-pc-linux-gnu.
>
> OK for t
On Tue, Apr 18, 2017 at 12:49 PM, Bin Cheng wrote:
> Hi,
> This patch supports compare iv_use for comparison whose both sides are IVs.
> With this patch, optimal code is generated for PR53090.
> Is it OK?
Ok.
Richard.
> Thanks,
> bin
> 2017-04-11 Bin Cheng
>
> PR tree-optimization/53
On Tue, Apr 18, 2017 at 12:47 PM, Bin Cheng wrote:
> Hi,
> Currently we only support compare iv_use if the other side of comparison is
> loop invariant.
> Such compare iv_use can never be eliminated, but it still can be expressed.
> This patch
> supports the case that the other side of comparis
On Tue, Apr 18, 2017 at 12:47 PM, Bin Cheng wrote:
> Hi,
> This patch rewrites nonlinear iv_use by re-associating invariant part and
> induction part separately so that invariant expressions are exposed to
> later lim pass.
> Is it OK?
Ok.
Thanks,
Richard.
> Thanks,
> bin
> 2017-04-11 Bin Chen
On Tue, Apr 18, 2017 at 12:46 PM, Bin Cheng wrote:
> Hi,
> For compare type iv_use, we want to relate it with all candidates in order
> to achieve smaller candidate set. Generally this doesn't hurt compilation
> time because compare iv_use is already related with most candidates and
> the number
> > +@item -mirq-ctrl-saved="REGS"
>
> Use @var{regs} instead of REGS. I assume the quotes are part of the
> literal syntax?
In fact here we should have a register range (e.g., -mirq-ctrl-saved=r0-r9).
> > +lp_count. Registers needs to be specified as ranges such as "r0-r3".
> > +A register ra
Thank you for your review, I'll include your points into the a new revised
patch.
//Claudiu
> -Original Message-
> From: Sandra Loosemore [mailto:san...@codesourcery.com]
> Sent: Tuesday, April 25, 2017 5:43 PM
> To: Claudiu Zissulescu ; gcc-
> patc...@gcc.gnu.org
> Cc: francois.bed...@sy
On Tue, Apr 18, 2017 at 12:45 PM, Bin Cheng wrote:
> Hi,
> Now function multiplier_allowed_in_address_p is no longer referred in ivopts,
> so move to the only file using it and make it static.
Ok.
Richard.
> Thanks,
> bin
> 2017-04-11 Bin Cheng
>
> * tree-ssa-loop-ivopts.c (multiplie
On Tue, Apr 18, 2017 at 12:44 PM, Bin Cheng wrote:
> Hi,
> This patch handles more cheap cases in function force_expr_to_var_cost,
> specifically,
> TRUNC_DIV_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR, RSHIFT_EXPR and BIT_NOT_EXPR.
>
> Is it OK?
I wonder if using add_cost is good here. TRUNC_DIV by powe
Hi Wilco,
>> Same comment for this part, we want to return true if we match:
Thanks for pointing out about the confusion.
>> Note writing these complex conditions using positive logic makes them much
>> more readable - if you have to negate use !(X && Y && Z) rather than
>> !X || !Y || !Z.
Modi
Hi Wilco,
Thanks for reviewing the patch.
>> The return false seems incorrect - it means a core can either have
>> FUSE_CMP_BRANCH or FUSE_ALU_BRANCH but not both.
Thanks for pointing out about the confusion.
Modified the code as required.
Bootstrapped and Regression tested on AArch64 and X86_6
Float to int moves currently generate inefficient code due to
hacks used in the movsi and movdi patterns. The 'r = w' variant
uses '*' which explicitly tells the register allocator to ignore it.
As a result float to int moves typically spill to the stack, which is
extremely inefficient. For examp
Hi,
the following patch adds fix-it information for a diagnostic in the C++
parser: Use a scope operator instead of a single colon in a
nested-name-specifier.
Bootstrapped and regtested on x86_64-pc-linux-gnu.
OK for trunk?
Regards,
Volker
2017-04-26 Volker Reichelt
* parser.c (cp
On Wed, Apr 26, 2017 at 01:48:03PM +0200, Tom de Vries wrote:
> [ reposting with patch removed, was too big for gcc-patches@ ]
I see in various tests you've ended up with ... { target ... } . }
I think it would be better to just use ... { target ... } }
in that case, . is the default, and if targe
[ reposting with patch removed, was too big for gcc-patches@ ]
On 04/26/2017 01:33 PM, Tom de Vries wrote:
On 03/27/2017 03:11 PM, Tom de Vries wrote:
On 24/03/17 18:13, Mike Stump wrote:
On Mar 24, 2017, at 5:58 AM, Rainer Orth
wrote:
- { /* { dg-warning "statement may fall through" ""
The following removes the third state we had apart from signed integer
overflow wrapping and being undefined. It makes signed integer overflow
undefined, consistently at all optimization levels. -fno-strict-overflow
stays as a backward compatible way to avoid optimizations that rely on
signed in
On Tue, Apr 25, 2017 at 09:31:00PM +0200, Jakub Jelinek wrote:
> This patch let us search for x's setter earlier in the bb.
> During testing I found that modified_in_p/modified_in_between_p don't
> actually take into account calls that could change MEMs, so the patch
> handles that too.
Or shall w
On 04/25/2017 01:58 PM, Jakub Jelinek wrote:
> On Tue, Apr 25, 2017 at 01:48:05PM +0200, Martin Liška wrote:
>> Hello.
>>
>> This is patch that was originally installed by Jason and later reverted due
>> to PR70422.
>> In the later PR Richi suggested a fix for that and Segher verified that it
>>
This is another one where context diff might help. No code change
from previous version.
Thanks,
bin
On Tue, Apr 18, 2017 at 11:49 AM, Bin Cheng wrote:
> Hi,
> This patch generates TMR for ivopts in new re-association order. General
> idea is,
> by querying target's addressing mode, we put as
On Wed, Apr 26, 2017 at 12:12 PM, Bin.Cheng wrote:
> On Wed, Apr 26, 2017 at 10:50 AM, Richard Biener
> wrote:
>> On Tue, Apr 18, 2017 at 12:43 PM, Bin Cheng wrote:
>>> Hi,
>>> This is the major part of this patch series. It rewrites cost computation
>>> of ivopts using tree affine.
>>> Apart
On Wed, Apr 26, 2017 at 10:50 AM, Richard Biener
wrote:
> On Tue, Apr 18, 2017 at 12:43 PM, Bin Cheng wrote:
>> Hi,
>> This is the major part of this patch series. It rewrites cost computation
>> of ivopts using tree affine.
>> Apart from description given by cover message:
>> A) New computat
On 04/26/2017 12:05 PM, Martin Liška wrote:
> Received as HTML from Kelvin:
>
> I have reviewed some of the implementation details for pthread_mutex_init and
> pthread_mutex_lock, and have confirmed that ppc64 does use memset to
> initialize the entirety of its mutex lock structure before potent
Received as HTML from Kelvin:
I have reviewed some of the implementation details for pthread_mutex_init and
pthread_mutex_lock, and have confirmed that ppc64 does use memset to initialize
the entirety of its mutex lock structure before potentially overwriting a few
of its fields with non-zero d
On Tue, Apr 18, 2017 at 12:43 PM, Bin Cheng wrote:
> Hi,
> This is the major part of this patch series. It rewrites cost computation of
> ivopts using tree affine.
> Apart from description given by cover message:
> A) New computation cost model. Currently, there are big amount code trying
>
On Wed, Apr 26, 2017 at 11:27 AM, Richard Biener
wrote:
> On Wed, Apr 26, 2017 at 12:27 AM, Steve Ellcey wrote:
>> This patch changes get_ref_base_and_extent to treat zero sized arrays
>> like C99 flexible arrays and assume that references to zero sized
>> arrays can also be made beyond the 'end'
On Wed, Apr 26, 2017 at 12:27 AM, Steve Ellcey wrote:
> This patch changes get_ref_base_and_extent to treat zero sized arrays
> like C99 flexible arrays and assume that references to zero sized
> arrays can also be made beyond the 'end' of the array. C99 flexible
> arrays are recognized by not ha
Hi,
while working on some fixes not suited for 7.1.0 I noticed a couple of
nits. This is the first one.
Thanks, Paolo.
2017-04-26 Paolo Carlini
* decl.c (grok_ctor_properties, ambi_op_p, unary_op_p): Change
return type to bool.
* cp-tree.h (gr
On 26/04/17 11:14 +0200, Paolo Carlini wrote:
.. or maybe using the wrong constant only impacts the performance?!?
Yes, I think so. I did some very simple sanity tests and the numbers
were identical before and after.
.. or maybe using the wrong constant only impacts the performance?!?
Paolo.
Hi,
On 24/04/2017 15:43, Jonathan Wakely wrote:
We use the wrong constant for the Marsaglia Tsang algorithm.
PR libstdc++/80506
* include/bits/random.tcc (gamma_distribution::operator()): Fix magic
number used in loop condition.
Tested powerpc64le-linux, committed to trunk.
Thank
Hi,
a comment generated by contrib/gen_autofdo_event.py instructs the user
to use '--shell' with gen_autofdo_event.py, but the script does not
support it.
This patch fixes the comment by using '--script' instead (this is also
the usage printed by the script generated by contrib/gen_autofdo_e
On Tue, Apr 25, 2017 at 6:47 PM, Nathan Sidwell wrote:
> Hi,
> our current CRC routine processes 1 bit at a time, and permits arbitrary
> numbers of bits from 1 to 32. However we only ever feed it multiples of 8
> bits to process.
>
> So part of this patch changes the interface to use a crc32_uns
On Tue, 25 Apr 2017, Martin Sebor wrote:
> On 04/24/2017 05:25 AM, Richard Biener wrote:
> >
> > The following makes signed overflow undefined for all (non-)optimization
> > levels. The intent is to remove -fno-strict-overflow signed overflow
> > behavior as that is not a sensible option to the
74 matches
Mail list logo