Reduce -flto -fprofile-generate memory use

2014-04-16 Thread Jan Hubicka
Hi, while compiling firefox I noticed that -fprofile-generage -flto goes to 8GB. It turns out that this is caused by ipa_reference no longer being disabled becaus in_lto_p became flag that is set later (it is not clear to me why it needs to be this way). I however do not see reason why not disable

Re: [RFC] proof-of-concept: warning for a bit comparison that is always true/false

2014-04-16 Thread Daniel Marjamäki
Thanks! > I'd actually do this down at the gimple level. You'll have an SSA graph you > can use to identify the masking and verify its producing a single bit result. > You'll also have canonicalized comparisons, so there'll be fewer things to > test. Depending on exactly where you put the op

Re: [PATCH] Redesign jump threading profile updates

2014-04-16 Thread Jeff Law
On 03/26/14 17:44, Teresa Johnson wrote: Recently I discovered that the profile updates being performed by jump threading were incorrect in many cases, particularly in the case where the threading path contains a joiner. Some of the duplicated blocks/edges were not getting any counts, leading to

Re: [PATCH GCC]Fix pr60363 by adding backtraced value of phi arg along jump threading path

2014-04-16 Thread Jeff Law
On 03/18/14 04:13, bin.cheng wrote: Hi, After control flow graph change made by http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01492.html, case gcc.dg/tree-ssa/ssa-dom-thread-4.c is broken on logical_op_short_circuit targets including cortex-m3/cortex-m0. The regression reveals a missed opportunity

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

2014-04-16 Thread Thomas Preud'homme
> From: Richard Biener [mailto:richard.guent...@gmail.com] > > With handling only the outermost handled-component and then only a > selected subset you'll catch many but not all cases. Why not simply > use get_inner_reference () here (plus stripping the constant offset > from an innermost MEM_REF

Re: [PATCH] offline gcda profile processing tool

2014-04-16 Thread Jan Hubicka
> GCOT_TOOL needs to use this function to read the string in gcda file > to memory to construct gcov_info objects. > As you noticed, gcov runtime does not need this interface. But > gcov-tool links with gcov runtime and it also uses the function. > We could make it available in gcov_runtime, but th

Re: [PATCH, rs6000] Improve TImode add/sub

2014-04-16 Thread David Edelsohn
On Wed, Apr 16, 2014 at 4:51 PM, Pat Haugen wrote: > Updated patch with above comments incorporated. Bootstrap/regtest on BE/LE > with no new regressions. Ok for trunk? 2014-04-08 Pat Haugen * config/rs6000/rs6000.md (addti3, subti3): New. gcc/testsuite: * gcc.target/powerpc

Make ipa-devirt aware of fact that some types doesn't have instances

2014-04-16 Thread Jan Hubicka
Hi, this patch is a revision of the patch I proposed for BINFO_ABSTRACT_P. Basically it teaches ipa-devirt that CXX destructors are never called for types in construction and it also makes it to properly handle vtables of types that may not have instance. In this case we need to consider them only

Add testcase for PR lto/60820

2014-04-16 Thread Jan Hubicka
Hi, this is stand alone testcase for that PR. Comitted to mainline. PR lto/60820 * gcc.dg/lto/pr60820_0.c: New testcase. * gcc.dg/lto/pr60820_1.c: New testcase. Index: testsuite/gcc.dg/lto/pr60820_1.c

Fix lto/PR60854

2014-04-16 Thread Jan Hubicka
Hi, the testcase shows problem where cpp implicit alias is always inline and symtab_remove_unreachable_nodes removes the body of aliased function before inlininghappens. The real problem is that cgraph_state is set too early and not as the comment says after inlinig, but for release branch I think

Re: [PATCH] Fix up rotate expansion (take 2)

