Jiong Wang writes:
> I Just finished several round of rebuild & testing on clean
> environment.
How did you even manage to compile it?
../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)':
../../gcc/ira.c:1415:49: error: iteration 8u invokes undefined behavior
[-Werror
On Thu, 6 Aug 2015, Thomas Preud'homme wrote:
> Hi,
>
> > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> > ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> > Sent: Tuesday, July 28, 2015 3:04 PM
> >
> > > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> > > ow...@gcc.gn
On Tue, 11 Aug 2015, Marc Glisse wrote:
> On Wed, 29 Jul 2015, Richard Biener wrote:
>
> > The following fixes PR67053 by more closely mirror what fold_binary()s
> > STRIP_NOPS does to avoid the C++ FE constexpr code to regress.
> >
> > Bootstrapped on x86_64-unknown-linux-gnu, testing in progre
On Tue, 11 Aug 2015, Richard Biener wrote:
On Tue, 11 Aug 2015, Marc Glisse wrote:
On Wed, 29 Jul 2015, Richard Biener wrote:
The following fixes PR67053 by more closely mirror what fold_binary()s
STRIP_NOPS does to avoid the C++ FE constexpr code to regress.
Bootstrapped on x86_64-unknown-
Andreas Schwab writes:
> Jiong Wang writes:
>
>> I Just finished several round of rebuild & testing on clean
>> environment.
>
> How did you even manage to compile it?
>
> ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)':
> ../../gcc/ira.c:1415:49: error: iteration 8
On Tue, 11 Aug 2015, Marc Glisse wrote:
> On Tue, 11 Aug 2015, Richard Biener wrote:
>
> > On Tue, 11 Aug 2015, Marc Glisse wrote:
> >
> > > On Wed, 29 Jul 2015, Richard Biener wrote:
> > >
> > > > The following fixes PR67053 by more closely mirror what fold_binary()s
> > > > STRIP_NOPS does to
Andreas Schwab writes:
> Jiong Wang writes:
>
>> I Just finished several round of rebuild & testing on clean
>> environment.
>
> How did you even manage to compile it?
>
> ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)':
> ../../gcc/ira.c:1415:49: error: iteration 8
[ was: Re: [committed, gomp4] Fix release_dangling_ssa_names ]
On 05/08/15 13:13, Richard Biener wrote:
I think that the whole dance of actually moving things instead of
> >just copying it isn't worth the extra maintainance (well, if we already
> >have a machinery duplicating a SESE region to ano
Dear All,
Has this been occasioned by this thread or have other makes
encountered the same difficulty in implementation?
Cheers
Paul
On 10 August 2015 at 20:57, Bader, Reinhold wrote:
> Hello Toon, all else,
>
> a bit unfortunate, in my opinion (I was present at the discussion).
> I've in the
>
> Yes in big-endian DI mode value are stored into VFP registers, and
> here register 16 is the first of them s0. Just in case you want to do
> more test, the issue can be seen with a oneline testcase:
>
> __attribute__((__vector_size__(2 * sizeof(int int fn1() {}
Yep we may well have DImo
From: Trevor Saunders
Hi,
This just cleans things up slightly by removing typedefs that don't serve any
real purpose in C++. If people don't object I'll go through and try and remove
as many more similarly useless typedefs as I can.
bootstrapped + regtest x86_64-linux-gnu, ok?
Trev
gcc/Chang
Robert Suchanek writes:
> gcc/
> * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
> pseudo-processors.
> * config/mips/mips.md (processor): Remove w32 and w64.
OK, thanks.
Matthew
On Tue, Aug 11, 2015 at 12:40 PM, wrote:
> From: Trevor Saunders
>
> Hi,
>
> This just cleans things up slightly by removing typedefs that don't serve any
> real purpose in C++. If people don't object I'll go through and try and
> remove
> as many more similarly useless typedefs as I can.
>
>
Hello Paul,
To my knowledge, the J3 interp F08/128 was triggered by a question coming from
Bill Long from Cray.
The interp's text was written by the Fortran standard's editor. So there is no
direct relation to this thread.
F08/0142 (useless submodules) was in turn triggered by the example giv
Jiong Wang writes:
> Andreas Schwab writes:
>
>> Jiong Wang writes:
>>
>>> I Just finished several round of rebuild & testing on clean
>>> environment.
>>
>> How did you even manage to compile it?
>>
>> ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)':
>> ../../gcc/i
On Mon, 10 Aug 2015, Nathan Sidwell wrote:
> Richard,
>
> This patch fixes the problem I described earlier about min/max generation
> propagating incorrect range information
> (https://gcc.gnu.org/ml/gcc/2015-08/msg00024.html).
>
> I went with creating a new name, if the PHI being modified has m
On Mon, 10 Aug 2015, Nathan Sidwell wrote:
> Richard,
> in looking at how simplify_abs_using_ranges was doing its thing as a guide to
> a min/max vrp optimization, I noticed it was doing more work than necessary.
>
> Firstly, it wasn't taking advantage of the range comparison functions only
> ret
Dear Reinhold,
I am glad that it was not just me being anxious about the issue!
For a day or two, I am somewhat distracted by loading up a new Lenovo
workstation and installing a xeon phi on it. Given the current insane
low price of the BC31S1P, I thought to see how best to allow gfortran
to make
On Mon, 10 Aug 2015, Nathan Sidwell wrote:
> Richard.
> this is the patch for the min/max optimization I was trying to implement
> before getting sidetracked with the phi bug and cleaning the vrp abs
> optimization.
>
> This patch checks both min and max where both operands have a determined
> ra
Review the patches in the previous letter, please.
2015-08-06 17:34 GMT+03:00 Maxim Blumental :
> Applied the idea with python script alternative. Review, please.
--
-
Sincerely yours,
Maxim Blumental
Hi All,
Here is 1-line patch which allows to vectorize shift by inductive
variable for targets supporting vector/vector shift. Test-case is
attached.
Bootstrap and regression testing did not show new failures.
Is it OK for trunk?
ChangeLog:
2015-08-11 Yuri Rumyantsev
* tree-vect-stmts.c (vec
On Fri, Aug 7, 2015 at 10:43 AM, Hurugalawadi, Naveen
wrote:
> Hi,
>
>>> extend it - it should also work for non-INTEGER_CST
>>> divisors and it should work for any kind of division, not just exact_div.
>
> Please find attached the patch "pr25529.patch" that implements the pattern
> for all diviso
On Tue, Aug 11, 2015 at 2:50 PM, Richard Biener
wrote:
> On Fri, Aug 7, 2015 at 10:43 AM, Hurugalawadi, Naveen
> wrote:
>> Hi,
>>
extend it - it should also work for non-INTEGER_CST
divisors and it should work for any kind of division, not just exact_div.
>>
>> Please find attached the
On Fri, Aug 7, 2015 at 10:55 AM, Uros Bizjak wrote:
> Hello!
>
>> Please find attached the patch "pr16107.patch" that converts the
>> pattern:-cos (-x) -> cos (x)
>> Please review and let me know if its okay.
>
> +/* { dg-do compile } */
> +/* { dg-options "-O2 -fdump-tree-optimized" } */
> +/* {
On Thu, Jul 30, 2015 at 05:35:39PM +0200, Manuel López-Ibáñez wrote:
> When I fixed PR59304, I forgot that a command-line warning can be also
> an error if -Werror was enabled. This introduced a regression since
> anything enabled in the command-line together with -Werror would get
> initially clas
The Aarch64 backend implements the atomic operations on memory with the same
patterns iterated over logical and arithmetic operation. It also specifies
constraints on an operand for the operations but the constraints used are only
valid for the logical operations. This can lead to an ICE, with the
On Tue, Aug 11, 2015 at 2:50 PM, Yuri Rumyantsev wrote:
> Hi All,
>
> Here is 1-line patch which allows to vectorize shift by inductive
> variable for targets supporting vector/vector shift. Test-case is
> attached.
>
> Bootstrap and regression testing did not show new failures.
> Is it OK for tru
On Wed, Jul 29, 2015 at 09:44:36AM +0200, Richard Biener wrote:
> @@ -3547,6 +3566,27 @@ fold_stmt_1 (gimple_stmt_iterator *gsi,
> && maybe_canonicalize_mem_ref_addr (lhs))
> changed = true;
> }
> + else
> + {
> + /* Canonicalize operand order. */
> +
On Tue, 11 Aug 2015, Marek Polacek wrote:
> On Wed, Jul 29, 2015 at 09:44:36AM +0200, Richard Biener wrote:
> > @@ -3547,6 +3566,27 @@ fold_stmt_1 (gimple_stmt_iterator *gsi,
> > && maybe_canonicalize_mem_ref_addr (lhs))
> > changed = true;
> > }
> > + else
> > + {
> >
On 11/08/15 14:05, Matthew Wahab wrote:
Tested for arm-none-eabi with cross-compiled check-gcc and for
arm-none-linux-gnueabihf with native bootstrap and make check.
This should have said: Tested for aarch64-none-eabi with cross-compiled check-gcc and
for aarch64-none-linux-gnu with native bo
On Tue, Aug 11, 2015 at 02:05:37PM +0100, Matthew Wahab wrote:
> The Aarch64 backend implements the atomic operations on memory with the same
> patterns iterated over logical and arithmetic operation. It also specifies
> constraints on an operand for the operations but the constraints used are only
On 08/11/2015 12:16 AM, Uros Bizjak wrote:
Hello!
+2015-08-03 Jeff Law
+
+ PR middle-end/66314
+ PR gcov-profile/66899
+ * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
+ iterate over the jump threading paths when an element in the
+ jump threading paths array is eliminated.
+
2
On Wed, Jul 22, 2015 at 07:26:22PM +0200, Marek Polacek wrote:
> In this testcase we were generating an uninitialized variable when doing
> -fsanitize=shift,bounds sanitization. The shift instrumentation is done
> first; after that, the IR looks like
>
> res[i] = (m > 31) ? __ubsan (... tab[i]
On 08/09/2015 03:20 PM, Steven Bosscher wrote:
On Fri, Jul 31, 2015 at 7:26 PM, Jeff Law wrote:
So there's a tight relationship between the implementation of
bbs_ok_for_cmove_arith and insn_valid_noce_process_p. If there wasn't, then
we'd probably be looking to use note_stores and note_uses.
On 11/08/15 18:05, Jeff Law wrote:
On 08/09/2015 03:20 PM, Steven Bosscher wrote:
On Fri, Jul 31, 2015 at 7:26 PM, Jeff Law wrote:
So there's a tight relationship between the implementation of
bbs_ok_for_cmove_arith and insn_valid_noce_process_p. If there wasn't, then
we'd probably be lookin
This patch does a number of things.
1) signed results from the DIM_SIZE and DIM_POS internal fns are better. The
rest of the loop machinery uses signed ints -- to show overflow is undefined.
Returning unsigned simply caused an unsigned->signed conversion and subsequent
confusion.
2) We reall
This patch adds multiversioning for target "pclmul", after similar
patch has been committed for multiversioning for taget "aes".
libgcc/ChangeLog:
2015-08-11 Uros Bizjak
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
(get_available_features)
On Fri, Aug 7, 2015 at 1:21 PM, Uros Bizjak wrote:
> Attached patch fixes:
>
> Makefile:871: warning: overriding recipe for target 'gjdoc'
> Makefile:786: warning: ignoring old recipe for target 'gjdoc'
>
> build warning when compiling libjava.
>
> The problem was in configure.ac: we have to depe
>> Here is 1-line patch which allows to vectorize shift by inductive
>> variable for targets supporting vector/vector shift. Test-case is
>> attached.
>>
>> Bootstrap and regression testing did not show new failures.
>> Is it OK for trunk?
>
> Ok.
I have removed unneeded and now harmful dg-directi
[ was: Re: [committed, gomp4] Fix release_dangling_ssa_names ]
On 05/08/15 13:13, Richard Biener wrote:
On Wed, 5 Aug 2015, Tom de Vries wrote:
On 05/08/15 11:30, Richard Biener wrote:
On Wed, 5 Aug 2015, Tom de Vries wrote:
On 05/08/15 09:29, Richard Biener wrote:
This patch fixes that by
On 08/11/2015 12:03 PM, Uros Bizjak wrote:
On Fri, Aug 7, 2015 at 1:21 PM, Uros Bizjak wrote:
Attached patch fixes:
Makefile:871: warning: overriding recipe for target 'gjdoc'
Makefile:786: warning: ignoring old recipe for target 'gjdoc'
build warning when compiling libjava.
The problem was
When bootstrapping on darwin with vtable verificaiton enabled,
libstdc++ is giving a lot of warnings due to a flag in
VTV_CXXLINKFLAGS that has a slightly different format for darwin than
for linux. This patch (actually contributed by Eric Gallager) fixes
the problem.
I have tested this patch by
On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders
Hi,
This allows classes and virtual functions to be marked as final if the compiler
supports C++11, or is gcc 4.7 or later.
bootstrapped + regtested on x86_64-linux-gnu, ok?
Trev
include/ChangeLog:
2015-08-10 T
On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders
Hi,
In many places gcc puts classes in the anon namespace so the compiler can tell
they do not get inheritted from to enable better devirtualization. However
debugging code in the anon namespace can be a pain, and
On 08/11/2015 07:54 PM, Jeff Law wrote:
> It's probably time for the occasional discussion WRT dropping
> gcj/libjava from the default languages and replace them with either Ada
> or Go.
>
> gcj/libjava are dead IMHO.
I have no objections. GCJ has been tremendously useful bootstrapping
the Ope
On 08/11/2015 01:24 PM, Andrew Haley wrote:
On 08/11/2015 07:54 PM, Jeff Law wrote:
It's probably time for the occasional discussion WRT dropping
gcj/libjava from the default languages and replace them with either Ada
or Go.
gcj/libjava are dead IMHO.
I have no objections. GCJ has been treme
I forgot the ChangeLog enty; here it is:
libstdc++-v3/ChangeLog:
2015-08-11 Caroline Tice
PR 66521, Contributed by Eric Gallager
* acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
fix the rpath flag to work properly for darwin.
* configure: R
On 08/06/2015 04:25 AM, Mikael Morin wrote:
Hello,
this avoids an error found with bootstrap-ubsan.
Regression tested on x86_64-unknown-linux-gnu. OK for trunk?
Mikael
noub_sext.CL
2015-08-05 Mikael Morin
* hwint.h (sext_hwi): Rewrite without undefined behaviour on
negati
On 08/10/2015 08:37 AM, Manuel López-Ibáñez wrote:
PING^2: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02581.html
On 3 August 2015 at 20:47, Manuel López-Ibáñez wrote:
PING: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02581.html
Thanks,
Manuel.
On 30 July 2015 at 17:35, Manuel López-Ibá
On 08/05/2015 11:32 AM, Richard Sandiford wrote:
and I don't see how GCC could prove that eliminate_regs_1 doesn't
modify the value of recog_data.n_dups between the two loops.
eliminate_regs_1 calls functions like plus_constant that are defined
outside the TU and that certainly aren't pure/const.
On 08/11/15 07:41, Richard Biener wrote:
The patch looks good. Note that with SSA name operands it can be
still profitable to do compare_range_with_value, esp. if the other
operand has a symbolical range. See
vrp_evaluate_conditional_warnv_with_ops_using_ranges which actually
implements a nice
On Aug 11, 2015, at 12:08 PM, Caroline Tice wrote:
> When bootstrapping on darwin with vtable verificaiton enabled,
> libstdc++ is giving a lot of warnings due to a flag in
> VTV_CXXLINKFLAGS that has a slightly different format for darwin than
> for linux. This patch (actually contributed by Er
This patch by Chris Manghane changes the Go frontend to not create a
temporary with void type. This fixes https://golang.org/issue/11568 .
Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.
Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE
=
This patch from Chris Manghane changes the Go frontend to treat /* */
comments that contain newlines as though they were a newline, rather
than a space, with regard to semicolon insertion. This fixes
https://golang.org/issue/11528 . Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.
This patch by Chris Manghane fixes the Go frontend to check for EOF
when parsing a function signature. This avoids an infinite loop on an
invalid program, and fixes https://golang.org/issue/11530 and
https://golang.org/issue/11531 . Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.
With support from assembler this option allows compiling huge functions,
where single literal pool at the beginning of a function may not be
reachable by L32R instructions at its end.
Currently assembler --auto-litpools option cannot deal with literals
used from multiple locations separated by mor
Something last week had me looking at ppc64 code generation,
and some of what I saw was fairly bad. Fixing it wasn't going
to be easy, due to the fact that the logic for generating
constants wasn't contained within a single function.
Better is the way that aarch64 and alpha have done it in the
pa
This allows testing for a mask without having to call GEN_INT.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (rs6000_is_valid_mask_wide): Split out from...
(rs6000_is_valid_mask): ... here.
(rs6000_is_valid_and_mask_wide): Split out from...
(rs6000_is_valid_and_m
Cc: David Edelsohn
---
* config/rs6000/rs6000-protos.h (num_insns_constant_wide): Move...
* config/rs6000/rs6000.c: ... prototype here. Make static.
---
gcc/config/rs6000/rs6000-protos.h | 1 -
gcc/config/rs6000/rs6000.c| 3 ++-
2 files changed, 2 insertions(+), 2 deletio
After the fact I noticed this does temporarily remove the
rs6000_is_valid_and_mask test from the DFmode path, but that
will be fixed shortly. And it was missing from the SFmode
path the whole time.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (num_insns_constant): Share code between
No need to special-case this in several places anymore.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (num_insns_constant): Remove test
for rs6000_is_valid_and_mask.
(genimm_ppc::exam_mask): New.
(genimm_ppc::exam_search): Use it.
(genimm_ppc::generate):
Save 2 insns for constants like 0x where
the low 32-bits can be replicated to the high 32-bits.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (genimm_ppc::exam_search): Check for
two equal 32-bit pieces.
(genimm_ppc::generate): Handle VEC_DUPLICATE.
---
Rather than always shift by 32, shift by the total number of zeros required.
The improvement to also look to shift out ones comes from Kenner via alpha.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (genimm_ppc::exam_search): Use ctz to
compute the shift. Also attempt to shift
Helps for constants like 0xf70008000ul, 0xul,
0x550ful.
There doesn't appear to be any benefit to using xori; every test that
I expected to use it found an alternate solution of the same cost.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (genimm_ppc::ex
Rather than only consider -1 as a base, consider any negative number.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (genimm_ppc::exam_search): Attempt to
mask negative numbers.
---
gcc/config/rs6000/rs6000.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/gcc/config/r
Implements basic hashing and minimal cost search, but no real
new optimizations on the constants. That said, there is one
code generation change implied by the searching: we'll find
equal or more efficient alternatives to zero-extending a
32-bit unsigned constant with bit 31 set. E.g.
Helps for constants like 0x3333ul and 0xfffful.
Cc: David Edelsohn
---
* config/rs6000/rs6000.c (genimm_ppc::exam_rotl): New.
(genimm_ppc::exam_search): Use it.
(genimm_ppc::generate): Handle ROTATE.
---
gcc/config/rs6000/rs6000.c | 51
Aside from the hashing, and the splitting of insn generation from
recipe creation, there's no algorithmic change.
Cc: Marcus Shawcroft
Cc: Richard Earnshaw
---
* config/aarch64/aarch64.c: Include genimm-hash.h
(aa_gi_code): New enum.
(genimm_aa64): New class.
(gen
Cc: Marcus Shawcroft
Cc: Richard Earnshaw
---
* config/aarch64/aarch64.c (AA_GI_DUP): New.
(genimm_aa64::exam_full): Test for equal 32-bit parts.
(genimm_aa64::generate): Handle AA_GI_DUP.
---
gcc/config/aarch64/aarch64.c | 17 +
1 file changed, 17 inserti
It's functionality now folded into alpha_emit_set_const.
---
* config/alpha/alpha.c (alpha_emit_set_long_const): Remove.
(alpha_split_const_mov): Don't call it.
(alpha_expand_epilogue): Likewise.
(alpha_output_mi_thunk_osf): Likewise.
---
gcc/config/alpha/alpha.c |
Now that it's easy, avoid the "no_output" parameter
to alpha_emit_set_const.
---
* config/alpha/alpha.c (alpha_cost_set_const): New.
(alpha_legitimate_constant_p): Use it
(alpha_emit_set_const): Remove no_output param.
(alpha_split_const_mov): Update call.
(a
---
* config/alpha/alpha.c: Include genimm-hash.h
(genimm_alpha): New class.
(genimm_alpha::genimm_alpha): New.
(genimm_alpha::set0, genimm_alpha::opN): New.
(genimm_alpha::exam_simple): New.
(genimm_alpha::exam_sub): New.
(genimm_alpha::exam_
Jeff> It's probably time for the occasional discussion WRT dropping
Jeff> gcj/libjava from the default languages and replace them with either
Jeff> Ada or Go.
It's long past time to remove it. It's only had minimal maintenance for
years now. No one is writing new features for it or fixing bugs.
Hi,
For sparc, the scan for 'vectorized 2 loops' in
vect/trapv-vect-reduc-4.c fail because the vector instructions min and
max are not supported.
Tested on x86_64. Tested on sparc by Rainer.
Committed as obvious.
Thanks,
- Tom
Fix vect/trapv-vect-reduc-4.c for sparc
2015-08-12 Tom de Vrie
[ was: Re: [committed, testsuite] Fix vect/trapv-vect-reduc-4.c for sparc ]
On 12/08/15 07:57, Tom de Vries wrote:
Hi,
For sparc, the scan for 'vectorized 2 loops' in
vect/trapv-vect-reduc-4.c fail because the vector instructions min and
max are not supported.
Tested on x86_64. Tested on spar
75 matches
Mail list logo