Hi,
After SSA-expand, the code which did the optimization for
(a&(1<>C)&1 became not working because BIT_AND_EXPR
would no longer be in there. This patch fixes the problem by using
get_def_for_expr to get the BIT_AND_EXPR.
OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.
T
Building newer libiberty for s390x targets fails with relocation errors:
libiberty/pic/libiberty.a(hashtab.o): In function 'htab_create':
libiberty/hashtab.c:408:(.text+0x5e4): relocation truncated to fit:
R_390_GOT12 against symbol 'xcalloc' defined in .text section
Hi,
This patch adds -march=octeon+ to GCC.
OK? Bootstrapped and tested on mips64-linux-gnu configured with
--with-arch=octeon+ .
Thanks,
Andrew Pinski
gcc/ChangeLog:
* mips/mips-cpus.def (octeon+): New CPU.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.h (MIPS_CPP_SET_PROCESSOR)
This patch to libgo adds back some benchmark tests which were previously
commented out, and makes them work. These benchmarks were for the
multiplexing code which was added recently. Bootstrapped and ran Go
testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r 1e88c09c3f8b
On 12/06/2011 02:27 PM, Jason Merrill wrote:
On 12/06/2011 08:21 AM, Ed Smith-Rowland wrote:
* parser.c (lookup_literal_operator): Check that current overload
is function_type.
Instead of checking here, let's check is_overloaded_fn (decl) right
after the lookup name.
Jason
OK,
This passe
This patch to libgo removes the remnants of the debug/proc package,
which should have been removed a while back. It also corrects a few
uses of os.Error to the new predeclared error type. Bootstrapped and
ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r 418916ca
Rémy Oudompheng contributed a patch to upgrade the gccgo version of Go
library to the weekly.2011-11-09 release. This patch commits the change
to mainline. As usual with Go library updates, the patch is too large
to include here, and simply repeats changes made to the master library
in any case.
On 12/01/2011 08:01 AM, Jakub Jelinek wrote:
> Here is the vectorizer part (untested so far) + some small i386 tweaks.
> This patch as is regresses code quality for powerpc/ia64/sparc/mips
> (I don't think spu has vec_interleave* patterns in *.md).
>
> If it works out, I guess we could also zap VE
On 12/06/2011 01:42 PM, Andrew Stubbs wrote:
> On Tue 06 Dec 2011 21:05:30 GMT, Richard Henderson wrote:
>> On 12/06/2011 09:59 AM, Andrew Stubbs wrote:
>>> +(define_insn "*one_cmpldi2_neon"
>>> + [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w")
>>> +(not:DI (match_operand:D
On 12/02/2011 06:37 PM, Joseph S. Myers wrote:
On Fri, 2 Dec 2011, Joel Sherrill wrote:
OK. I obviously read too much into the other uses.
I did not intend to change semantics just account for
the change making this not compile.
How does the the new version look?
This version is OK.
Thanks
I've known about this problem for a while but I just haven't gotten around to
fixing it up in the tree.
Committed to trunk.
* config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182067
138bc75d-0d04-0410-961f-82ee72b054a4
--
EFs and deal with simple dereferences specially.
(build_accesses_from_assign): Adjust for above change.
(access_precludes_ipa_sra_p): Likewise.
2011-12-06 Eric Botcazou
* gcc.c-torture/execute/20111206-1.c: New test.
--
Eric Botcazou
/* PR tree-optimization/51315
On Tue 06 Dec 2011 21:05:30 GMT, Richard Henderson wrote:
On 12/06/2011 09:59 AM, Andrew Stubbs wrote:
+(define_insn "*one_cmpldi2_neon"
+ [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w")
+ (not:DI (match_operand:DI 1 "s_register_operand" " w, 0, r, w")))]
alternat
On 12/04/2011 02:52 AM, Richard Sandiford wrote:
> Ping for:
>
> http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02449.html
>
> which fixes a wrong-code bug in reorg.c for MIPS.
Ok.
r~
On 12/06/2011 08:42 AM, Patrick Marlier wrote:
> 2011-12-06 Patrick Marlier
>
> * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
> edge.
>
> testsuite/
> 2011-12-06 Patrick Marlier
>
> * g++.dg/tm/cgraph_edge.C: New test.
Ok.
r~
On 12/05/2011 05:42 PM, Andrew Pinski wrote:
> libgcc/ChangeLog:
> * crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the
> size of func_ptr.
> (__frame_dummy_init_array_entry): Likewise.
Ok.
r~
On 12/06/2011 09:59 AM, Andrew Stubbs wrote:
> +(define_insn "*one_cmpldi2_neon"
> + [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w")
> + (not:DI (match_operand:DI 1 "s_register_operand" " w, 0, r, w")))]
alternative 0 == alternative 3?
r~
On 04/12/2011 17:34, Eric Botcazou wrote:
> Ouch. :-) Please do something like this:
Righto, tweaked as you ask, updated patch attached for reference.
gcc/ada/ChangeLog:
2011-12-06 Dave Korn Index: gcc-interface/Makefile.in
==
On Tue 06 Dec 2011 18:43:05 GMT, Julian Brown wrote:
On Tue, 06 Dec 2011 17:59:44 +
Andrew Stubbs wrote:
This patch adds a one's complement pattern for doing DImode 'not' in
NEON registers.
There are already patterns for doing one's complement of vectors, and
even though it boils down to
Hi,
this fixes the issue in the obvious way, by explicitly declaring
nested_exception::~nested_exception noexcept, necessary today due to
PR50043. I took the occasion to deploy _GLIBCXX_USE_NOEXCEPT in more
places, exception classes and chrono.
Tested x86_64-linux, -enable-libstdcxx-time=rt,
On 12/05/2011 07:15 PM, Gabriel Dos Reis wrote:
you need to spend more time in Paris :-)
Clearly! :)
Jason
On 12/06/2011 08:21 AM, Ed Smith-Rowland wrote:
* parser.c (lookup_literal_operator): Check that current overload
is function_type.
Instead of checking here, let's check is_overloaded_fn (decl) right
after the lookup name.
Jason
Hi!
On this testcase we ICE, because cxx_eval_array_reference calls
build_value_init with ARRAY_TYPE (to get initializer for x[0]).
build_value_init seems to work for arrays of scalars (or arrays of arrays of
scalars etc.) apparently just fine even when processing_template_decl,
if I understand th
OK.
Jason
On Mon, Dec 05, 2011 at 07:21:59PM +0100, Toon Moene wrote:
>
> 2011-12-05 Toon Moene
>
> PR/51310
> invoke.texi: Itemize the cases for which -finit- doesn't
> work.
>
> OK for trunk ? (and perhaps later for the 4.6 branch ?
>
Looks good to me. You can apply it to the 4.6
Hi, Joseph, thanks!
Yeah, I see where the problem is - I posted all these
(patchset,Changelog, rationale and previous gcc-patches discussion.)
on http://codereview.appspot.com/5394041
So in addition to that, I include them all here
==
This is a follow up for issue
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 12/06/11 05:21, Jakub Jelinek wrote:
> Hi!
>
> IMNSHO we want .cfi_restore rbp on leave insn even when that insn
> isn't setting cfa (on the shrink-wrapped testcase below already the
> previous load of %r10 sets cfa, but there is no .cfi_restore rb
Hello!
-mfma is valid only on x86 targets
2011-12-06 Uros Bizjak
* g++.dg/opt/pr51396.C: Use dg-additional-options.
Tested on alphaev68-pc-linux-gnu, committed to mainline SVN.
Uros.
Index: g++.dg/opt/pr51396.C
===
---
On Tue, 06 Dec 2011 17:59:44 +
Andrew Stubbs wrote:
> This patch adds a one's complement pattern for doing DImode 'not' in
> NEON registers.
>
> There are already patterns for doing one's complement of vectors, and
> even though it boils down to the same instruction, the DImode case
> was
I committed this patch. It fixes a thinko I had in the builtin support that I
committed on November 29th. I had used the wrong field for figuring out the
attributes, and it meant that gcc.target/powerpc/recip-5.c started failing
since __builtin_recipdiv and __builtin_recipdivf were not considered
Rainer Orth writes:
> Unfortunately, the patch forgot a couple of instances of os.Error,
> breaking Solaris bootstrap. The following fixes allowed the bootstrap
> to complete.
Thanks a lot for the patch. Committed.
Ian
This patch adds a one's complement pattern for doing DImode 'not' in
NEON registers.
There are already patterns for doing one's complement of vectors, and
even though it boils down to the same instruction, the DImode case was
missing.
The patch needs to be a little more complicated than usin
And here is the web page patch that I just applied.
Gerald
Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.822
diff -u -3 -p -r1.822 index.html
--- index.html 8 Nov 2011 12:09:30 -
On 12/05/2011 07:38 PM, H.J. Lu wrote:
On Mon, Dec 5, 2011 at 5:42 PM, Andrew Pinski
wrote:
Hi,
Like the .ctors array, __do_global_dtors_aux_fini_array_entry and
__frame_dummy_init_array_entry arrays need a specific alignment. This
patch fixes those two arrays. This patch fixes the bootstr
Hi,
On Sun, Dec 04, 2011 at 05:00:41PM +0100, Jan Hubicka wrote:
> > > No to what? To the fact that HOST_WIDEST_INT is host-dependent
> > > and thus should not be used to drive code generation? Or no to the
> > > fact that we can (and do) use int64_t as host integer type?
> >
> > No to the fact
On 12/06/2011 11:39 AM, Dodji Seketeli wrote:
Just curious, do we have a rule about when to turn permerrors into
unconditional errors and thus stop providing legacy code bases with a
smooth migration path?
No. In general, I don't see any need to do so; they are errors under
the default compil
OK.
Jason
On 12/06/2011 04:21 AM, Jakub Jelinek wrote:
> PR target/51354
> * config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note
> unconditionally.
>
> * gcc.c-torture/compile/pr51354.c: New test.
Ok.
r~
Hi,
for this ICE on invalid, where we crash because we try to set
AGGR_INIT_ZERO_FIRST (ctor) = 1 on the error_mark_node returned by
build_aggr_init_expr, I think it's fine to just move the check like in
the below, because build_aggr_init_expr itself can handle ctor ==
error_mark_node.
Test
Hi,
In testcase cgraph_edge.C, inline_edge_summary in
estimate_function_body_sizes fails because there is no callgraph edge
representing the stmt.
The edge was removed in ipa_tm_transform_calls_redirect after
transforming to indirect call.
Honza: I have added you to this email since Richard
Gabriel Dos Reis writes:
[...]
>> --- a/gcc/cp/parser.c
>> +++ b/gcc/cp/parser.c
>> @@ -22520,10 +22520,14 @@ static void
>> cp_parser_check_class_key (enum tag_types class_key, tree type)
>> {
>> if ((TREE_CODE (type) == UNION_TYPE) != (class_key == union_type))
>> - permerror (input_loc
Ian Lance Taylor writes:
> I have updated the libgo library to the weekly.2011-11-02 release of the
> master library. The only changes in this patch are to switch from using
> the type os.Error to the new predeclared type error, and to add a new
> errors package providing a couple of convenience
On Tue, Dec 06, 2011 at 05:14:32PM +0100, Tobias Burnus wrote:
> On 12/06/2011 05:10 PM, Steve Kargl wrote:
> >OK with a proper ChangeLog entry
>
> Thanks for the review - but what's wrong with the current changelog, cf.
> http://gcc.gnu.org/ml/fortran/2011-12/msg00030.html - I had:
It belongs i
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 12/06/11 07:36, Jakub Jelinek wrote:
> Hi!
>
> These tests had insane stack requirements, much larger than the
> usual 8/10/4/2MB RLIMIT_STACK limit defaults. When the variables
> are file scope, the exactly same optimizations happen (unlike some
>
On 12/06/2011 05:10 PM, Steve Kargl wrote:
OK with a proper ChangeLog entry
Thanks for the review - but what's wrong with the current changelog, cf.
http://gcc.gnu.org/ml/fortran/2011-12/msg00030.html - I had:
2011-12-06 Tobias Burnus
PR fortran/51435
* expr.c (gfc_has_defa
On Tue, Dec 06, 2011 at 03:19:40PM +0100, Tobias Burnus wrote:
> This patch fixes issues with the "=> null()" initialization of pointers;
> the "=> tgt" initialization was working before.
>
> The check has to take into account that allocatable components do not
> count as default initializer, ev
On Tue, Dec 6, 2011 at 4:10 AM, Dodji Seketeli wrote:
> Hello,
>
> Consider this short invalid example:
>
> typedef struct _GMutex GMutex; // #1
> typedef union _GMutex GMutex; // #2 <-- _GMutex named again using a
> // "union" class-key even though it was
Hi,
tested x86_64-linux, committed.
Thanks,
Paolo.
/
2011-12-06 Jonathan Wakely
Chris Jefferson
PR libstdc++/51183
* include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove.
(pair<>::pair(piecewise_construct_t, tuple<>, tu
This removes accounting for the number of remaining calls in
the inlining edge badness calculation (as discussed in private
with Honza a long time ago - and yes, we disagreed). This
fixes the various ICEs of the edge badness update and caching
code checking which are now present for over one mont
Hi!
These tests had insane stack requirements, much larger than the usual
8/10/4/2MB RLIMIT_STACK limit defaults.
When the variables are file scope, the exactly same optimizations happen
(unlike some tests if N is lowered to half or more), so I've tested
this on x86_64-linux and committed.
2011-1
2011/12/6 Georg-Johann Lay :
> Denis Chertykov wrote:
>> 2011/11/29 Georg-Johann:
>>> Ian Lance Taylor wrote:
Georg-Johann Lay:
> So if a frontend can define address spaces and it is a generic feature,
> the
> question is how to get the name of an address space in a generic,
This patch fixes issues with the "=> null()" initialization of pointers;
the "=> tgt" initialization was working before.
The check has to take into account that allocatable components do not
count as default initializer, even if they are internally handled as
NULL initialization.
With patch:
Which no longer fails.
Committed.
Richard.
2011-12-06 Richard Guenther
PR tree-optimization/49997
* gcc.dg/torture/pr49997.c: New testcase.
Index: gcc/testsuite/gcc.dg/torture/pr49997.c
===
--- gcc/testsuite/gc
Hi,
On Tue, 6 Dec 2011, Tom de Vries wrote:
> what should be the 'next' returned by delete_insn?
There are exactly two calls of delete_insn that take the return value.
One (delete_insn_and_edges) just uses it to return it itself (and there
are no calls to delete_insn_and_edges that use the re
Denis Chertykov wrote:
> 2011/11/29 Georg-Johann:
>> Ian Lance Taylor wrote:
>>> Georg-Johann Lay:
>>>
So if a frontend can define address spaces and it is a generic feature, the
question is how to get the name of an address space in a generic, language
independent way.
>>> We could
This time with patch.
gcc/testsuite:
2011-12-06 Ed Smith-Rowland <3dw...@verizon.net>
PR c++/51420
* g++.dg/cpp0x/pr51420.C: New.
gcc/cp:
2011-12-06 Ed Smith-Rowland <3dw...@verizon.net>
PR c++/51420
* parser.c (lookup_literal_operator): Check that current overload
is
gcc/testsuite:
2011-12-06 Ed Smith-Rowland <3dw...@verizon.net>
PR c++/51420
* g++.dg/cpp0x/pr51420.C: New.
gcc/cp:
2011-12-06 Ed Smith-Rowland <3dw...@verizon.net>
PR c++/51420
* parser.c (lookup_literal_operator): Check that current overload
is function_type.
On 05/12/11 13:50, Michael Matz wrote:
> Hi,
>
> On Sun, 4 Dec 2011, Eric Botcazou wrote:
>
>>> I'm just a bit worried about the name "delete_label". "delete_insn
>>> (label)" should always do the right thing for a pure deletion; the
>>> point of the new routine is that it also moves instructio
This moves the alias quirk handling from assemble_alias to
its caller, rest_of_decl_compilation. There it is guarded
by !in_lto_p and thus the LTO partitioning related issue
(it marks the alias DECL_EXTERNAL and requires that to stay so)
does not trigger. Source quirk moving up the call stack so
Hi!
IMNSHO we want .cfi_restore rbp on leave insn even when that insn isn't
setting cfa (on the shrink-wrapped testcase below already the previous
load of %r10 sets cfa, but there is no .cfi_restore rbp and we ICE when
processing the merge label to which pre-prologue bb jumps (which obviously
does
Hi!
On this invalid testcase we ICE starting with PR47956 changes, because
a static data member is VAR_HAD_UNKNOWN_BOUND, but
maybe_deduce_size_from_array_init changes its type from incomplete
array to error_mark_node. tsubst_decl assumes that VAR_HAD_UNKNOWN_BOUND
has ARRAY_TYPE type. Here is o
Tested on x86_64-unknown-linux-gnu, applied as obvious.
Richard.
2011-12-06 Richard Guenther
PR middle-end/51436
* gimple-fold.c (gimplify_and_update_call_from_tree): Guard
vdef check for the fact we do not have virtual operands when
not optimizing.
*
> Ah, so in the BLKmode case, VALUE can still be a nonzero const_int?
Yes, I'd think so.
> What are the justification rules in that case? Naively, I'd have
> expected a store of (const_int 1) into a BLKmode field to set one
> of the bits to 1, but it sounds from the above like it depends on
> en
This fixes PR51245 - we fail to account for already existing VNs
when we discover translated constants in vn_reference_lookup_3.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Richard.
2011-12-06 Richard Guenther
PR tree-optimization/51245
* tree-ssa-
On 6 December 2011 07:12, Miles Bader wrote:
> BTW, is there a reason that C1X _Alignas is supported, but not C++11
> alignas? Is the latter harder?
Huh, for some reason I thought it already was. That makes the
stdalign.h part of my patch wrong then.
Hello,
Consider this short invalid example:
typedef struct _GMutex GMutex; // #1
typedef union _GMutex GMutex; // #2 <-- _GMutex named again using a
// "union" class-key even though it was
// named using a "struct" cla
David Edelsohn writes:
> On Mon, Nov 28, 2011 at 11:03 PM, Alan Modra wrote:
>> On Mon, Nov 28, 2011 at 05:15:08PM +0100, Rainer Orth wrote:
>>> Alan Modra writes:
>>>
>>> > On Sun, Nov 27, 2011 at 08:36:38PM -0500, David Edelsohn wrote:
>>> >> I was hoping that other targets affected by the pa
Hello,
Post-link optimizers encounter difficulties when trying to reorder data
where the code was compiled with -fsection-anchors. The reordering process
uses relocation information, available when linking with --emit-relocs, to
update references to the relocated objects. However -fsection-anchors
On Mon, 5 Dec 2011, Jakub Jelinek wrote:
> Hi!
>
> When a multiply stmt has zero uses, convert_mult_to_fma immediately
> returns true, meaning the multiplication can be deleted. Normally it should
> be DCE job to remove dead stmts, not widening_mul pass IMHO, and in this
> case it shouldn't be r
69 matches
Mail list logo