2014-04-16 Thread DJ Delorie
Doing some work on the msp430 failures, I discovered that this patch: > --- gcc/expmed.c.jj 2013-05-07 10:26:46.0 +0200 > +++ gcc/expmed.c 2013-05-11 09:11:54.087412982 +0200 > @@ -2181,14 +2182,22 @@ expand_shift_1 (enum tree_code code, enu > rtx temp1; > >

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

2014-04-16 Thread Luke Allardyce
> Thanks, I was wrong about that. > > Then I think we should just bite the bullet and provide the new > behaviour. If we do have an abi_tag on those types in the next release > then we can preserve the old behaviour in the old ABI and use the > C++11 semantics for the abi_tagged type, which will be

Re: [PATCH] PR60822 (m68k, missing earlyclobber in extendplussidi)

2014-04-16 Thread segher
On Wed, Apr 16, 2014 at 02:45:28PM -0600, Jeff Law wrote: > Isn't the problem that operands 1 is a MEM which use the same register > as operands 3 in the memory address? Yes, exactly. > ISTM either removing the memory constraint entirely, or splitting it off > into a separate alternative and on

Re: [PATCH] Fix PR c++/60765

2014-04-16 Thread Patrick Palka
Thanks, Paolo!

Re: [PATCHv3 2/2] libstdc++: Add std::aligned_union.

2014-04-16 Thread Paolo Carlini
.. also, per the GNU conventions, ? of a conditional expression should be at the beginning of a line (not at the end of the previous one). Paolo.

Re: [PATCHv3 2/2] libstdc++: Add std::aligned_union.

2014-04-16 Thread Paolo Carlini
Hi, On 04/16/2014 05:47 PM, Rüdiger Sonderfeld wrote: + template Please avoid _ + Uppercase, those are badnames for many targets. Normally we add a p at the end. Also, I would mention in a comment the front-end bug preventing a much more straightforward implementation. Thanks, Paolo.

Do not apply loop alignment to final block

2014-04-16 Thread Eric Botcazou
The alignment code in final.c uses some heuristics to decide what alignment a block must be given. For the loop alignment, it's: /* In case block is frequent and reached mostly by non-fallthru edge, align it. It is most likely a first block of loop. */ An immediate counter-exa

Re: GCC's -fsplit-stack disturbing Mach's vm_allocate

2014-04-16 Thread Samuel Thibault
Thomas Schwinge, le Wed 09 Apr 2014 09:36:42 +0200, a écrit : > Well, the first step is to verify that TARGET_THREAD_SPLIT_STACK_OFFSET > and similar configury is correct for the Hurd, I have added the corresponding field, so we can just use the same offset as on Linux. Samuel

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

2014-04-16 Thread Richard Henderson
On 04/14/2014 10:32 AM, Marek Polacek wrote: > + if (TREE_CODE (val) != IDENTIFIER_NODE > + && TREE_CODE (val) != FUNCTION_DECL) > + val = default_conversion (val); > + else if (TREE_CODE (val) == IDENTIFIER_NODE) > + { > + tree t = lookup_name (val); > + if (t &

Re: Patch ping

2014-04-16 Thread Jeff Law
On 01/13/14 01:07, Jakub Jelinek wrote: Hi! I'd like to ping 2 patches: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00140.html - Ensure GET_MODE_{SIZE,INNER,NUNITS} (const) is constant rather than memory load after optimization (I'd like to keep the current patch for the reasons mention

Re: GCC's -fsplit-stack disturbing Mach's vm_allocate

2014-04-16 Thread Samuel Thibault
Samuel Thibault, le Sat 12 Apr 2014 01:04:49 +0200, a écrit : > Samuel Thibault, le Fri 11 Apr 2014 23:51:44 +0200, a écrit : > > So, do we really want to let munmap poke a hole at address 0 and thus > > let further vm_map() return address 0? > > i.e. we could apply this: I have applied it. Samu

Re: fuse-caller-save - hook format

2014-04-16 Thread Jeff Law
On 04/16/14 13:41, Richard Sandiford wrote: IMO CALL_INSN_FUNCTION_USAGE is like a "varargs" part of the call pattern. In other words it's a way of allowing the set of uses and clobbers to vary from call to call without having to define lots of different call define_insns. If you look at it lik

Re: [RFC] proof-of-concept: warning for a bit comparison that is always true/false

2014-04-16 Thread Jeff Law
On 04/16/14 09:27, Daniel Marjamäki wrote: Hello! I am new to GCC. I want to add a warning to GCC when bit comparison is always true/false. Example: if ((x&4)==0) {} // <- no warning if ((x&4)==4) {} // <- no warning if ((x&4)==5) {} // <- warn! When this warning is trigg

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Jeff Law
On 04/16/14 07:37, Jakub Jelinek wrote: Creating a (mem (scratch)) too early may pessimize code too much, perhaps it can be used during say sched1 etc. for alias analysis, (mem (scratch)) is considered to alias everything,. Plus, I think at least so far we have not been doing different decisions

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

2014-04-16 Thread Robert Suchanek
> >> Did you see the failures even after your mips_regno_mode_ok_for_base_p > >> change? LRA should know how to reload a "W" address. > > > > Yes but I realize there is more. It fails because $sp is now included > > in BASE_REG_CLASS and "W" is based on it. However, I suppose that > > it would be

Re: [PATCH, rs6000] Improve TImode add/sub

2014-04-16 Thread Pat Haugen
On 04/08/2014 09:56 PM, seg...@kernel.crashing.org wrote: +/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ Please leave out the default arguments. Why does this need skipping on Darwin? +;; Define the TImode operations

Re: [PATCH] PR60822 (m68k, missing earlyclobber in extendplussidi)

2014-04-16 Thread Jeff Law
On 04/16/14 13:18, Segher Boessenkool wrote: operand[0] has a subreg taken (as operand[3]), which is modified before operand[1] is used. Built succesfully but I'm not set up to run the testsuite, sorry. It fixes the testcase of course. gcc/ChangeLog: 2014-04-16 Segher Boessenkool

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Ian Lance Taylor
On Wed, Apr 16, 2014 at 1:02 PM, Rainer Orth wrote: > Ian Lance Taylor writes: > >> On Wed, Apr 16, 2014 at 4:16 AM, Rainer Orth >> wrote: >>> >>> * Ian: I've removed Solaris 8 and 9 support from libgo. I'm uncertain >>> if you want this or rather keep that support for the 4.[789] branches? >

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

2014-04-16 Thread Paolo Carlini
Hi, On 04/16/2014 09:47 PM, Jason Merrill wrote: On 04/15/2014 12:21 PM, Paolo Carlini wrote: 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? I'd leave them alone, we might

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Rainer Orth
Ian Lance Taylor writes: > On Wed, Apr 16, 2014 at 4:16 AM, Rainer Orth > wrote: >> >> * Ian: I've removed Solaris 8 and 9 support from libgo. I'm uncertain >> if you want this or rather keep that support for the 4.[789] branches? > > I want it. I don't try to maintain exact copies of older

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Ian Lance Taylor
On Wed, Apr 16, 2014 at 4:16 AM, Rainer Orth wrote: > > * Ian: I've removed Solaris 8 and 9 support from libgo. I'm uncertain > if you want this or rather keep that support for the 4.[789] branches? I want it. I don't try to maintain exact copies of older GCC branches. Your patch appears sep

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

2014-04-16 Thread Jason Merrill
On 04/15/2014 12:21 PM, Paolo Carlini wrote: 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? I'd leave them alone, we might want to print something sometime. PS: I also see

Re: fuse-caller-save - hook format

2014-04-16 Thread Richard Sandiford
Tom de Vries writes: > Vladimir, > > All patches for the fuse-caller-save optimization have been ok-ed. The only > part > not approved is the MIPS-specific part. > > The objection of Richard S. is not so much the patch itself, but more the idea > of the hook fn_other_hard_reg_usage. > > For clari

[PATCH] PR60822 (m68k, missing earlyclobber in extendplussidi)

2014-04-16 Thread Segher Boessenkool
operand[0] has a subreg taken (as operand[3]), which is modified before operand[1] is used. Built succesfully but I'm not set up to run the testsuite, sorry. It fixes the testcase of course. gcc/ChangeLog: 2014-04-16 Segher Boessenkool * config/m68k/m68k.md (extendplussidi): Add ear

fuse-caller-save - hook format

2014-04-16 Thread Tom de Vries
Vladimir, All patches for the fuse-caller-save optimization have been ok-ed. The only part not approved is the MIPS-specific part. The objection of Richard S. is not so much the patch itself, but more the idea of the hook fn_other_hard_reg_usage. For clarity, I'm restating the current hook defin

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

2014-04-16 Thread Richard Sandiford
"Moore, Catherine" writes: >> -Original Message- >> From: Richard Sandiford [mailto:rdsandif...@googlemail.com] >> Sent: Tuesday, April 15, 2014 4:32 PM >> To: Moore, Catherine >> Cc: Rozycki, Maciej; Matthew Fortune; gcc-patches@gcc.gnu.org >> Subject: Re: [PATCH] [MIPS] Fix operands for

Re: Patch ping

2014-04-16 Thread DJ Delorie
I'll approve both patches, if you agree to think about a way to solve this problem without module-specific configury changes for each such command line option. I understand the usefulness of having instrumentation, but the configure hack is a hack. Note that in a combined tree this isn't a probl

Re: Patch ping

2014-04-16 Thread Toon Moene
On 04/14/2014 01:02 PM, Jakub Jelinek wrote: On Thu, Apr 10, 2014 at 12:01:31PM -0400, DJ Delorie wrote: So, now that 4.9 has branched, are both patches ok for trunk, or just the first one? The first one fixes --with-build-config=bootstrap-ubsan fully and --with-build-config=bootstrap-asan p

[patch] Minor simplification in

2014-04-16 Thread Jonathan Wakely
This avoids a template instantiation when storing a function pointer in a std::function. At some point I want to extend the definition of __is_location_invariant to include trivially-copyable object types. I suspect this may be why boost::function can perform significantly better than our std::fu

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

2014-04-16 Thread Jason Merrill
On 04/15/2014 03:56 PM, Marek Polacek wrote: The testsuite doesn't hit this code with C++, but does hit this code with C. The thing is, if we have e.g. enum { A = 128 }; void *fn1 (void) __attribute__((assume_aligned (A))); then handle_assume_aligned_attribute walks the attribute arguments and g

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Uros Bizjak
On Wed, Apr 16, 2014 at 1:16 PM, Rainer Orth wrote: > Now that 4.9 has branched, it's time to actually remove the obsolete > Solaris 9 configuration. Most of this is just legwork and falls under > my Solaris maintainership. > > A couple of questions, though: > > * Uros: I'm removing all sse_os_su

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

2014-04-16 Thread Uros Bizjak
On Wed, Apr 16, 2014 at 4:31 PM, Evgeny Stupachenko wrote: > For the 3d part of the patch there was a misprint in estimated > constant. It should be 1.7 instead of 1.8. > - retval = (retval * 18) / 10; > + retval = (retval * 17) / 10; > > Bootstarp passed. The change is also OK.

Re: [PATCH] offline gcda profile processing tool

2014-04-16 Thread Rong Xu
On Tue, Apr 15, 2014 at 2:38 PM, Jan Hubicka wrote: > 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 ma

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

2014-04-16 Thread Jason Merrill
OK. Jason

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Richard Sandiford
Eric Botcazou writes: >> Anyway, others can have different opinion on what "X" should mean, >> CCing Jeff and Eric. > > I personally think that we should not change it and adjust LRA instead to > error out instead of ICEing (even if this means erroring out in a few more > cases with LRA than wit

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Rainer Orth
Eric Botcazou writes: >> * Eric: In libgcc/config/sparc/sol2-unwind.h, I've removed the Solaris 9 >> cases after verifying that the cuh_pattern's used there only occur in >> Solaris 9 (from FCS to the latest libthread.so.1 patch), but not even >> in Solaris 10 FCS. >> >> For Solaris 10,

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Eric Botcazou
> Anyway, others can have different opinion on what "X" should mean, > CCing Jeff and Eric. I personally think that we should not change it and adjust LRA instead to error out instead of ICEing (even if this means erroring out in a few more cases with LRA than with reload for now, e.g. gcc.dg/to

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Eric Botcazou
> * Eric: In libgcc/config/sparc/sol2-unwind.h, I've removed the Solaris 9 > cases after verifying that the cuh_pattern's used there only occur in > Solaris 9 (from FCS to the latest libthread.so.1 patch), but not even > in Solaris 10 FCS. > > For Solaris 10, do you have any more details o

[PATCHv3 2/2] libstdc++: Add std::aligned_union.

2014-04-16 Thread Rüdiger Sonderfeld
Of course I forgot to replace one _M_ instance. This should work now. Sorry about this. -- 8< - >8 -- C++11: [meta.trans.other] * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file. * libstdc++-v3/include/std/type_traits (__strict

[PATCHv2 2/2] libstdc++: Add std::aligned_union.

2014-04-16 Thread Rüdiger Sonderfeld
> Thanks! I was hoping to implement it the straightforward way, but was > thwarted by http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59012 There are certainly nicer ways to implement it. At least in C++14 there should be a usable constexpr std::max instead of the verbose ?: usage. Maybe sizeof/ali

Re: [RFC] Add aarch64 support for ada

2014-04-16 Thread Richard Henderson
On 04/16/2014 12:39 AM, Eric Botcazou wrote: >> The primary bit of rfc here is the hunk that applies to ada/types.h >> with respect to Fat_Pointer. Given that the Ada type, as defined in >> s-stratt.ads, does not include alignment, I can't imagine why the C >> type should have it. > > See gcc-int

RE: [PATCH] Do not run IPA transform phases multiple times

2014-04-16 Thread Zamyatin, Igor
Likely after this was checked in appeared following on x86 FAIL: gcc.dg/vect/vect-simd-clone-11.c -flto -ffat-lto-objects (internal compiler error) FAIL: gcc.dg/vect/vect-simd-clone-11.c -flto -ffat-lto-objects (test for excess errors) FAIL: gcc.dg/vect/vect-simd-clone-12.c -flto -ffat-lto-objec

Re: [PATCH 1/2] libstdc++: Add std::align.

2014-04-16 Thread Jonathan Wakely
On 16/04/14 16:19 +0100, Jonathan Wakely wrote: On 16/04/14 17:06 +0200, Rüdiger Sonderfeld wrote: C++11 [ptr.align]. This should probably not be inline. But for now this avoids any ABI changes. Adding new non-member functions is fine ABI purposes (adding new virtual functions is not). Act

Re: [PATCH 2/2] libstdc++: Add std::aligned_union.

2014-04-16 Thread Jonathan Wakely
On 16/04/14 17:06 +0200, Rüdiger Sonderfeld wrote: C++11: [meta.trans.other] * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file. * libstdc++-v3/include/std/type_traits (__strictest_alignment): New helper struct. (aligned_union): New struct (C++11). (aligned_union_t): New type alias

[RFC] proof-of-concept: warning for a bit comparison that is always true/false

2014-04-16 Thread Daniel Marjamäki
Hello! I am new to GCC. I want to add a warning to GCC when bit comparison is always true/false. Example: if ((x&4)==0) {} // <- no warning if ((x&4)==4) {} // <- no warning if ((x&4)==5) {} // <- warn! When this warning is triggered, the most common cause is that somebody mad

Re: [PATCH 1/2] libstdc++: Add std::align.

2014-04-16 Thread Jonathan Wakely
On 16/04/14 17:06 +0200, Rüdiger Sonderfeld wrote: C++11 [ptr.align]. This should probably not be inline. But for now this avoids any ABI changes. Adding new non-member functions is fine ABI purposes (adding new virtual functions is not).

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

2014-04-16 Thread Moore, Catherine
> -Original Message- > From: Richard Sandiford [mailto:rdsandif...@googlemail.com] > Sent: Tuesday, April 15, 2014 4:32 PM > To: Moore, Catherine > Cc: Rozycki, Maciej; Matthew Fortune; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and > SB16

[PATCH 2/2] libstdc++: Add std::aligned_union.

2014-04-16 Thread Rüdiger Sonderfeld
C++11: [meta.trans.other] * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file. * libstdc++-v3/include/std/type_traits (__strictest_alignment): New helper struct. (aligned_union): New struct (C++11). (aligned_union_t): New type alias (C++14). --- libstdc++-v3/include/std/type_trait

[PATCH 1/2] libstdc++: Add std::align.

2014-04-16 Thread Rüdiger Sonderfeld
C++11 [ptr.align]. This should probably not be inline. But for now this avoids any ABI changes. * libstdc++-v3/testsuite/20_util/align/1.cc: New file. * libstdc++-v3/include/std/memory (align): New function. --- libstdc++-v3/include/std/memory | 35 + libstdc++-v3/testsuit

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

2014-04-16 Thread Ed Smith-Rowland
On 04/15/2014 03:06 PM, Jonathan Wakely wrote: 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.tc

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

2014-04-16 Thread Evgeny Stupachenko
For the 3d part of the patch there was a misprint in estimated constant. It should be 1.7 instead of 1.8. - retval = (retval * 18) / 10; + retval = (retval * 17) / 10; Bootstarp passed. On Wed, Apr 16, 2014 at 12:02 PM, Uros Bizjak wrote: > On Tue, Apr 15, 2014 at 6:12 PM, Evgeny

Re: [PATCH] Add a new option "-fmerge-bitfields" (patch / doc inside)

2014-04-16 Thread Daniel Gutson
On Wed, Apr 16, 2014 at 8:38 AM, Zoran Jovanovic wrote: > Hello, > This is new patch version. > Lowering is applied only for bit-fields copy sequences that are merged. > Data structure representing bit-field copy sequences is renamed and reduced > in size. > Optimization turned on by default for

[PATCH, Pointer Bounds Checker 9/x] Cgraph extension

2014-04-16 Thread Ilya Enkovich
Hi, This patch introduces changes in call graph for Pointer Bounds Checker. New fields instrumented_version, instrumentation_clone and orig_decl are added for cgraph_node: - instrumentation_clone field is 1 for nodes created for instrumented version of functions - instrumented_version points

Re: [PATCH] Add a new option "-fmerge-bitfields" (patch / doc inside)

2014-04-16 Thread Bernhard Reutner-Fischer
On 16 April 2014 13:38, Zoran Jovanovic wrote: > Hello, > This is new patch version. The comment from the previous iteration still holds true: > +@item -fbitfield-merge you are talking about '-fmerge-bitfields' up until here. Please fix all occurances of "bitfield-merge", both in the docs as we

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Jakub Jelinek
On Wed, Apr 16, 2014 at 02:24:06PM +0100, Richard Sandiford wrote: > > side-effect of inline-asm on certain location in memory, but don't really > > need the address of that memory. Often "memory" is too big hammer, > > people often say that certain inline-asm uses or sets or uses/sets or > > clob

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Richard Sandiford
Jakub Jelinek writes: > On Wed, Apr 16, 2014 at 11:43:12AM +0100, Richard Sandiford wrote: >> "X" was defined against reload, which always reloaded MEM addresses >> to follow the appropriate base and index register classes. This was >> done as a first pass before matching against the constraints:

[PATCH, Pointer Bounds Checker 8/x] Add varpool node field

2014-04-16 Thread Ilya Enkovich
Hi, This patch add new field for varpool_node to mark vars requiring bounds initalization. These changes were previously reverted from 4.9 and I'll assume patch is OK for trunk if no objections arise. Patch was bootstrapped and tested for linux-x86_64. Thanks, Ilya -- gcc/ 2014-04-16 Ilya E

[PATCH, Pointer Bounds Checker 7/x] Call/ret ifaces

2014-04-16 Thread Ilya Enkovich
Hi, This patch adds flags and ifaces to mark instrumented calls, extends return stms with additional operand and introduces some basic bounds predicates. These changes were previously reverted from 4.9 and I'll assume patch is OK for trunk if no objections arise. Patch was bootstrapped and te

[PATCH, Pointer Bounds Checker 6/x] New static constructor types

2014-04-16 Thread Ilya Enkovich
Hi, This patch add new static constructor types used by Pointer Bounds Checker. It was approved earlier for 4.9 and I'll assume patch is OK for trunk if no objections arise. Patch was bootstrapped and tested for linux-x86_64. Thanks, Ilya -- gcc/ 2014-04-16 Ilya Enkovich * ipa.c

[PATCH, Pointer Bounds Checker 5/x] Attributes

2014-04-16 Thread Ilya Enkovich
Hi, This patch introduces attributes used by Pointer Bounds Checker. Comparing to what was approved for 4.9, this one has additional attribute 'bnd_instrument' to be used for selective instrumentation. Bootstrapped and tested on linux-x86_64. OK for trunk? Thanks, Ilya -- gcc/ 2014-04-16 I

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

2014-04-16 Thread Jonathan Wakely
On 16/04/14 13:19 +0200, Rüdiger Sonderfeld wrote: On Tuesday 15 April 2014 23:36:51 Paolo Carlini wrote: Those should be isolated and a compiler bug report opened including a minimized reproducer. I'm not sure if this is a compiler bug or simply due to the fact that I didn't add the virtual f

[PATCH, Pointer Bounds Checker 4/x] Built-in functions

2014-04-16 Thread Ilya Enkovich
Hi, This patch introduces built-in functions used by Pointer Bounds Checker. It is mostly similar to what was reverted from 4.9, I just added types and attributes to builtins. This patch also introduces pointer_bounds_type_node to be used in built-in function type declarations. Bootstrapped

Re: [PATCH] Fix PR c++/60764

2014-04-16 Thread Patrick Palka
Could someone install this for me?

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

2014-04-16 Thread Kito Cheng
Hi Vladimir: thanks your replay and approve, however I don't have commit right yet, can you help to commit it? thanks! On Wed, Apr 16, 2014 at 8:10 PM, Vladimir Makarov wrote: > On 2014-04-15, 9:26 AM, Kito Cheng wrote: >> >> Hi Vladimir: >> >>> Although this patch is safe. I guess it could wai

Re: [PATCH] Fix PR c++/60765

2014-04-16 Thread Patrick Palka
Could someone install this on my behalf?

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Jakub Jelinek
On Wed, Apr 16, 2014 at 11:43:12AM +0100, Richard Sandiford wrote: > "X" was defined against reload, which always reloaded MEM addresses > to follow the appropriate base and index register classes. This was > done as a first pass before matching against the constraints: I think it would be fine i

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

2014-04-16 Thread Vladimir Makarov
On 2014-04-15, 9:26 AM, Kito Cheng wrote: 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? Yes, I approved it alread

[PATCH, Pointer Bounds Checker 3/x] Target hooks for Pointer Bounds Checker

2014-04-16 Thread Ilya Enkovich
Hi, This patch introduces target hooks to be used by Pointer Bounds Checker. Hooks set is different from what was approved for 4.9 (and later reverted). I added hooks to work with returned bounds and to prepare incoming bounds for vararg functions. It allowed to remove some target assumption

Re: [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Richard Sandiford
Tom de Vries writes: > On 16/04/14 12:28, Richard Sandiford wrote: >>> > This patch introduces a hook that specifies which registers are >>> > implicitly >>> > clobbered by a call, not including the registers that are clobbered in >>> > the >>> > called function, and then uses that hook to add

Re: [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Richard Sandiford
Jakub Jelinek writes: > On Wed, Apr 16, 2014 at 11:46:14AM +0200, Tom de Vries wrote: >> >...why do we need two different mechanisms to deal with these two? >> >IMO the set recorded for the callee should contain what the callee >> >instructions clobber and nothing else. CALL_INSN_FUNCTION_USAGE >

RE: [PATCH] Add a new option "-fmerge-bitfields" (patch / doc inside)

2014-04-16 Thread Zoran Jovanovic
Hello, This is new patch version. Lowering is applied only for bit-fields copy sequences that are merged. Data structure representing bit-field copy sequences is renamed and reduced in size. Optimization turned on by default for -O2 and higher. Some comments fixed. Benchmarking performed on WebK

[PATCH, i386, Pointer Bounds Checker 2/x] Intel Memory Protection Extensions (MPX) instructions support

2014-04-16 Thread Ilya Enkovich
Hi, This patch introduces Intel MPX bound registers and instructions. It was approved earlier for 4.9 and had no significant changes since then. I'll assume patch is OK if no objections arise. Patch was bootstrapped and tested for linux-x86_64. Thanks, Ilya -- gcc/ 2014-04-16 Ilya Enkovich

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

2014-04-16 Thread Rüdiger Sonderfeld
On Tuesday 15 April 2014 23:36:51 Paolo Carlini wrote: > Those should be isolated and a compiler bug report opened including a > minimized reproducer. I'm not sure if this is a compiler bug or simply due to the fact that I didn't add the virtual function to the ABI linker script. > Anyway, the r

Re: [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Jakub Jelinek
On Wed, Apr 16, 2014 at 11:46:14AM +0200, Tom de Vries wrote: > >...why do we need two different mechanisms to deal with these two? > >IMO the set recorded for the callee should contain what the callee > >instructions clobber and nothing else. CALL_INSN_FUNCTION_USAGE > >should contain everything

Re: [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Tom de Vries
On 16/04/14 12:28, Richard Sandiford wrote: >> > This patch introduces a hook that specifies which registers are implicitly >> > clobbered by a call, not including the registers that are clobbered in the >> > called function, and then uses that hook to add those registers to >> > CALL_INSN_FUNCT

[PATCH, Pointer Bounds Checker 1/x] Pointer bounds type and mode

2014-04-16 Thread Ilya Enkovich
Hi, This patch restarts the series for introducing Pointer Bounds Checker instrumentation and supporting Intel Memory Protection Extension (MPX) technology. Detailed description is on GCC Wiki page: http://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler. The first patch int

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Richard Sandiford
Andrew Pinski writes: > On Tue, Apr 15, 2014 at 1:53 PM, Richard Sandiford > wrote: >> 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

Re: RFA: Tighten checking for 'X' constraints

2014-04-16 Thread Richard Sandiford
Jakub Jelinek writes: > On Tue, Apr 15, 2014 at 09:53:16PM +0100, Richard Sandiford wrote: >> 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 sensib

Re: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Richard Earnshaw
On 16/04/14 11:30, Joey Ye wrote: > > >> -Original Message- >> From: Richard Earnshaw >> Sent: Wednesday, April 16, 2014 6:21 PM >> To: Joey Ye >> Cc: gcc-patches@gcc.gnu.org >> Subject: Re: [patch] Disable if_conversion2 for Og >> >> On 16/04/14 11:17, Joey Ye wrote: -Original M

RE: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Joey Ye
> -Original Message- > From: Richard Earnshaw > Sent: Wednesday, April 16, 2014 6:21 PM > To: Joey Ye > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [patch] Disable if_conversion2 for Og > > On 16/04/14 11:17, Joey Ye wrote: > >> -Original Message- > >> From: Richard Earnshaw > >>

Re: [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Richard Sandiford
Tom de Vries writes: > On 16-01-14 09:13, Richard Sandiford wrote: >> Tom de Vries writes: >>> * The set of registers which are clobbered during a call by things >>> like the plt >>> - these are not picked up by the use-caller-save optimization. We >>> need the >>> hook to inform the comp

RE: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Joey Ye
> -Original Message- > From: Richard Earnshaw > Sent: Wednesday, April 16, 2014 6:04 PM > To: Joey Ye > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [patch] Disable if_conversion2 for Og > > On 16/04/14 11:02, Joey Ye wrote: > > > > > >> -Original Message- > >> From: Richard Earnshaw

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

2014-04-16 Thread Jonathan Wakely
On 16/04/14 14:26 +0900, Luke Allardyce wrote: 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 necessa

Re: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Richard Earnshaw
On 16/04/14 11:17, Joey Ye wrote: >> -Original Message- >> From: Richard Earnshaw >> Sent: Wednesday, April 16, 2014 6:04 PM >> To: Joey Ye >> Cc: gcc-patches@gcc.gnu.org >> Subject: Re: [patch] Disable if_conversion2 for Og >> >> On 16/04/14 11:02, Joey Ye wrote: >>> >>> -Original

Re: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Richard Earnshaw
On 16/04/14 11:02, Joey Ye wrote: > > >> -Original Message- >> From: Richard Earnshaw >> Sent: Wednesday, April 16, 2014 5:44 PM >> To: Joey Ye >> Cc: gcc-patches@gcc.gnu.org >> Subject: Re: [patch] Disable if_conversion2 for Og >> >> Arguably, this is a bug in gdb. The debugger should u

RE: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Joey Ye
> -Original Message- > From: Richard Earnshaw > Sent: Wednesday, April 16, 2014 5:44 PM > To: Joey Ye > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [patch] Disable if_conversion2 for Og > > Arguably, this is a bug in gdb. The debugger should understand when a > breakpointed conditional i

[PING] [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Tom de Vries
On 15-01-14 17:53, Tom de Vries wrote: Eric, This patch adds scanning of clobbers in CALL_INSN_FUNCTION_USAGE to find_all_hard_reg_sets. For MIPS, calls are split at some point. After the split, one of the resulting insns may clobber $6. But before the split, that's not explicit in the rtl repr

Re: [PATCH] register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-16 Thread Tom de Vries
On 16-01-14 09:13, Richard Sandiford wrote: Tom de Vries writes: * The set of registers which are clobbered during a call by things like the plt - these are not picked up by the use-caller-save optimization. We need the hook to inform the compiler about these registers Right, but...

Re: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Richard Earnshaw
On 16/04/14 10:30, Richard Biener wrote: > On Wed, Apr 16, 2014 at 9:46 AM, Joey Ye wrote: >> >> >>> -Original Message- >>> From: Joey Ye [mailto:joey...@arm.com] >>> Sent: Tuesday, April 15, 2014 6:37 PM >>> To: 'Richard Biener' >>> Cc: GCC Patches >>> Subject: RE: [patch] Disable if_conv

Re: [patch] Disable if_conversion2 for Og

2014-04-16 Thread Richard Earnshaw
On 15/04/14 02:59, 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: > 1: unsigned

  1   2   >