Hi Oleg,
+/*
+This pass tries to optimize for example this:
+ mov.l @(4,r4),r1
+ tst r1,r1
+ movtr1
+ tst r1,r1
+ bt/s.L5
+
+into something simpler:
+ mov.l @(4,r4),r1
+ tst r1,r1
+ bf/s.L5
+
+Such sequences can be
On 3 October 2013 23:43, Michael Hudson-Doyle michael.hud...@linaro.org wrote:
Hi,
As libatomic builds for and the tests pass on AArch64 (built on x86_64
but tested on a foundation model, logs and summary:
http://people.linaro.org/~mwhudson/libatomic.sum.txt
On Thu, Oct 3, 2013 at 4:11 AM, Andrew MacLeod amacl...@redhat.com wrote:
this patch consolidates tree-ssa-loop*.c files with new .h files as required
(8 in total)
A number of the prototypes were in tree-flow.h, but there were also a few in
cfgloop.h. tree-ssa-loop.h was created to contain a
gcc/ChangeLog:
2013-10-03 Renlin Li renlin...@arm.com
* config/arm/arm-cores.def (cortex-a53): Use cortex tunning.
s/tunning/tuning.
Ok with that change.
Ramana
On Fri, 4 Oct 2013, Jan Hubicka wrote:
Hi,
this patch makes -Ofast to also imply -mfpmath=sse. It is important win on
SPECfP (2000 and 2006). Even though for exmaple the following
float a(float b)
{
return b+10;
}
results in somewhat ridiculous
a:
.LFB0:
.cfi_startproc
On Fri, Oct 4, 2013 at 6:43 PM, Andrew MacLeod amacl...@redhat.com wrote:
This patch mostly re-factors tree-flow-inline.h out of existence.
the gimple-df data structure has found anew home in gimple-ssa.h, and this
actually seems like a very appropriate place for it as it holds a lot fo the
On 07/10/13 09:47, Ramana Radhakrishnan wrote:
gcc/ChangeLog:
2013-10-03 Renlin Li renlin...@arm.com
* config/arm/arm-cores.def (cortex-a53): Use cortex tunning.
s/tunning/tuning.
Ok with that change.
Hi Renlin,
I've committed this for you as r203241 with Changelog entry:
2013-10-07
Hi Jason,
I did intend to break this up but as I've completed the first pass at
refactoring implicit function templates and along the way fixed the 5
bugs submitted by Volker I thought I'd post the rolled up patch for you
to peruse.
It (should) support arbitrarily complex use of 'auto' in a
On Fri, 4 Oct 2013, Jan Hubicka wrote:
Hi,
this patch makes -Ofast to also imply -mfpmath=sse. It is important win on
SPECfP (2000 and 2006). Even though for exmaple the following
float a(float b)
{
return b+10;
}
results in somewhat ridiculous
a:
.LFB0:
On Mon, 7 Oct 2013, Jan Hubicka wrote:
On Fri, 4 Oct 2013, Jan Hubicka wrote:
Hi,
this patch makes -Ofast to also imply -mfpmath=sse. It is important win
on
SPECfP (2000 and 2006). Even though for exmaple the following
float a(float b)
{
return b+10;
}
In meantime I (partially,
since megrez stopped producing 32bit spec2k6 results) benchmarked
-mfpmath=sse,387 and it does not seem to be a loss anymore. So perhaps we
can
give it a try?
Not sure ... I would guess that it's not a win on any recent architecture
(and LRA is probably
On Mon, Oct 7, 2013 at 12:33 AM, Marc Glisse marc.gli...@inria.fr wrote:
Hello,
this patch asserts that when we call a function with the nonnull attribute,
the corresponding argument is not zero, just like when we dereference a
pointer. Everything is under a check for
OK to commit?
Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.892
diff -c -r1.892 index.html
*** index.html 3 Oct 2013 14:15:36 - 1.892
--- index.html 7 Oct 2013 09:35:35 -
On 10/04/13 22:23, Jan Hubicka wrote:
On Fri, Oct 4, 2013 at 11:54 AM, Jan Hubicka hubi...@ucw.cz wrote:
I looked at this problem. Bug updated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58619
This is a bug when updating block during tree-inline. Basically, it is
legal for *n to be NULL. E.g.
On Mon, Oct 7, 2013 at 12:02 PM, Ramana Radhakrishnan ramra...@arm.com wrote:
On 10/04/13 22:23, Jan Hubicka wrote:
On Fri, Oct 4, 2013 at 11:54 AM, Jan Hubicka hubi...@ucw.cz wrote:
I looked at this problem. Bug updated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58619
This is a bug when
Hi,
On 10/07/2013 11:14 AM, Adam Butcher wrote:
+ if (!cp_disable_auto_as_implicit_function_template_parm
+ current_binding_level-kind == sk_function_parms)
Stylistic nit: should be on the next line.
Thanks!
Paolo.
Hi!
On Sat, Sep 21, 2013 at 07:45:03AM -0400, Jason Merrill wrote:
So, for things that worked fine for me, I'm attaching two patches
(W050b and W051a), do they look ok to you? The rest causes issues, all
of them on gcc/testsuite/g++.dg/gomp/udr-3.C testcase, see below.
On 09/20/2013 12:25 PM,
On 6 October 2013 23:43, Tim Shen wrote:
Here's a simple piece of code
https://gist.github.com/innocentim/6849759 the reveals _BFSExecutor's
inefficiency. Some optimizations are here to reduce the unecessary
time complexity from O(n^2) to O(n).
I'll do a bootstrap and full testing before
Hi!
Vincent reported that on some machines affinity stopped working,
apparently sometimes sysconf (_SC_NPROCESSORS_CONF) is smaller than
the minimum number of logical CPUs kernel allows for sched_getaffinity
syscall :(, and I don't seem to see how to query that magic number.
So, this patch, if
Ian Lance Taylor i...@google.com writes:
On Wed, Oct 2, 2013 at 7:45 AM, Rainer Orth r...@cebitec.uni-bielefeld.de
wrote:
Here's what I came up with. As I said, it is inspired by the libffi
code, but a bit simplified since e.g. stuff like no .ascii support
aren't relevant on the Solaris
Hi!
I've obviously meant to do the forking even for more than 8 contiguous
logical CPUs available, all the test needs is that all of 0, 1, 2, 3, 4, 5,
6, 7 logical CPUs are available and not disallowed by initial affinity mask.
2013-10-07 Jakub Jelinek ja...@redhat.com
*
Hi,
__cxa_throw_bad_array_new_length and __cxa_throw_bad_array_new_length
are generated with -fno-exceptions right now. The attached patch fixes
that problem. Bootstrapped and regtested on x86_64-unknown-linux-gnu:
2013-10-07 Alexander Ivchenko alexander.ivche...@intel.com
*
On Mon, 7 Oct 2013, Richard Biener wrote:
On Mon, Oct 7, 2013 at 12:33 AM, Marc Glisse marc.gli...@inria.fr wrote:
Hello,
this patch asserts that when we call a function with the nonnull attribute,
the corresponding argument is not zero, just like when we dereference a
pointer. Everything is
Hello,
this patch adds an attribute to let the compiler know that a function
never returns NULL. I saw some ECF_* flags, but the attribute seems
sufficient. I considered using nonnull(0), but then it would have been
confusing that the version of nonnull without arguments applies only to
This patch fixes two ICEs on valid testcases and one ICE on an invalid
testcase. In the former, we should check for EXPR_P (as in the fix for
PR58516) before using SET_EXPR_LOCATION; in the latter we should bail
out early if the return-expression is the error_mark_node, otherwise
subsequent call
On 09/27/13 09:23, Jakub Jelinek wrote:
On Thu, Sep 26, 2013 at 02:31:33PM -0500, Aldy Hernandez wrote:
+/* Create a simd clone of OLD_NODE and return it. */
+
+static struct cgraph_node *
+simd_clone_create (struct cgraph_node *old_node)
+{
+ struct cgraph_node *new_node;
+ new_node =
On Mon, Oct 7, 2013 at 5:24 AM, Rainer Orth r...@cebitec.uni-bielefeld.de
wrote:
Unfortunately, Solaris 9 testing with Sun as revealed two problems: that
assembler cannot handle either # comments or .global instead of .globl.
The following patch fixes this and allows makefunc_386.S to
Sorry I forgot to reply the mailing list. Here's the discussion:
--- Tim
On Oct 7, 2013 7:12 AM, Jonathan Wakely jwakely@gmail.com wrote:
Does _TodoList really need to derive from std::vector_StateIdT or
could it
On Mon, Oct 7, 2013 at 12:22 PM, Jonathan Wakely jwakely@gmail.com wrote:
because that turns into the equivalent of a std::memset() on integers.
Here I catch your idea. But think about the following example:
_M_exists.size() == 1000, but only 3 of the elements are true. Now
what I intend to
You are right. I am not an expert on numerical analysis, but I tested
your case and it proves the number 4 conversion is not safe.
Now we have four conversions which are safe once the precision
requirement is satisfied. I added a condition if (type != newtype) to
remove the unsafe one, as in this
On Mon, 2013-10-07 at 16:17 +0200, Marc Glisse wrote:
Hello,
this patch adds an attribute to let the compiler know that a function
never returns NULL. I saw some ECF_* flags, but the attribute seems
sufficient. I considered using nonnull(0), but then it would have been
confusing that the
On Mon, Oct 7, 2013 at 7:12 AM, Jonathan Wakely jwakely@gmail.com wrote:
On 6 October 2013 23:43, Tim Shen wrote:
Here's a simple piece of code
https://gist.github.com/innocentim/6849759 the reveals _BFSExecutor's
inefficiency. Some optimizations are here to reduce the unecessary
time
On 7 October 2013 18:12, Tim Shen timshe...@gmail.com wrote:
On Mon, Oct 7, 2013 at 12:22 PM, Jonathan Wakely jwakely@gmail.com
wrote:
because that turns into the equivalent of a std::memset() on integers.
Here I catch your idea. But think about the following example:
_M_exists.size()
On Mon, Oct 7, 2013 at 1:28 PM, Jonathan Wakely jwakely@gmail.com wrote:
std::memset() on about 125 bytes is not a big deal, I doubt it's
significantly more expensive than the calculations to find the right
bits and do the necessary masking for three elements.
std::vectorbool is a strange
On Mon, Oct 7, 2013 at 1:40 PM, Tim Shen timshe...@gmail.com wrote:
while (!this-empty())
this-pop();
Sorry it's this-_M_empty() and this-_M_pop();
--
Tim Shen
On Mon, 7 Oct 2013, David Malcolm wrote:
On Mon, 2013-10-07 at 16:17 +0200, Marc Glisse wrote:
Hello,
this patch adds an attribute to let the compiler know that a function
never returns NULL. I saw some ECF_* flags, but the attribute seems
sufficient. I considered using nonnull(0), but then
The last patch introduced a regression. This ensures that we don't
generate false positives diagnosing errors in non-template contexts.
2013-10-07 Andrew Sutton andrew.n.sut...@gmail.com
* gcc/cp/cp-tree.h (check_constrained_friend): Take requirements as
an argument.
*
On Mon, 2013-10-07 at 19:51 +0200, Marc Glisse wrote:
On Mon, 7 Oct 2013, David Malcolm wrote:
On Mon, 2013-10-07 at 16:17 +0200, Marc Glisse wrote:
Hello,
this patch adds an attribute to let the compiler know that a function
never returns NULL. I saw some ECF_* flags, but the
Hi, David,
Thanks for the review. Patch updated.
Dehao
On Sun, Oct 6, 2013 at 11:54 AM, Xinliang David Li davi...@google.com wrote:
Adding additional early inline + value transform (calling them as
utility functions) is 'unconventional' way of invoking passes. It
would be helpful to do more
On 10/07/13 12:37, David Malcolm wrote:
On Mon, 2013-10-07 at 19:51 +0200, Marc Glisse wrote:
On Mon, 7 Oct 2013, David Malcolm wrote:
On Mon, 2013-10-07 at 16:17 +0200, Marc Glisse wrote:
Hello,
this patch adds an attribute to let the compiler know that a function
never returns NULL. I saw
OK.
If we have a friend declaration inside a constrained partial
specialization, will that still get a false positive?
Jason
On Wed, 2013-10-02 at 21:32 -0400, David Malcolm wrote:
[...]
* I'm running into configure/Makefile issues with
--enable-host-shared, where CFLAGS contains -fPIC, but only on
invocations of leaf Makefiles, not on recursive make - so it works if
you cd into $builddir/gcc and make (and so on
Ping.
On Wed, Sep 25, 2013 at 02:41:32PM +0200, Marek Polacek wrote:
On Thu, Sep 12, 2013 at 02:26:55PM +0200, Marek Polacek wrote:
This patch adds the instrumentation of VLA bounds. Basically, it just
checks that
the size of a VLA is positive. I.e., We also issue an error if the size
On Mon, Oct 7, 2013 at 1:28 PM, Jonathan Wakely jwakely@gmail.com wrote:
std::memset() on about 125 bytes is not a big deal, I doubt it's
significantly more expensive than the calculations to find the right
bits and do the necessary masking for three elements.
std::vectorbool is a strange
The patch is rather obvious. The question is just why was the check
there at the first place.
Build and regtested on x86-64-gnu-linux.
OK for the trunk?
Tobias
2013-10-07 Tobias Burnus bur...@net-b.de
PR fortran/58658
* expr.c (gfc_check_vardef_context): Fix pointer diagnostic
for
ping...
On Tue, Oct 1, 2013 at 1:28 PM, Dehao Chen de...@google.com wrote:
Hi,
This patch disables the C++ frontend to add *INTERNAL* suffix to
maybe_in_charge_destructor/constructor. This is needed because these
functions could be emitted in the debug info, and we would want to
demangle
On Wed, Oct 2, 2013 at 6:32 PM, David Malcolm dmalc...@redhat.com wrote:
This is very much a proof-of-concept/work-in-progress at this stage, but
attached is a patch to GCC which aims to provide an embeddable
JIT-compilation API, using GCC as the backend: libgccjit.so.
This shared library can
On Mon, 2013-10-07 at 10:30 +0200, Christian Bruel wrote:
Hi Oleg,
+/*
+This pass tries to optimize for example this:
+ mov.l @(4,r4),r1
+ tst r1,r1
+ movtr1
+ tst r1,r1
+ bt/s.L5
+
+into something simpler:
+ mov.l @(4,r4),r1
+ tst
On Mon, 2013-10-07 at 07:44 +0900, Kaz Kojima wrote:
Oleg Endo oleg.e...@t-online.de wrote:
Forgot to handle a case in function can_remove_cstore, thanks for
catching it. Fixed in the attached patch and also added test cases.
Retested as before without new failures.
Ok for trunk.
Andi Kleen a...@firstfloor.org writes:
PING^2
Andi Kleen a...@firstfloor.org writes:
From: Andi Kleen a...@linux.intel.com
[I posted this originally quite some time ago.
This version fixes all review problems, particularly
it works for C++ too and the test case really works.]
Ping!
On this patch, I add some infrastructure to say whether a given mode can go in
a general purpose register, floating point register, or altivec register, and
if it can, what kinds of addressing is legal for the mode. In addition, I have
switched to using memset to setup the arrays indexed by mode.
On 7 October 2013 22:14, Tim Shen wrote:
On Mon, Oct 7, 2013 at 1:28 PM, Jonathan Wakely jwakely@gmail.com wrote:
std::memset() on about 125 bytes is not a big deal, I doubt it's
significantly more expensive than the calculations to find the right
bits and do the necessary masking for
On 18 June 2013 23:55, Jonathan Wakely wrote:
Instead of fixing the bug three times I refactored the try_lock_xxx
functions into a mixin template and used that in the various timed
mutexes.
PR libstdc++/57641
* include/std/mutex (timed_mutex, recursive_timed_mutex): Move
On Mon, Oct 7, 2013 at 7:11 PM, Jonathan Wakely jwakely@gmail.com wrote:
The version in your gist (which is *not* what your first patch did!)
is faster for any size of _M_exists and any ratio of _M_states.size()
/ _M_exists.size():
Sorry for my original patch, I made a mistake! It's:
Oleg Endo oleg.e...@t-online.de wrote:
To be honest, I had some difficulty picking the name.
Maybe something like 'sh_tbit_combine' or 'sh_treg_combine' would be
better, or at least less confusing? Suggestions are highly appreciated.
'sh_treg_combine' or 'sh_combine_treg' sounds good to me.
On 8 October 2013 01:06, Tim Shen wrote:
On Mon, Oct 7, 2013 at 7:11 PM, Jonathan Wakely jwakely@gmail.com wrote:
The version in your gist (which is *not* what your first patch did!)
is faster for any size of _M_exists and any ratio of _M_states.size()
/ _M_exists.size():
Sorry for my
Hi,
this ICE on invalid 4.8/4.9 Regression is very easy to fix: just add a
check for error_mark_node on the return of xref_tag (I'm also removing a
redundant one a few lines below). This brings us to the same error
message we get when there are no lambdas involved, eg for the existing
Passes regression tests. Ok for google/4_8?
Thanks,
Teresa
2013-10-07 Teresa Johnson tejohn...@google.com
* cp/cp-objcp-common.c (cmp_templ_arg): Fix argument pack
accesses.
Index: cp/cp-objcp-common.c
===
---
ok.
thanks,
David
On Mon, Oct 7, 2013 at 6:33 PM, Teresa Johnson tejohn...@google.com wrote:
Passes regression tests. Ok for google/4_8?
Thanks,
Teresa
2013-10-07 Teresa Johnson tejohn...@google.com
* cp/cp-objcp-common.c (cmp_templ_arg): Fix argument pack
accesses.
On Mon, Oct 7, 2013 at 8:43 PM, Jonathan Wakely jwakely@gmail.com wrote:
OK, this latest patch looks good so please go ahead and commit it - thanks!
Committed :)
--
Tim Shen
On 10/07/13 07:52, Marc Glisse wrote:
On Mon, 7 Oct 2013, Richard Biener wrote:
On Mon, Oct 7, 2013 at 12:33 AM, Marc Glisse marc.gli...@inria.fr
wrote:
Hello,
this patch asserts that when we call a function with the nonnull
attribute,
the corresponding argument is not zero, just like when
On Tue, Oct 1, 2013 at 6:50 PM, Richard Biener
richard.guent...@gmail.com wrote:
On Mon, Sep 30, 2013 at 7:39 AM, bin.cheng bin.ch...@arm.com wrote:
I don't think you need
+ /* Sign extend off if expr is in type which has lower precision
+ than HOST_WIDE_INT. */
+ if
On Sun, Oct 6, 2013 at 6:43 AM, Jan Hubicka hubi...@ucw.cz wrote:
2013-10-03 Teresa Johnson tejohn...@google.com
* params.def (PARAM_MIN_HOT_RUN_RATIO): New parameter.
I would not mention HOT in the parameter name. Blocks are hot/normal/unlikely
and we HOT_BB_FREQUENCY_FRACTION.
On Fri, Oct 4, 2013 at 8:54 AM, Xinliang David Li davi...@google.com wrote:
On Thu, Oct 3, 2013 at 10:15 PM, Teresa Johnson tejohn...@google.com wrote:
This patch handles the fact that small profile count values sometimes
get truncated down to 0 during updates due to integer arithmetic. This
On Sun, Oct 6, 2013 at 6:51 AM, Jan Hubicka hubi...@ucw.cz wrote:
The second part ensures that frequencies are correctly updated after
inlining. The problem is that after inlining the frequencies were
being recomputed directly from the corresponding bb counts in
rebuild_frequencies. If the
65 matches
Mail list logo