Re: [PATCH 1/3] libstdc++: Add time_get::get support.

2014-04-15 Thread Marc Glisse
On Tue, 15 Apr 2014, Paolo Carlini wrote: Anyway, the real issue is indeed that implementing those bits requires a new virtual function, and that would break the ABI. What is the status of the ABI half-break plan (abi_tag and such), necessary to get the remaining pieces of C++11? -- Marc Gl

Re: [PATCH v2] libstdc++: Add hexfloat/defaultfloat io manipulators.

2014-04-15 Thread Luke Allardyce
>> Also the old standard seems to require that ios_base::fixed | >> ios_base::scientific (or any other combination) falls through to the >> uppercase test; I was trying to use abi_tag for a solution as not only >> would two versions of _S_format_float be necessary, but also num_get >> due to the pr

[PING] [PATCH] PR debug/57519 - Emit DW_TAG_imported_declaration under the right class for 'using' statements in a class

2014-04-15 Thread Siva Chandra
This is a ping about a patch I had posted sometime back. Previous post: http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01332.html It was reviewed by Cary, but he said that a C++ front end maintainer needs to approve it: http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00175.html The patch is attached.

Re: [PATCH] pedantic warning behavior when casting void* to ptr-to-func, 4.8 and 4.9

2014-04-15 Thread Daniel Gutson
On Tue, Apr 15, 2014 at 6:12 PM, Richard Sandiford wrote: > cc:ing Jason, who's the C++ maintainer. FWIW: I created http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60850 > > Daniel Gutson writes: >> ping for maintainer. >> >> Could this be considered for 4.8.3 please? >> >> Thanks, >> >>Daniel

Re: [PATCH] offline gcda profile processing tool

2014-04-15 Thread Jan Hubicka
Rong, David, Dehao, Teresa I would like to have some rought idea of what we could merge this stage1. There is certainly a lot of interesting stuff on the google branch including AutoFDO, LIPO, the multivalue profile counters that may be used by the new devirtualization bits and more. I also thin

Re: [PATCH 1/3] libstdc++: Add time_get::get support.

2014-04-15 Thread Paolo Carlini
Hi, On 04/15/2014 11:19 PM, Rüdiger Sonderfeld wrote: This patch adds support for std::time_get::get and std::time_get::do_get [locale.time.get]. Currently do_get is not virtual because this caused segfault errors for me. Those should be isolated and a compiler bug report opened including a mi

Re: [PATCH] dwarf2out: Use normal constant values in bound_info if possible.

