This patch attempts to fix problems with the first scheduling pass creating too
much register pressure. It does this by enabling the target hook to compute the
pressure classes for rs6000 target since the first thing I observed while
investigating the testcase in the subject PR is that IRA was p
On December 20, 2016 5:01:19 PM GMT+01:00, Kyrill Tkachov
wrote:
>Hi all,
>
>The testcase in this patch generates bogus assembly for arm with -O1
>-mfloat-abi=soft:
>strdr4, [#0, r3]
>
>This is due to non-canonical RTL being generated during expansion:
>(set (mem:DI (plus:SI (const_in
On December 20, 2016 4:50:25 PM GMT+01:00, Jeff Law wrote:
>On 12/20/2016 07:16 AM, Richard Biener wrote:
>>
>> it should be already set as we use visited_ssa as "was it ever on the
>worklist",
>> so maybe renaming it would be a good thing as well.
>>
>> + if (TREE_CODE (name) == SSA_N
On Tue, Dec 20, 2016 at 11:26:02AM -0600, Pat Haugen wrote:
> gcc.dg/sms-3.c and gcc.dg/sms-6.c fail on powerpc when -fsched-pressure is
> used. The -fsched-pressure option changes the value returned by
> rs6000_issue_rate which in turn affects the computed initiation interval in
> the SMS code
On 12/20/16 16:09, Wilco Dijkstra wrote:
> Bernd Edlinger wrote:
>> this splits the *arm_negdi2, *arm_cmpdi_insn and *arm_cmpdi_unsigned
>> also at split1 except for TARGET_NEON and TARGET_IWMMXT.
>>
>> In the new test case the stack is reduced to about 270 bytes, except
>> for neon and iwmmxt, whe
On 12/20/2016 11:48 AM, Nathan Sidwell wrote:
On 12/20/2016 11:25 AM, Aldy Hernandez wrote:
The problem in this PR is that we're trying to initialize an array with
members of itself:
Jakub has even gone further to show that for the following:
... = { array[3]=5, array[7]=3, array[7]=8, a
Hi!
Recently DW_FORM_ref_sup (which is meant e.g. for dwz, gcc doesn't emit it)
has been renamed to DW_FORM_ref_sup4 (and changed so that it is always 4
byte) and DW_FORM_ref_sup8 (always 8 byte) has been added.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2016-12-20 Jak
Hi!
Similarly how we deal with bootstrapping libsanitizer only when
doing bootstrap-{a,u}san bootstrap, this avoids bootstrapping libmpx
if we don't need it for bootstrapping.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2016-12-20 Jakub Jelinek
* configure.ac
Hi!
DECL_ANON_UNION_VAR_P vars are DECL_ARTIFICIAL, but we still to diagnose
them if they shadow something. The DECL_ARTIFICIAL (x) check has been
missing in older gcc releases, so we diagnosed that properly.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2016-12-20 Jakub
Hi!
If the shift count has enough known zero low bits (non-zero bits only
above the ceil_log2 (precision)), then the only valid shift count that
is not out of bounds is 0, so we can as well fold it into the first
argument of the shift. This resolves a regression introduced by partly
optimizing it
On Dec 20, 2016, at 6:10 AM, Dominik Vogt wrote:
> Right, it gets called even more often than one would think, and
> even with empty torture_current_options. The attached new patch
> (v3) removes -Ox options and superflous whitespace and caches that
> between calls if it's not empty. There's ano
On 12/20/2016 01:52 PM, Aldy Hernandez wrote:
int array[10] = { array[3]=5, 0x111, 0x222, 0x333 };
(gdb) x/4x &array
0x601040 : 0x0005 0x0111 0x0222
0x0005
That is, the array[3]=5 overwrites the last 0x333. I would expect that...
That may be wrong. Using the
On Tue, 20 Dec 2016, Jakub Jelinek wrote:
If the shift count has enough known zero low bits (non-zero bits only
above the ceil_log2 (precision)), then the only valid shift count that
is not out of bounds is 0, so we can as well fold it into the first
argument of the shift. This resolves a regre
On Tue, Dec 20, 2016 at 09:30:17PM +0100, Marc Glisse wrote:
> would it make sense to extend it to rotates later?
I wasn't 100% sure if rotates also require 0..prec-1 rotate counts, or
if they accept arbitrary ones.
> Note that you can write (shift @0 SSA_NAME@1) in the pattern instead of a
> sep
Tested on Linux-x64.
The issue doesn't have a proposed resolution yet, so we can certainly wait
with this, but I have an inkling that this implementation is what the proposed
resolution must say. :)
2016-12-20 Ville Voutilainen
Implement 2801, Default-constructibility of unique_ptr.
*
Hi!
We only record side-effects from the last parameter, the following patch
fixes that by accumulating them from all the parameters. I've checked all
the callers of grokdeclarator and grokdeclarator is always called with expr
either pointing to NULL_TREE, or being NULL, or where we want the
side
On Tue, Dec 20, 2016 at 11:57:52AM -0800, Mike Stump wrote:
> On Dec 20, 2016, at 6:10 AM, Dominik Vogt wrote:
> > Right, it gets called even more often than one would think, and
> > even with empty torture_current_options. The attached new patch
> > (v3) removes -Ox options and superflous whites
The problem here is that we don't have complete coverage of lea patterns
for HImode/QImode: the combiner can't recognize a (plus (ashift reg 2)
reg) pattern it builds.
My first idea was to canonicalize ASHIFT by constant inside PLUS to
MULT. The docs say that this is done only inside a MEM con
On Tue, Dec 20, 2016 at 10:26:13PM +0100, Dominik Vogt wrote:
> On Tue, Dec 20, 2016 at 11:57:52AM -0800, Mike Stump wrote:
> > On Dec 20, 2016, at 6:10 AM, Dominik Vogt wrote:
> > > Right, it gets called even more often than one would think, and
> > > even with empty torture_current_options. The
On Tue, 20 Dec 2016, Jakub Jelinek wrote:
> Hi!
>
> We only record side-effects from the last parameter, the following patch
> fixes that by accumulating them from all the parameters. I've checked all
> the callers of grokdeclarator and grokdeclarator is always called with expr
> either pointing
On Tue, Dec 20, 2016 at 11:31 AM, FX wrote:
>> I don't understand. Why would it imply a 1:1 mapping of release series
>> with major ABI versions?
>
> OK, I thought you meant to map libgfortran version numbers (libgfortran.so.7
> with GCC 7). If it’s the gfortran.map node names, I’m happy with tha
This adds -fno-vect-cost-model to the 6 relevant testcases.
Tested on x86_64-suse-linux, applied on the mainline.
2016-12-20 Eric Botcazou
PR testsuite/71237
* gnat.dg/vect1.adb: Add -fno-vect-cost-model to dg-options.
* gnat.dg/vect2.adb: Likewise.
* gnat.dg/
Just noticed a few issues when feeding the GIMPLE FE random -gimple
dumps. On errors not skipping to expected tokens leads to a load
of strange followup parsing errors and worse, to endless parsing
attempts in one case.
Fixed with the following.
Bootstrap / regtest running together with the pas
On Sun, 18 Dec 2016, Prathamesh Kulkarni wrote:
> Hi Richard,
> The attached patch attempts to reject invalid pass-name in startwith
> and verified gimplefe tests pass with the patch (not sure if bootstrap
> is required?)
> Does it look OK ?
No - get_pass_by_name works on dump file names while th
Dear Bob,
First, regarding the ABI vs. API question: there is no consistent API for how
to pass between Fortran and C strings, unless one uses Fortran 2003’s
ISO_C_BINDING. It’s an ABI detail, in the sense that every compiler will choose
to do things their own way: most compilers who pass a hid
Hello,
it would be quite nice if someone could have a look at this since this
breaks the GCC build with libgomp enabled for all Thumb-1 targets.
On 16/12/16 16:20, Kyrill Tkachov wrote:
Ping.
https://gcc.gnu.org/ml/gcc-patches/2016-12/msg00849.html
Thanks,
Kyrill
--
Sebastian Huber, embedd
> I don't understand. Why would it imply a 1:1 mapping of release series
> with major ABI versions?
OK, I thought you meant to map libgfortran version numbers (libgfortran.so.7
with GCC 7). If it’s the gfortran.map node names, I’m happy with that indeed.
Attached patch regtested on x86_64-apple
On 09/12/16 14:03, Kyrill Tkachov wrote:
Hi all,
In this ICE GCC reports invalid RTL sharing in the pattern:
(insn 955 954 956 (unspec_volatile [
(const:SI (unspec:SI [
(symbol_ref:SI ("a") [flags 0xe8] )
(const_int 4 [0x4])
Hi,
On Mon, Dec 19, 2016 at 11:09:52AM +0100, Martin Liska wrote:
> Hello.
>
> Building mariadb with -flto exposes a bug which I also used to see
> in Firefox. It's caused by IPA CP starting from r236418, where the
> pass started to propagate const VAR_DECLs. Problem is that the pass
> does not u
On Mon, Dec 19, 2016 at 06:00:21PM +0100, Jakub Jelinek wrote:
> On Mon, Dec 19, 2016 at 05:50:40PM +0100, Dominik Vogt wrote:
> > * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
> > __S390_ARCH_LEVEL__.
> > gcc/testsuite/ChangeLog-setmem
> >
> > * gcc.target/s390/md/se
On Tue, Dec 20, 2016 at 11:22:47AM +0100, Dominik Vogt wrote:
> On Mon, Dec 19, 2016 at 06:00:21PM +0100, Jakub Jelinek wrote:
> > On Mon, Dec 19, 2016 at 05:50:40PM +0100, Dominik Vogt wrote:
> > > * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
> > > __S390_ARCH_LEVEL__.
> > >
On Fri, Dec 16, 2016 at 9:29 PM, Andreas Krebbel
wrote:
> When pushing a value into the literal pool the resulting decl might
> get a higher alignment than the original expression depending on how a
> target defines CONSTANT_ALIGNMENT. Generating an RTX for the constant
> pool access we currently
On Mon, Dec 19, 2016 at 6:27 PM, Will Schmidt wrote:
> Hi,
>
> For some future rs6000 vector folding patches, I will be needing
> access to the create_tmp_reg_or_ssa_name() function in rs6000.c.
> Thus...
> Externalize the definition of create_tmp_reg_or_ssa_name
> for use in rs6000.c. The actual
On Mon, Dec 19, 2016 at 6:58 PM, James Greenhalgh
wrote:
>
>> On Thu, Dec 8, 2016 at 10:44 PM, Uros Bizjak wrote:
>> > Hello!
>> >
>> > Attached patch fixes fall-out from excess-precision improvements
>> > patch. As shown in the PR, the code throughout the compiler assumes
>> > FLAG_PRECISION_FAS
On Fri, Dec 16, 2016 at 3:16 PM, Marek Polacek wrote:
> On Fri, Dec 16, 2016 at 02:58:59PM +0100, Richard Biener wrote:
>> On Fri, Dec 16, 2016 at 2:03 PM, Bernd Schmidt wrote:
>> > On 12/16/2016 12:49 PM, Marek Polacek wrote:
>> >
>> >> But as this testcase shows, this breaks when the default la
On Tue, Dec 20, 2016 at 11:45:18AM +0100, Richard Biener wrote:
> > I've bootstrapped and make check with this patch applied in conjunction with
> > other patches.
> >
> > OK for trunk?
>
> Ok.
>
> Richard.
>
> >
> > [gcc]
> >
> > 2016-12-19 Will Schmidt
> >
> > * gimple-fold.c (crea
On 11/16/2016 05:28 PM, Jakub Jelinek wrote:
> Otherwise LGTM, but please post the asan patch to llvm-commits
> or through their web review interface.
>
> Jakub
Ok, llvm folks are unwilling to accept the new API function, thus I've decided
to come up
with approach suggested by Jakub. Brief
> The function Ada.Numerics.Generic_Real_Arrays.Inverse is required
> (ARM G.3.1(72)) to return a matrix with the bounds of the dimension indices
> swapped, i.e. result'Range(1) == input'Range(2) and vice versa. The
> present code gets result'Range(1) correct, but result'Range(2) always
> starts at
On Tue, Dec 20, 2016 at 11:48:26AM +0100, Richard Biener wrote:
> On Mon, Dec 19, 2016 at 6:58 PM, James Greenhalgh
> wrote:
> >
> >> On Thu, Dec 8, 2016 at 10:44 PM, Uros Bizjak wrote:
> >> > Hello!
> >> >
> >> > Attached patch fixes fall-out from excess-precision improvements
> >> > patch. As
> On Dec 19, 2016, at 6:04 PM, Bernd Schmidt wrote:
>
> I'll consider myself agnostic as to whether this is a feature we want or need,
Hi Bernd, thanks for reviewing this!
Regarding the usefulness of this feature, it has been discussed here (2 years
ago):
http://gcc.gcc.gnu.narkive.com/JfWUDn
Hi all,
> I think you should use build_zero_cst(size_type_node) instead of
> size_zero_node as size_zero_node is of type sizetype which is not the
> same as size_type_node. Otherwise looks good.
In the software design classes I took this was called a design error: Not
choosing sufficiently differ
On Tue, Dec 20, 2016 at 11:32:58AM +0100, Jakub Jelinek wrote:
> On Tue, Dec 20, 2016 at 11:22:47AM +0100, Dominik Vogt wrote:
> > On Mon, Dec 19, 2016 at 06:00:21PM +0100, Jakub Jelinek wrote:
> > > On Mon, Dec 19, 2016 at 05:50:40PM +0100, Dominik Vogt wrote:
> > > > * config/s390/s390-c.
On Fri, Dec 16, 2016 at 3:41 PM, Aldy Hernandez wrote:
> Hi folks.
>
> This is a follow-up on Jeff and Richi's interaction on the aforementioned PR
> here:
>
> https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01397.html
>
> I decided to explore the idea of analyzing may-undefness on-demand, w
Hi,
On 19/12/16 21:43, Jeff Law wrote:
> On 12/19/2016 08:44 AM, James Cowgill wrote:
>> 2016-12-16 James Cowgill
>>
>> PR rtl-optimization/65618
>> * emit-rtl.c (try_split): Update "after" when moving a
>> NOTE_INSN_CALL_ARG_LOCATION.
>>
>> diff --git a/gcc/emit-rtl.c b/gcc/emit-rt
2016-11-26 0:28 GMT+03:00 Ilya Enkovich :
> 2016-11-25 15:47 GMT+03:00 Alexander Ivchenko :
>> Hi,
>>
>> The patch below addresses PR68270. could you please take a look?
>>
>> 2016-11-25 Alexander Ivchenko
>>
>>* c-family/c.opt (flag_chkp_flexible_struct_trailing_arrays):
>>Add n
On Tue, Dec 20, 2016 at 3:42 PM, Andre Vehreschild wrote:
> Hi all,
>
>> I think you should use build_zero_cst(size_type_node) instead of
>> size_zero_node as size_zero_node is of type sizetype which is not the
>> same as size_type_node. Otherwise looks good.
>
> In the software design classes I t
On 12/20/2016 11:06 AM, Martin Jambor wrote:
> ...this test should be for ADDR_EXPR here. Or you could switch the
> IPA_REF_* constants the other way round which I bet is going to have
> the same effect in practice, but personally, I'd test for ADDR_EXPR.
Thanks for the note, fixed (and tested in
PING!
On Tue, Dec 13, 2016 at 10:59 PM, Janne Blomqvist
wrote:
> Use the boolean_type_node setup by the middle-end instead of
> redefining it. boolean_type_node is not used in GFortran for any
> ABI-visible stuff, only internally as the type of boolean
> expressions. There appears to be one excep
Thought I gave an 'ok', but apparently never sent email.
Sorry about that. Yes, ok to commit.
--
steve
On Tue, Dec 20, 2016 at 04:56:51PM +0200, Janne Blomqvist wrote:
> PING!
>
> On Tue, Dec 13, 2016 at 10:59 PM, Janne Blomqvist
> wrote:
> > Use the boolean_type_node setup by the middle-end
On Tue, Dec 20, 2016 at 04:55:29PM +0200, Janne Blomqvist wrote:
> On Tue, Dec 20, 2016 at 3:42 PM, Andre Vehreschild wrote:
> > Hi all,
> >
> >> I think you should use build_zero_cst(size_type_node) instead of
> >> size_zero_node as size_zero_node is of type sizetype which is not the
> >> same as
Bernd Edlinger wrote:
> this splits the *arm_negdi2, *arm_cmpdi_insn and *arm_cmpdi_unsigned
> also at split1 except for TARGET_NEON and TARGET_IWMMXT.
>
> In the new test case the stack is reduced to about 270 bytes, except
> for neon and iwmmxt, where this does not change anything.
This looks od
On Tue, 20 Dec 2016 16:00:19 +0100
Jakub Jelinek wrote:
> On Tue, Dec 20, 2016 at 04:55:29PM +0200, Janne Blomqvist wrote:
> > On Tue, Dec 20, 2016 at 3:42 PM, Andre Vehreschild wrote:
> > > Hi all,
> > >
> > >> I think you should use build_zero_cst(size_type_node) instead of
> > >> size_z
On Tue, Dec 20, 2016 at 04:29:07PM +0100, Andre Vehreschild wrote:
> > The first one is GCC internal type for representing sizes, the latter is
> > the C size_t (usually they have the same precision, they always have the
> > same signedness (unsigned)).
> > In the past sizetype actually has been a
On 12/20/2016 07:16 AM, Richard Biener wrote:
it should be already set as we use visited_ssa as "was it ever on the worklist",
so maybe renaming it would be a good thing as well.
+ if (TREE_CODE (name) == SSA_NAME)
+ {
+ /* If an SSA has already been se
Hi all,
The testcase in this patch generates bogus assembly for arm with -O1
-mfloat-abi=soft:
strdr4, [#0, r3]
This is due to non-canonical RTL being generated during expansion:
(set (mem:DI (plus:SI (const_int 0 [0])
(reg/f:SI 153)) [0 MEM[symbol: a, index: _26, off
On Tue, 20 Dec 2016 16:40:13 +0100
Jakub Jelinek wrote:
> On Tue, Dec 20, 2016 at 04:29:07PM +0100, Andre Vehreschild wrote:
> > > The first one is GCC internal type for representing sizes, the latter is
> > > the C size_t (usually they have the same precision, they always have the
> > > same s
On 12/20/2016 05:14 AM, James Greenhalgh wrote:
On Tue, Dec 20, 2016 at 11:48:26AM +0100, Richard Biener wrote:
On Mon, Dec 19, 2016 at 6:58 PM, James Greenhalgh
wrote:
On Thu, Dec 8, 2016 at 10:44 PM, Uros Bizjak wrote:
Hello!
Attached patch fixes fall-out from excess-precision improvem
Hi Janus,
> 1) After adding that code block in gfc_trans_assignment_1, it seems
> like the comment above is outdated, right?
Thanks for noting.
> 2) Wouldn't it be better to move this block, which does the correct
> allocation for CLASS variables, into
> "alloc_scalar_allocatable_for_assignment"
On Tue, Dec 20, 2016 at 05:04:54PM +0100, Andre Vehreschild wrote:
> Well, then how about:
>
> #define gfc_size_t_zero_node build_int_cst (size_type_node, 0)
>
> We can't get any faster and for new and old gfortran-hackers one identifier's
> meaning is faster to grasp than two's.
Such macros can
The problem in this PR is that we're trying to initialize an array with
members of itself:
int array[10] = { array[3]=5, array[7]=3 };
The C++ front-end, in store_init_value() via cxx_constant_value() and
friends will transform:
{array[3] = 5, array[7] = 3}
into:
{[
On 12/12/16 09:04, Christophe Lyon wrote:
>>
>
> The new test (gcc.target/arm/pr78255-2.c scan-assembler b\\s+bar)
> added at r243494 fails on old arm architectures, such as:
> * arm-none-linux-gnueabi, forcing -march=armv5t in runtestflags
> * arm-none-eabi with default cpu/fpu/mode
>
> Christop
On 12/20/2016 11:25 AM, Aldy Hernandez wrote:
The problem in this PR is that we're trying to initialize an array with
members of itself:
Jakub has even gone further to show that for the following:
... = { array[3]=5, array[7]=3, array[7]=8, array[7] = 9 };
things get even worse, because
On Tue, 20 Dec 2016, Richard Biener wrote:
> Just noticed a few issues when feeding the GIMPLE FE random -gimple
> dumps. On errors not skipping to expected tokens leads to a load
> of strange followup parsing errors and worse, to endless parsing
> attempts in one case.
>
> Fixed with the follow
gcc.dg/sms-3.c and gcc.dg/sms-6.c fail on powerpc when -fsched-pressure is
used. The -fsched-pressure option changes the value returned by
rs6000_issue_rate which in turn affects the computed initiation interval in the
SMS code and leads to failure to modulo schedule the single loop in sms-3.c a
64 matches
Mail list logo