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.
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 dje@gmail.com
---
*
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 dje@gmail.com
---
* 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
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 dje@gmail.com
---
* config/rs6000/rs6000.c (genimm_ppc::exam_search): Use ctz to
compute the shift. Also
Rather than only consider -1 as a base, consider any negative number.
Cc: David Edelsohn dje@gmail.com
---
* 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
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.
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 progress.
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
Hello!
+2015-08-03 Jeff Law l...@redhat.com
+
+ 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.
+
2015-08-03 Segher Boessenkool
Andreas Schwab writes:
Jiong Wang jiong.w...@arm.com 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:
Andreas Schwab writes:
Jiong Wang jiong.w...@arm.com 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:
Jiong Wang jiong.w...@arm.com 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
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.gnu.org] On
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 avoid the C++ FE
[ 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
Robert Suchanek robert.sucha...@imgtec.com 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 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
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
On Tue, Aug 11, 2015 at 2:50 PM, Richard Biener
richard.guent...@gmail.com wrote:
On Fri, Aug 7, 2015 at 10:43 AM, Hurugalawadi, Naveen
naveen.hurugalaw...@caviumnetworks.com wrote:
Hi,
extend it - it should also work for non-INTEGER_CST
divisors and it should work for any kind of division,
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 DImode
On Tue, Aug 11, 2015 at 12:40 PM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders tbsaunde+...@tbsaunde.org
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
From: Trevor Saunders tbsaunde+...@tbsaunde.org
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
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
On Fri, Aug 7, 2015 at 10:55 AM, Uros Bizjak ubiz...@gmail.com 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 Tue, Aug 11, 2015 at 2:50 PM, Yuri Rumyantsev ysrum...@gmail.com 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
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. */
+ enum
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 reinhold.ba...@lrz.de wrote:
Hello Toon, all else,
a bit unfortunate, in my opinion (I was present at the
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
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
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
+ {
+ /*
Jiong Wang writes:
Andreas Schwab writes:
Jiong Wang jiong.w...@arm.com 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)':
On Fri, Aug 7, 2015 at 10:43 AM, Hurugalawadi, Naveen
naveen.hurugalaw...@caviumnetworks.com 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
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 ysrum...@gmail.com
*
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 more
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
range,
Review the patches in the previous letter, please.
2015-08-06 17:34 GMT+03:00 Maxim Blumental bvm...@gmail.com:
Applied the idea with python script alternative. Review, please.
--
-
Sincerely yours,
Maxim Blumental
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
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 l...@redhat.com
+
+ 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
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 l...@redhat.com 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
On Fri, Aug 7, 2015 at 1:21 PM, Uros Bizjak ubiz...@gmail.com 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
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 ubiz...@gmail.com
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
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 l...@redhat.com 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
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
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-directives from the
[ 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
On 08/11/2015 12:03 PM, Uros Bizjak wrote:
On Fri, Aug 7, 2015 at 1:21 PM, Uros Bizjak ubiz...@gmail.com 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
On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders tbsaunde+...@tbsaunde.org
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
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
On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders tbsaunde+...@tbsaunde.org
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
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
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 OpenJDK
I forgot the ChangeLog enty; here it is:
libstdc++-v3/ChangeLog:
2015-08-11 Caroline Tice cmt...@google.com
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.
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 lopeziba...@gmail.com wrote:
PING: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02581.html
Thanks,
Manuel.
On 30 July 2015 at
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
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 Morinmik...@gcc.gnu.org
* hwint.h (sext_hwi): Rewrite without undefined
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
On Aug 11, 2015, at 12:08 PM, Caroline Tice cmt...@google.com 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
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
Aside from the hashing, and the splitting of insn generation from
recipe creation, there's no algorithmic change.
Cc: Marcus Shawcroft marcus.shawcr...@arm.com
Cc: Richard Earnshaw richard.earns...@arm.com
---
* config/aarch64/aarch64.c: Include genimm-hash.h
(aa_gi_code): New
---
* 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.
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.
Cc: Marcus Shawcroft marcus.shawcr...@arm.com
Cc: Richard Earnshaw richard.earns...@arm.com
---
* 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 |
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 |
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
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
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.
Cc: David Edelsohn dje@gmail.com
---
* 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
This allows testing for a mask without having to call GEN_INT.
Cc: David Edelsohn dje@gmail.com
---
* 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...
No need to special-case this in several places anymore.
Cc: David Edelsohn dje@gmail.com
---
* 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.
Save 2 insns for constants like 0x where
the low 32-bits can be replicated to the high 32-bits.
Cc: David Edelsohn dje@gmail.com
---
* config/rs6000/rs6000.c (genimm_ppc::exam_search): Check for
two equal 32-bit pieces.
(genimm_ppc::generate): Handle
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 dje@gmail.com
---
* config/rs6000/rs6000.c (num_insns_constant):
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
75 matches
Mail list logo