2014-04-15 Thread Cary Coutant
> + /* If HOST_WIDE_INT is big enough then represent the bound as > + a constant value. Note that we need to make sure the type > + is signed or unsigned. We cannot just add an unsigned > + constant if the value itself is positive. Some DWARF > + consume

[PATCH 3/3] libstdc++: Add get_time support.

2014-04-15 Thread Rüdiger Sonderfeld
* libstdc++-v3/include/std/iomanip (_Get_time): New struct. (get_time): New manipulator [ext.manip]. (operator>>): New overloaded function. * libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc: * libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc: * libstdc

[PATCH 2/3] libstdc++: Add put_time support.

2014-04-15 Thread Rüdiger Sonderfeld
Described in [ext.manip]. * libstdc++-v3/include/std/iomanip (_Put_time): New struct. (put_time): New manipulator. (operator<<): New overloaded function. * libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/1.cc: * libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/

[PATCH 1/3] libstdc++: Add time_get::get support.

2014-04-15 Thread Rüdiger Sonderfeld
This patch adds support for std::time_get::get and std::time_get::do_get [locale.time.get]. Currently do_get is not virtual because this caused segfault errors for me. * libstdc++-v3/include/bits/locale_facets_nonio.h (time_get::get): (time_get::do_get): New method (C++11). * libstdc++-v3/incl

Re: [PATCH] pedantic warning behavior when casting void* to ptr-to-func, 4.8 and 4.9

2014-04-15 Thread Richard Sandiford
cc:ing Jason, who's the C++ maintainer. Daniel Gutson writes: > ping for maintainer. > > Could this be considered for 4.8.3 please? > > Thanks, > >Daniel. > > > On Tue, Apr 1, 2014 at 2:46 PM, Daniel Gutson > wrote: >> >> I just realized I posted the patch in the wrong list. >> >> >> ---

Re: [RFC][PATCH][MIPS] Patch to enable LRA for MIPS backend

2014-04-15 Thread Richard Sandiford
Robert Suchanek writes: >> Hmm, marking them fixed was supposed to be a temporary reload-only thing, >> until the move to LRA. It should never be worse to spill to these GPRs >> over spilling to the stack, if the value isn't live across a call. > > I would say this also affects IRA/LRA integratio

Minor ipa-devirt improvement

2014-04-15 Thread Jan Hubicka
Hi, this patch prevents ipa-devirt to devirtualize to functions that are not exported and have no address takem from virtual table; those are obviously not going to be targets of virtual calls. Honza * ipa-devirt.c (referenced_from_vtable_p): New predicate. (maybe_record_node, lik

Re: C++ PATCH for c++/51747 (list-initialization from same type)

2014-04-15 Thread Marc Glisse
On Tue, 15 Apr 2014, Jason Merrill wrote: It's just vectors, because they're an extension; the patch I checked in covered the standard language. Like this? (regtested on x86_64-linux-gnu) 2014-04-16 Marc Glisse gcc/cp/ * decl.c (reshape_init_r): Handle a single element of vector t

Re: [RFC][PATCH] RL78 - clean-up of missing operand mode warnings.

2014-04-15 Thread DJ Delorie
I typically leave the mode off when the operand accepts a CONST_INT as I've had problems with patterns matching CONST_INTs otherwise, as CONST_INT rtx's do not have a mode (or have VOIDmode). (yes, I know gcc is supposed to accomodate that, but like I said, I've had problems...)

RFA: Tighten checking for 'X' constraints

2014-04-15 Thread Richard Sandiford
As Robert pointed out here: http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00416.html we're a bit too eager when folding stuff into an 'X' constraint. The value at expand time is sensible, but after that asm_operand_ok allows arbitrary rtx expressions, including any number of registers as well

[RFC][PATCH] RL78 - clean-up of missing operand mode warnings.

2014-04-15 Thread Richard Hulme
Hi, This patch cleans up some warnings when building due to missing operand modes. "trampoline_init" in rl78.md still produces warnings but I'm not entirely sure about how best to fix that insn and I didn't want to break anything. Regards, Richard 2014-04-15 Richard Hulme *

Re: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16

2014-04-15 Thread Richard Sandiford
"Moore, Catherine" writes: >> -Original Message- >> From: Moore, Catherine >> Sent: Tuesday, April 15, 2014 8:49 AM >> To: Rozycki, Maciej; Richard Sandiford >> Cc: Matthew Fortune; gcc-patches@gcc.gnu.org; Moore, Catherine >> Subject: RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH

Re: [patch] Use delegating constructors in std::shared_ptr

2014-04-15 Thread Jonathan Wakely
On 15/04/14 21:51 +0200, Václav Zeman wrote: On 04/15/2014 08:29 PM, Jonathan Wakely wrote: A minor simplification that removes a longstanding TODO note. Tested x86_64-linux, committed to trunk. diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h ind

RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16

2014-04-15 Thread Moore, Catherine
> -Original Message- > From: Moore, Catherine > Sent: Tuesday, April 15, 2014 8:49 AM > To: Rozycki, Maciej; Richard Sandiford > Cc: Matthew Fortune; gcc-patches@gcc.gnu.org; Moore, Catherine > Subject: RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and > SB16 > > > > > -

Re: [C PATCH] Make attributes accept enum values (PR c/50459)

2014-04-15 Thread Marek Polacek
On Tue, Apr 15, 2014 at 09:59:10AM -0400, Jason Merrill wrote: > On 04/14/2014 11:10 AM, Marek Polacek wrote: > >+ else if (TREE_CODE (val) == IDENTIFIER_NODE) > >+{ > >+ tree t = lookup_name (val); > >+ if (t && TREE_CODE (t) == CONST_DECL) > >+return DECL_INITIAL (t); > >+}

[patch] libstdc++ testsuite tweaks

2014-04-15 Thread Jonathan Wakely
Three little fixes. Tested x86_64-linux, committed to trunk. commit 17beaac60c01164cc496da57a2a9ced7a487d17d Author: Jonathan Wakely Date: Tue Apr 15 19:41:42 2014 +0100 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do not use uninitialized members in mem-

Re: Make string_view operations involving CharT* *not* noexcept and consistent beween string_view and string_view.tcc.

2014-04-15 Thread Jonathan Wakely
On 29/03/14 14:54 -0400, Ed Smith-Rowland wrote: All, In string_view I botched the noexcept specification of operations like find and friends with CharT* arguments. I'm a little surprised the inconsistency between string_view and string_view.tcc didn't error. In fact, in one repo thats a li

[patch] Fix libstdc++ tests w.r.t PR c++/60786

2014-04-15 Thread Jonathan Wakely
G++ accepts these tests but it shouldn't, and clang doesn't, so this makes them valid C++11. Tested x86_64-linux, committed to trunk. commit f1517e2ae280691724472cbd0f6b31fa98f313d0 Author: Jonathan Wakely Date: Tue Apr 15 19:39:15 2014 +0100 PR c++/60786 * testsuite/20_util/

Re: calloc = malloc + memset

2014-04-15 Thread Marc Glisse
Let me ping this. There's no hurry, but it may have got lost with 4.9 approaching. http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01205.html On Sun, 23 Mar 2014, Marc Glisse wrote: On Mon, 3 Mar 2014, Richard Biener wrote: That's a bit much of ad-hoc pattern-matching ... wouldn't be p = mallo

Re: [v3] Slightly improve operator new

2014-04-15 Thread Marc Glisse
Ping http://gcc.gnu.org/ml/gcc-patches/2014-03/msg00051.html On Sun, 2 Mar 2014, Marc Glisse wrote: Hello, inlining operator new (with LTO or otherwise), I noticed that it has a complicated implementation, which makes it hard to use this inlined code for optimizations. This patch does two t

[patch] Fix non-reserved names in

2014-04-15 Thread Jonathan Wakely
The parameters names should all be reserved names. Also remove some trailing whitespace at the end of lines. Tested x86_64-linux, committed to trunk. commit b6e5e08880da7d80c1f14c132bd4bd8eed301205 Author: Jonathan Wakely Date: Tue Apr 15 19:01:36 2014 +0100 * include/std/atomic: Ugli

[patch] Use delegating constructors in std::shared_ptr

2014-04-15 Thread Jonathan Wakely
A minor simplification that removes a longstanding TODO note. Tested x86_64-linux, committed to trunk. commit 7769b63f43899b901bba08e5b2b3a6806e2195f2 Author: Jonathan Wakely Date: Tue Apr 15 19:00:47 2014 +0100 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use

[patch] Add const to constexpr member functions

2014-04-15 Thread Jonathan Wakely
Add const to functions that would change meaning in C++14. Tested x86_64-linux, committed to trunk. commit f30d35d5a7aa3ff2e0d0e4010aecaf9f5a5fb9ed Author: Jonathan Wakely Date: Tue Apr 15 18:55:45 2014 +0100 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add

[PATCH] Make SRA tolerate most throwing statements

2014-04-15 Thread Martin Jambor
Hi, back in January in http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00848.html Eric pointed out a testcase where the problem was SRA not scalarizing an aggregate because it was involved in a throwing statement. The reason is that SRA is likely to need to append new statements after each one where

Re: [RFC] Enable virtual operands at -O0

2014-04-15 Thread Eric Botcazou
> ISTR some more ???/FIXMEs and/or special-casings we could remove with > that. As followup, of course. It would be better to remove them all at once, so if you have specifics... > The single reason why we don't have virtual operands at -O0 is compile-time > btw - SSA rewrite doesn't come for fr

Re: [PATCH][AArch64] Vectorise bswap[16,32,64]

2014-04-15 Thread Eric Christopher
Testcase weirdness? for (i < 0; i < N; ++i) { arr[i] = i; expect[i] = __builtin_bswap64 (i); if (y) /* Avoid vectorisation. */ abort (); } i < 0 :) duplicated in all 3 testcases btw. -eric On Tue, Apr 15, 2014 at 4:25 AM, Kyrill Tkachov wrote: > Hi all, > > This

Re: [PATCH 1/3, x86] X86 Silvermont vector cost model tune

2014-04-15 Thread Uros Bizjak
On Tue, Apr 15, 2014 at 6:06 PM, Evgeny Stupachenko wrote: > I've separated the patch into 3. > The patch passes x86 bootstrap. > > 1st part: > > 2014-04-15 Evgeny Stupachenko > >* config/i386/i386.c (slm_cost): Fixing vec_to_scalar_cost for >Silvermont according latency table.

Re: [build] Correctly detect native TLS support with 64-bit gas on Solaris/x86 (PR target/60817)

2014-04-15 Thread Uros Bizjak
On Tue, Apr 15, 2014 at 5:21 PM, Rainer Orth wrote: > As reported in the PR, gcc/configure currently fails to detect native > TLS support on x86_64-*-solaris2* with a 64-bit gas since it feeds it > 32-bit TLS code. I haden't noticed this so far since I've been using a > 32-bit gas here (no idea w

Re: [RFC] [Testsuite,ARM] Neon intrinsics executable tests

2014-04-15 Thread Christophe Lyon
On 15 April 2014 16:18, Ramana Radhakrishnan wrote: > On 04/14/14 23:16, Christophe Lyon wrote: >> >> Hi Ramana, >> >> Here is an updated version of my proposal to include tests for Neon >> intrinsics. >> >> wrt to my previous post, I have made a few changes: >> - renamed the test files, removing

Re: [PATCH] [CLEANUP] Declare global functions before defining them

2014-04-15 Thread Patrick Palka
On Tue, Apr 15, 2014 at 3:52 AM, Richard Biener wrote: > On Mon, Apr 14, 2014 at 4:52 PM, Patrick Palka wrote: >> Hi everyone, >> >> Many source files currently define a global function that is not >> previously declared within that source file because the source file did >> not include the appro

Re: [PATCH] [CLEANUP] Wrap locally-used functions in anonymous namespaces

2014-04-15 Thread Patrick Palka
On Tue, Apr 15, 2014 at 3:51 AM, Richard Biener wrote: > On Mon, Apr 14, 2014 at 4:51 PM, Patrick Palka wrote: >> Hi everyone, >> >> This patch wraps a bunch of locally-used, non-debug functions in an >> anonymous namespace. These functions can't simply be marked as "static" >> because they are

Re: [PATCH] Add DW_AT_const_value as unsigned or int depending on type and value used.

2014-04-15 Thread Cary Coutant
> Added a clarifying comment to the code and reinstated the TODO for the > double case. OK to push? > > * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value > as unsigned or int depending on type and value used. OK. Thanks! -cary

[PATCH] Fix reassociation with -g (PR tree-optimization/60844)

2014-04-15 Thread Jakub Jelinek
Hi! The (admittedly ugly) reassoc stmt positioning stuff requires that we maintain uids in ascending order within each bb (equal uid for several adjacent stmts is ok), including debug stmts. We assign those initially, and for stmts we add we make sure to copy the uid from some adjacent insn. But,

[C++ Patch/RFC] Remove unify_success / unify_invalid unused parameter?

2014-04-15 Thread Paolo Carlini
Hi, a lot of time ago I noticed that these parameters are unused: should I prepare a ChangeLog for the below or we have stylistic, etc, reasons for keeping the parameters? Thanks, Paolo. PS: I also see many int return types in the various unify* which could as well be bool. Opinions about t

[PATCH 3/3, x86] X86 Silvermont vector cost model tune

2014-04-15 Thread Evgeny Stupachenko
3d part: 2014-04-15 Evgeny Stupachenko * config/i386/i386.c (x86_add_stmt_cost): Fixing vector cost model for Silvermont. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 0ae3cda..2522b5c 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8

[PATCH 2/3, x86] X86 Silvermont vector cost model tune

2014-04-15 Thread Evgeny Stupachenko
2d part: 2014-04-15 Evgeny Stupachenko * config/i386/x86-tune.def (TARGET_SLOW_PHUFFB): Target for slow byte shuffle on some x86 architectures. * config/i386/i386.h (TARGET_SLOW_PHUFFB): Ditto. * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles

[PATCH 1/3, x86] X86 Silvermont vector cost model tune

2014-04-15 Thread Evgeny Stupachenko
Hi, I've separated the patch into 3. The patch passes x86 bootstrap. 1st part: 2014-04-15 Evgeny Stupachenko * config/i386/i386.c (slm_cost): Fixing vec_to_scalar_cost for Silvermont according latency table. (intel_cost): Ditto. diff --git a/gcc/config/i386/i386.c b/gc

Re: [RFC] Enable virtual operands at -O0

2014-04-15 Thread Richard Biener
On Tue, Apr 15, 2014 at 4:13 PM, Eric Botcazou wrote: > Hi, > > I recently stumbled on the ??? comment in tree-ssa-uninit.c and wondered why > virtual operands are not enabled at -O0. As demonstrated by the attached > patch, this would make it possible to unXFAIL a few uninit-*.c testcases. > > T

[patch] libstdc++/60594 - std::function

2014-04-15 Thread Jonathan Wakely
The bug in the PR is that is_copy_constructible> performs overload resolution for function(const function&), which instantiates the SFINAE constraints on the function(F) constructor template, which instantiates is_convertible, which is ill-formed when bar is incomplete. When bar is later complete

[build] Correctly detect native TLS support with 64-bit gas on Solaris/x86 (PR target/60817)

2014-04-15 Thread Rainer Orth
As reported in the PR, gcc/configure currently fails to detect native TLS support on x86_64-*-solaris2* with a 64-bit gas since it feeds it 32-bit TLS code. I haden't noticed this so far since I've been using a 32-bit gas here (no idea why). The following patch fixes this by making sure 64-bit co

RE: [PATCH, PR60189, Cilk+] Fix for ICE with incorrect Cilk_sync usage

2014-04-15 Thread Zamyatin, Igor
> -Original Message- > From: Jason Merrill [mailto:ja...@redhat.com] > Sent: Monday, April 14, 2014 9:49 PM > To: Zamyatin, Igor; Jakub Jelinek > Cc: GCC Patches (gcc-patches@gcc.gnu.org); Iyer, Balaji V > Subject: Re: [PATCH, PR60189, Cilk+] Fix for ICE with incorrect Cilk_sync > usage

Re: [patch] Fix PR59295 -- move redundant friend decl warning under -Wredundant-decls

2014-04-15 Thread Jason Merrill
On 03/21/2014 12:16 PM, Paul Pluzhnikov wrote: Ok for trunk once it opens in stage 1? OK. Jason

Re: C++ PATCH for c++/51747 (list-initialization from same type)

2014-04-15 Thread Jason Merrill
On 04/15/2014 10:13 AM, Marc Glisse wrote: I can add || VECTOR_TYPE_P (type), yes, but I thought you might have ideas about other cases that might have been forgotten, maybe arrays or something (I didn't have time to test any further), and thus on what the right test should be. If it is just vect

[patch] libstdc++/60695 - add static_assert to std::atomic

2014-04-15 Thread Jonathan Wakely
As I said in the PR comments, I see no useful reason to allow std::atomic<> to support zero-sized types. Tested x86_64-linux, committed to trunk. commit 6835d5ad1694f54d16c4a0d63273b12cbed78852 Author: Jonathan Wakely Date: Tue Apr 15 13:19:32 2014 +0100 PR libstdc++/60695 *

[RFC] Enable virtual operands at -O0

2014-04-15 Thread Eric Botcazou
Hi, I recently stumbled on the ??? comment in tree-ssa-uninit.c and wondered why virtual operands are not enabled at -O0. As demonstrated by the attached patch, this would make it possible to unXFAIL a few uninit-*.c testcases. Tested on x86_64-suse-linux. * tree-ssa-operands.c (crea

Re: C++ PATCH for c++/51747 (list-initialization from same type)

2014-04-15 Thread Marc Glisse
On Tue, 15 Apr 2014, Jason Merrill wrote: On 04/14/2014 06:02 PM, Marc Glisse wrote: shouldn't the same also apply if VECTOR_TYPE_P (type), not just for CLASS_TYPE_P (type)? Sure. Do you want to make that change? I can add || VECTOR_TYPE_P (type), yes, but I thought you might have ideas a

Re: [PATCH] Fix PR56965, move nonoverlapping_component_refs_p

2014-04-15 Thread Richard Biener
On Tue, 15 Apr 2014, Eric Botcazou wrote: > > I didn't yet relax some of its restrictions (we can safely > > skip real/imag-part and array[-range?]-refs - we don't have > > to stop at them. There is also the question whether > > aliasing_component_refs_p still does sth useful after this > > (if t

Re: [C++ Patch] Minor TYPE_NAME clean-up

2014-04-15 Thread Jason Merrill
I'd rather not use TYPE_LINKAGE_IDENTIFIER in places that aren't dealing with linkage. The other changes are OK. Jason

Re: [PATCH] Fix PR56965, move nonoverlapping_component_refs_p

2014-04-15 Thread Eric Botcazou
> I didn't yet relax some of its restrictions (we can safely > skip real/imag-part and array[-range?]-refs - we don't have > to stop at them. There is also the question whether > aliasing_component_refs_p still does sth useful after this > (if those restrictions are removed). > > Bootstrap / regt

Re: [PATCH][ARM] PR60663: Improve RTX costs for asm statements

2014-04-15 Thread Kyrill Tkachov
On 15/04/14 14:55, Richard Earnshaw wrote: On 15/04/14 11:56, Kyrill Tkachov wrote: Hi all, This patch relates to PR60663 where cse got confused due to asm statements being given a cost of zero in the arm backend. Jakub already put in a fix to cse for 4.9.0 (http://gcc.gnu.org/ml/gcc-patches/

Re: C++ PATCH for c++/51747 (list-initialization from same type)

2014-04-15 Thread Jason Merrill
On 04/14/2014 06:02 PM, Marc Glisse wrote: shouldn't the same also apply if VECTOR_TYPE_P (type), not just for CLASS_TYPE_P (type)? Sure. Do you want to make that change? Jason

Re: [C PATCH] Make attributes accept enum values (PR c/50459)

2014-04-15 Thread Jason Merrill
On 04/14/2014 11:10 AM, Marek Polacek wrote: + else if (TREE_CODE (val) == IDENTIFIER_NODE) +{ + tree t = lookup_name (val); + if (t && TREE_CODE (t) == CONST_DECL) + return DECL_INITIAL (t); +} I'm uncomfortable with this; we should have looked up any attributes in th

Re: [PATCH][ARM] PR60663: Improve RTX costs for asm statements

2014-04-15 Thread Richard Earnshaw
On 15/04/14 11:56, Kyrill Tkachov wrote: > Hi all, > > This patch relates to PR60663 where cse got confused due to asm statements > being given a cost of zero in the arm backend. Jakub already put in a fix to > cse for 4.9.0 (http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00512.html) but > we sho

Re: Ignore cxa_pure_virtual in ipa-devirt's target lists

2014-04-15 Thread Jason Merrill
On 04/14/2014 04:06 PM, Jan Hubicka wrote: 1) write backend pass that walks vtables and for every non-hidden noreturn function it can produce hidden COMDAT wrapper with a fixed (GCC local) mangling. Perhaps with a command line option to do so for all virtual functions; while this wo

Re: [PATCH] Change HONOR_REG_ALLOC_ORDER to a marco for C expression

2014-04-15 Thread Kito Cheng
Hi Vladimir: > Although this patch is safe. I guess it could wait for stage 1 as right now > we don't need this functionality. > > The patch is ok for the stage1 which is probably about a month away. ping is this patch ok now? thanks:) > Thanks for the patch.

[PATCH] Bump LTO_major_version

2014-04-15 Thread Richard Biener
This bumps LTO_major_version on trunk to avoid ICEing when accidentially mixing objects with 4.9 ones. We'll soon start to diverge (if we didn't already). Committed. Richard. 2014-04-15 Richard Biener * lto-streamer.h (LTO_major_version): Bump to 4. Index: gcc/lto-streamer.h =

Re: [PATCH][RFC] Remove RTL loop unswitching

2014-04-15 Thread Richard Biener
On Tue, 15 Apr 2014, Richard Biener wrote: > > This removes RTL loop unswitching (see last years discussion about > compile-time issues of that pass). RTL loop unswitching is > enabled together with GIMPLE loop unswitching at -O3 and by > -floop-unswitch. It's clearly the wrong place to do high

RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16

2014-04-15 Thread Moore, Catherine
> -Original Message- > From: Maciej W. Rozycki [mailto:ma...@codesourcery.com] > Sent: Tuesday, April 15, 2014 7:28 AM > To: Richard Sandiford > Cc: Matthew Fortune; Moore, Catherine; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and > SB16 >

Re: [PATCH] [libgomp] make it possible to use OMP on both sides of a fork

2014-04-15 Thread Nathaniel Smith
On Tue, Mar 4, 2014 at 11:37 PM, Nathaniel Smith wrote: > On Tue, Feb 18, 2014 at 8:58 PM, Richard Henderson wrote: >> On 02/16/2014 03:59 PM, Nathaniel Smith wrote: >>> Yes, but the problem is that depending on what the user intends to do >>> after forking, our pthread_atfork handler might help

[PATCH] Fix PR56965, move nonoverlapping_component_refs_p

2014-04-15 Thread Richard Biener
This moves nonoverlapping_component_refs_p (now that I committed the patch to make it O (n log n) instead of O (n^3)) to the tree alias oracle (which is dispatched to from the RTL oracle). This fixes the wrong-code part of the bug by moving the call to nonoverlapping_component_refs_p at a place w

Re: [PING PATCH] Extend mode-switching to support toggle

2014-04-15 Thread Christian Bruel
On 04/15/2014 01:13 PM, Joern Rennecke wrote: > On 15 April 2014 10:20, Christian Bruel wrote: >> Hello, >> >> I guess it's for RTL maintainers. Also interested by mode-switching.c >> last contributors (from past ChangeLog entries) comments, >> >> http://gcc.gnu.org/ml/gcc-patches/2014-04/msg0019

RE: [PATCH, FORTRAN] Fix PR fortran/60718

2014-04-15 Thread Bernd Edlinger
Hi Tobias, On Fri, 11 Apr 2014 16:04:51, Tobias Burnus wrote: > > Hi Tobias, > > On Fri, Apr 11, 2014 at 02:39:57PM +0200, Bernd Edlinger wrote: >> On Fri, 11 Apr 2014 13:37:46, Tobias Burnus wrote: >> Hmm, >> >> I was hoping somehow that only that test case is broken, >> and needs to be fixed. Th

Re: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16

2014-04-15 Thread Maciej W. Rozycki
On Tue, 15 Apr 2014, Richard Sandiford wrote: > > I believe you need to adjust constraints to ensure constant 0 is known to > > produce a 16-bit instruction encoding where possible. Otherwise you'll > > end up with suboptimal code when the instruction is in a branch delay > > slot. > > Yeah,

[PATCH][AArch64] Vectorise bswap[16,32,64]

2014-04-15 Thread Kyrill Tkachov
Hi all, This patch enables aarch64 to vectorise bswap[16,32,64] operations by using the AdvancedSIMD forms of the rev[16,32,64] instructions. The TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION hook is extended to return the vectorised forms of __builtin_bswap* where possible and vector bswap pa

[patch] fix libstdc++/60734 - invalid static_cast

2014-04-15 Thread Jonathan Wakely
Tested x86_64-linux, committed to trunk. I intend to fix this for 4.9.1 and 4.8.3 too. commit 1e13d4d7791a665bb254e0d53e96d3a5ab925023 Author: Jonathan Wakely Date: Tue Apr 15 00:36:35 2014 +0100 PR libstdc++/60734 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid ca

Re: [PATCH, ARM] Enable tail call optimization for long call

2014-04-15 Thread Ramana Radhakrishnan
On Wed, Apr 2, 2014 at 12:04 PM, Jiong Wang wrote: > > On 25/03/14 15:44, Richard Earnshaw wrote: >> >> On 24/03/14 11:26, Jiong Wang wrote: >>> >>> This patch enables tail call optimization for long call on arm. >>> >>> Previously we have too strict check on arm_function_ok_for_sibcall and >>> be

[PATCH][RFC][wide-int] Fix some build errors on arm in wide-int branch and report ICE

2014-04-15 Thread Kyrill Tkachov
Hi all (and wide-int maintainers in particular), I tried bootstrapping the wide-int branch on arm-none-linux-gnueabihf and encountered some syntax errors while building wide-int.h and wide-int.cc in expressions that tried to cast to HOST_WIDE_INT. This patch fixes those errors. Also, in c-ada-

[PATCH][ARM] PR60663: Improve RTX costs for asm statements

2014-04-15 Thread Kyrill Tkachov
Hi all, This patch relates to PR60663 where cse got confused due to asm statements being given a cost of zero in the arm backend. Jakub already put in a fix to cse for 4.9.0 (http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00512.html) but we should still fix the costs in arm. This patch does tha

RE: [patch] Disable if_conversion2 for Og

2014-04-15 Thread Joey Ye
> -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: Tuesday, April 15, 2014 4:05 PM > To: Joey Ye > Cc: GCC Patches > Subject: Re: [patch] Disable if_conversion2 for Og > > On Tue, Apr 15, 2014 at 3:59 AM, Joey Ye wrote: > > If-converstion is harmful

RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16

2014-04-15 Thread Matthew Fortune
Richard Sandiford writes: > "Maciej W. Rozycki" writes: > > On Sat, 12 Apr 2014, Richard Sandiford wrote: > > > >> I went ahead and applied the adjusted version of the patch to trunk > >> as below (because I wanted to add a testcase too). > > > > I believe you need to adjust constraints to ensur

Re: [PATCH v2] libstdc++: Add hexfloat/defaultfloat io manipulators.

2014-04-15 Thread Jonathan Wakely
On 27 March 2014 23:56, Luke Allardyce wrote: > It looks like the new standard also requires the precision to be > ignored for hexfloat > >>For conversion from a floating-point type, if floatfield != (ios_base::fixed >>| ios_base:: scientific), str.precision() is specified as precision in the >>c

[PATCH] Add support for -fno-sanitize-recover and -fsanitize-undefined-trap-on-error (PR sanitizer/60275)

2014-04-15 Thread Jakub Jelinek
Hi! This patch adds two new options (compatible with clang) which allow users to choose the behavior of undefined behavior sanitization. By default as before, all undefined behaviors (except for __builtin_unreachable and missing return in C++) continue after reporting which means that you can get

Re: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16

2014-04-15 Thread Richard Sandiford
"Maciej W. Rozycki" writes: > On Sat, 12 Apr 2014, Richard Sandiford wrote: > >> I went ahead and applied the adjusted version of the patch to trunk >> as below (because I wanted to add a testcase too). > > I believe you need to adjust constraints to ensure constant 0 is known to > produce a 16-

[PING PATCH] Extend mode-switching to support toggle

2014-04-15 Thread Christian Bruel
Hello, I guess it's for RTL maintainers. Also interested by mode-switching.c last contributors (from past ChangeLog entries) comments, http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00196.html Many thanks Christian,

[PATCH][RFC] Remove RTL loop unswitching

2014-04-15 Thread Richard Biener
This removes RTL loop unswitching (see last years discussion about compile-time issues of that pass). RTL loop unswitching is enabled together with GIMPLE loop unswitching at -O3 and by -floop-unswitch. It's clearly the wrong place to do high-level loop transforms these days, and the cost of mai

[Ada] Robustify renaming code in gigi

2014-04-15 Thread Eric Botcazou
This makes the renaming code in gigi more robust in preparation for further changes related to renaming. Tested on x86_64-suse-linux, applied on the mainline. 2014-04-15 Eric Botcazou Pierre-Marie de Rodat * gcc-interface/decl.c (gnat_to_gnu_entity) : Create a mere

[PATCH] Do not walk BINFOs in record_component_aliases

2014-04-15 Thread Richard Biener
As discussed last year. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2014-04-15 Richard Biener * alias.c (record_component_aliases): Do not walk BINFOs. Index: gcc/alias.c === --- gcc/alias.c

Re: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-15 Thread Richard Biener
On Fri, Apr 4, 2014 at 7:49 AM, Thomas Preud'homme wrote: >> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- >> ow...@gcc.gnu.org] On Behalf Of Rainer Orth >> >> Just omit the { target *-*-* } completely, also a few more times. > > Please find attached an updated patch. @@ -1733,6 +1743,

[C++ Patch] Minor TYPE_NAME clean-up

2014-04-15 Thread Paolo Carlini
Hi, now that TYPE_IDENTIFIER includes an explicit check that TYPE_NAME is nonnull, we can remove a few redundant uses of the latter. Plus a few additional tweaks. Tested x86_64-linux. Thanks, Paolo. /// 2014-04-15 Paolo Carlini * decl.c (duplicate_decls): Remove

[Ada] Fix strange performance drop for code using SSE vector types

2014-04-15 Thread Eric Botcazou
Gigi generates a VIEW_CONVERT_EXPR in the middle of a hot loop, which kills the performance at run time. Tested on x86_64-suse-linux, applied on the mainline. 2014-04-15 Eric Botcazou * gcc-interface/utils.c (type_for_vector_element_p): New predicate. (build_vector_type_for_

[Ada] Use correct predicate for static expressions

2014-04-15 Thread Eric Botcazou
Really a minor detail, but still. Tested on x86_64-suse-linux, applied on the mainline. 2014-04-15 Eric Botcazou * gcc-interface/decl.c (prepend_one_attribute_pragma): Call Is_OK_Static_Expression in lieu of Is_Static_Expression to detect valid arguments. -- Eric B

Re: [PATCH] Add DW_AT_const_value as unsigned or int depending on type and value used.

2014-04-15 Thread Mark Wielaard
On Tue, 2014-04-15 at 08:21 +0200, Jakub Jelinek wrote: > On Mon, Apr 14, 2014 at 03:48:06PM -0700, Cary Coutant wrote: > > >> Also note that size_of_die and value_format will still choose > > >> DW_FORM_data[1248] for dw_val_class_unsigned_const in most cases. > > >> Don't you really want to use

Re: [patch] Add support for pragma Loop_Optimize ([No_]Vector)

2014-04-15 Thread Eric Botcazou
> Well, there are passes that can end up duplicating loops and thus you lose > no_vectorize on the copy for example. Clearly that's undesired, no? For > safelen and simduid not copying them is erroring on the safe side at least, > likewise for force_vectorize. But we do have the copy_loop_info a

Re: [PATCH] Prevent out of bound access for multilib_options

2014-04-15 Thread Kito Cheng
Hi Jakub: Thanks your review and approve, however I don't have commit right yet, can you help me to commit it :) And here is updated patch in attachment, thanks! On Mon, Apr 14, 2014 at 8:12 PM, Jakub Jelinek wrote: > On Wed, Apr 09, 2014 at 10:00:38PM +0800, Kito Cheng wrote: >> `q` will out o

[PATCH] Avoid push/pop_cfun in IPA PTA analysis

2014-04-15 Thread Richard Biener
This avoids the push/pop_cfun calls, they are not necessary. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2014-04-15 Richard Biener * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Add struct function argument and adjust. (find_f

Re: [patch] Add support for pragma Loop_Optimize ([No_]Vector)

2014-04-15 Thread Richard Biener
On Tue, Apr 15, 2014 at 10:01 AM, Eric Botcazou wrote: >> The loop flags copying should go into copy_loop_info instead of only to >> copy_loops. Jakub - I see you remap simduid on copy - you have to do >> sth in copy_loop_info instead I suppose. See the other callers. > > That also occurred to m

Re: [patch] Disable if_conversion2 for Og

2014-04-15 Thread Richard Biener
On Tue, Apr 15, 2014 at 3:59 AM, Joey Ye wrote: > If-converstion is harmful to optimized debugging as it generates conditional > execution instructions with line number information, which resulted in a > dillusion to developers that both then-else branches are executed. > > For example: > test.c:

Re: [patch] Add support for pragma Loop_Optimize ([No_]Vector)

2014-04-15 Thread Eric Botcazou
> The loop flags copying should go into copy_loop_info instead of only to > copy_loops. Jakub - I see you remap simduid on copy - you have to do > sth in copy_loop_info instead I suppose. See the other callers. That also occurred to me, but IMO it's not crystal clear; for example, ivdep (aka sa

[PATCH] Minor cleanups

2014-04-15 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2014-04-15 Richard Biener * tree.c (iterative_hash_expr): Use enum tree_code_class to store TREE_CODE_CLASS. (tree_block): Likewise. (tree_set_block): Likewise. * tree.h (fold_build

Re: [PATCH] [CLEANUP] Mark locally-used functions static

2014-04-15 Thread Richard Biener
On Mon, Apr 14, 2014 at 4:48 PM, Patrick Palka wrote: > Hi everyone, > > This patch marks "static" a bunch of locally-used, non-debug functions > within the GCC sources. Doing so addresses a subset of the warnings emitted > when compiling the GCC sources with -Wmissing-declarations. > > I bootstr

Re: Optimize n?rotate(x,n):x

2014-04-15 Thread Richard Biener
On Mon, Apr 14, 2014 at 6:40 PM, Marc Glisse wrote: > On Mon, 14 Apr 2014, Richard Biener wrote: > >>> + /* If the special case has a high probability, keep it. */ >>> + if (EDGE_PRED (middle_bb, 0)->probability < PROB_EVEN) >> >> >> I suppose Honza has a comment on how to test this properly >>

Re: [PATCH] [CLEANUP] Declare global functions before defining them

2014-04-15 Thread Richard Biener
On Mon, Apr 14, 2014 at 4:52 PM, Patrick Palka wrote: > Hi everyone, > > Many source files currently define a global function that is not > previously declared within that source file because the source file did > not include the appropriate header file that declares said function. > This patch fi

Re: [PATCH] [CLEANUP] Wrap locally-used functions in anonymous namespaces

2014-04-15 Thread Richard Biener
On Mon, Apr 14, 2014 at 4:51 PM, Patrick Palka wrote: > Hi everyone, > > This patch wraps a bunch of locally-used, non-debug functions in an > anonymous namespace. These functions can't simply be marked as "static" > because they are used as template arguments to hash_table::traverse, and > the C

Re: [patch] Add support for pragma Loop_Optimize ([No_]Vector)

2014-04-15 Thread Richard Biener
On Mon, Apr 14, 2014 at 4:45 PM, Eric Botcazou wrote: > Hi, > > this adds support for 2 optimization hints pertaining to loops in Ada, namely > Loop_Optimize (No_Vector) and Loop_Optimize (Vector), by reusing the Ivdep > approach in the middle-end (ANNOTATE_EXPR node) and directly setting the > do

  1   2   >