On Mon, Nov 28, 2011 at 10:12:09AM +1030, Alan Modra wrote:
> --- libgomp/config/linux/bar.c(revision 181718)
> +++ libgomp/config/linux/bar.c(working copy)
> @@ -36,18 +36,15 @@ gomp_barrier_wait_end (gomp_barrier_t *b
>if (__builtin_expect ((state & 1) != 0, 0))
> {
>
On Mon, Nov 28, 2011 at 10:37:09AM +1030, Alan Modra wrote:
> On Mon, Nov 28, 2011 at 09:27:20AM +1030, Alan Modra wrote:
> > This is the mutex part. Depends on
> > http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02454.html for MEMMODEL_*
> > values.
>
> Arrgh, I posted the wrong patch. I know it n
On Mon, Nov 28, 2011 at 09:15:02AM +0100, Jakub Jelinek wrote:
> On Mon, Nov 28, 2011 at 10:37:09AM +1030, Alan Modra wrote:
> > 14 A flush region without a list is implied at the following locations:
> > 15 • During a barrier region.
> > 16 • At entry to and exit from parallel, critical, and order
On Mon, Nov 28, 2011 at 09:13:27AM +0100, Jakub Jelinek wrote:
> On Mon, Nov 28, 2011 at 10:12:09AM +1030, Alan Modra wrote:
> > --- libgomp/config/linux/bar.c (revision 181718)
> > +++ libgomp/config/linux/bar.c (working copy)
> > @@ -36,18 +36,15 @@ gomp_barrier_wait_end (gomp_barrier_t
Hi,
The current trunk have no support for the __stpncpy_chk function. As the latest
OS X (10.7 aka Lion) now defines stpncpy as a call to builtin__stpncpy_chk for
GNUC compliant compiler, the following code won't link:
#include
int main(){
char string[10];
stpncpy(string,"abcd",
All,
The attached patch adds a integer pipeline description for Cortex-A15.
Although not dependent on my testing has been done on top of Sameera's
Deshpande's A15 Prologue/Epilogue patches (see:
http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00856.html and following).
Testing on some popular e
Dear all,
attached is an updated patch, I hadn't considered that the declared type
of polymorphic arguments could be different. The middle end was not
happy about:
to = from
where "to" and "from" where different class containers. I was
considering to force the assignment (via VIEW_CONVERT_E
Hi,
when I implemented get/put_money I gorgot about the sentry, oops. Tested
x86_64-linux, committed to mainline.
Paolo.
/
2011-11-28 Paolo Carlini
PR libstdc++/51288
* include/std/iomanip (get_money, put_money): Use sentry.
* testsuite/27_io/ma
gfortran printed an error that "c_null_ptr" couldn't be SAVE an
PARAMETER at the same time; removing the SAVE attribute causes an error
that a BIND(C) variable may not be a PARAMETER, thus that has to be
fixed as well.
(Patch based on the one of Steven
Build and regtested on x86-64-linux.
OK f
On 23 November 2011 23:43, Richard Henderson wrote:
> This transformation is quite a bit more dramatic than the other ports because
> ARM was not splitting the code sequences post-reload. Indeed, the failure to
> split resulted in a distinctly odd coding style where fake output routines
> were
Hi Joseph,
Mike has OK'd this ...
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01672.html
.. from the ObjC and Darwin points of view (and it implements your
suggested changes from the review of version 1).
Is it now OK for trunk?
thanks
Iain
On 14 Nov 2011, at 20:30, Iain Sandoe wrote:
V
On Mon, Nov 28, 2011 at 08:09:01PM +1030, Alan Modra wrote:
> On Mon, Nov 28, 2011 at 09:13:27AM +0100, Jakub Jelinek wrote:
> > On Mon, Nov 28, 2011 at 10:12:09AM +1030, Alan Modra wrote:
> > > --- libgomp/config/linux/bar.c(revision 181718)
> > > +++ libgomp/config/linux/bar.c(working cop
On 11/28/2011 02:37 PM, Tobias Burnus wrote:
Build and regtested on x86-64-linux.
OK for the trunk?
Steve approved the patch in the PR; thus, I have committed it as Rev.
181778.
Tobias
On 11/22/2011 03:48 PM, Joseph S. Myers wrote:
On Tue, 22 Nov 2011, Andrew MacLeod wrote:
It certainly does have those types, as typedefs defined in for
the same types as uint_least16_t and uint_least32_t. And is
also required to define ATOMIC_CHAR16_T_LOCK_FREE and
ATOMIC_CHAR32_T_LOCK_F
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 patch would test it as well.
>
> powerpc-linux and powerpc64-linux look good.
Thanks for the confirmation. However, Andreas Tobler pointed out in
private mail
On Mon, Nov 28, 2011 at 09:23:43AM +1030, Alan Modra wrote:
> + int count = *sem;
> +
> + while ((count & 0x7fff) != 0)
> +{
> + int oldval = count;
> + __atomic_compare_exchange_4 (sem, &oldval, count - 1,
> +false, MEMMODEL_ACQUIRE, MEMMODEL_REL
Richard Henderson writes:
> On 11/21/2011 05:53 AM, Rainer Orth wrote:
>> The libitm execution tests are currently failing on Solaris 10 and up
>> with Sun as/ld:
>>
>> ld.so.1: cancel.exe: fatal:
>> /var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/./libitm/.libs/libitm.so.0:
>> hard
On Mon, 28 Nov 2011, Iain Sandoe wrote:
> Hi Joseph,
>
> Mike has OK'd this ...
>
> http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01672.html
>
> .. from the ObjC and Darwin points of view (and it implements your suggested
> changes from the review of version 1).
>
> Is it now OK for trunk?
OK.
You still have libgcc source files under gcc/config/ (cr16-libgcc.s,
divmodhi3.c). You still have libgcc-related settings / makefile targets
in gcc/config/cr16/t-cr16.
--
Joseph S. Myers
jos...@codesourcery.com
On Mon, 28 Nov 2011, Andrew MacLeod wrote:
> OK, here's a reworked patch. This bootstraps but there is a regression... one
> set of PCH tests fail in a very odd way. I've investigated it and it turns out
> that for some reason, ptr_type_node doesn't always have it size set if code
> isn't being
Hello!
> This patch changes the Go library to multiplex goroutines onto operating
> system threads. Previously, each new goroutine ran in a separate
> thread. That is inefficient for programs with lots of goroutines. This
> patch changes the library such that it runs a certain numbers of
> thre
Hello,
Consider this example:
template class b>
struct foo {
template
using type = b;
template
b funca() {}
template
type funcb() {}//#1
};
In #1, when lookup_template_class_1 builds the type of type we hit
a kind of plumbing issue; near the en
On 11/28/2011 06:01 AM, David Gilbert wrote:
> Hi Rchard,
> Can you explain the code:
>
> + if (mod_f != MEMMODEL_RELAXED)
> +emit_label (label2);
> +
> + arm_post_atomic_barrier (mod_s);
> +
> + if (mod_f == MEMMODEL_RELAXED)
> +emit_label (label2);
> +}
>
> in the case of the exist
Changes v1->v2:
* DImode fixes.
* Use the new atomic_test_and_set optab for LDSTUB.
* Change -mmmodel to -mmemory-model and document it.
r~
Richard Henderson (5):
sparc: Convert to mem_thread_fence.
sparc: Convert to atomic_load/store.
sparc: Convert to atomic_compare_and_swap.
sp
---
gcc/config/sparc/predicates.md |4 ++
gcc/config/sparc/sparc-protos.h |2 +
gcc/config/sparc/sparc.c| 47 +++
gcc/config/sparc/sync.md| 79 ---
4 files changed, 118 insertions(+), 14 deletions(-)
diff --git a
---
gcc/config/sparc/predicates.md |5 +++
gcc/config/sparc/sparc.md |1 +
gcc/config/sparc/sync.md | 59
3 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/gcc/config/sparc/predicates.md b/gcc/config/sparc/predicates.md
in
---
gcc/config/sparc/sync.md | 90 +++--
1 files changed, 30 insertions(+), 60 deletions(-)
diff --git a/gcc/config/sparc/sync.md b/gcc/config/sparc/sync.md
index d7066b0..be8c4c4 100644
--- a/gcc/config/sparc/sync.md
+++ b/gcc/config/sparc/sync.md
@@ -19
---
gcc/config/sparc/sparc-opts.h | 10 +
gcc/config/sparc/sparc.c | 48 ++-
gcc/config/sparc/sparc.opt| 22
gcc/doc/invoke.texi | 74 ++--
4 files changed, 134 insertions(+), 20 deletions(-)
d
Aid the backend with mem_noofs_operand and a constraint to match.
---
gcc/config/sparc/constraints.md |5 +++-
gcc/config/sparc/predicates.md |4 +++
gcc/config/sparc/sparc-protos.h |2 +-
gcc/config/sparc/sparc.c| 56 ---
gcc/config/sparc
Hi!
On the following testcase the volatile load/store are optimized away.
IMHO this is a bug in forwprop, which replaces
tmp_Y = &nonvolvar[arg_X];
MEM[(volatile ...*)tmp_Y] ={v} ...;
with
MEM[(volatile ...*)&nonvolvar][tmp_Y] ={v} ...;
where the LHS is no longer TREE_THIS_VOLATILE like befo
Hi!
The checking code insists on edges to EXIT_BLOCK_PTR (and from
ENTRY_BLOCK_PTR) to have no EDGE_CROSSING bit set, so if we have
a bb in second partition jumping to first partition's entry block
and convert_jumps_to_returns changes it to simple_return, we
need to drop the EDGE_CROSSING bit.
Bo
Hi!
As discussed in the PR, SSA_NAME ={v} {CLOBBER} stmts are undesirable
at least for the debug info, we really don't need to mark there the end
of scope in the IL, the debug info records the ranges of the scopes
and if the clobber gets scheduled before some insn we get unnecessarily
pessimistic
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 11/28/11 11:43, Jakub Jelinek wrote:
> Hi!
>
> As discussed in the PR, SSA_NAME ={v} {CLOBBER} stmts are
> undesirable at least for the debug info, we really don't need to
> mark there the end of scope in the IL, the debug info records the
> ran
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 11/28/11 11:40, Jakub Jelinek wrote:
> Hi!
>
> The checking code insists on edges to EXIT_BLOCK_PTR (and from
> ENTRY_BLOCK_PTR) to have no EDGE_CROSSING bit set, so if we have a
> bb in second partition jumping to first partition's entry block an
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 11/28/11 11:36, Jakub Jelinek wrote:
> Hi!
>
> On the following testcase the volatile load/store are optimized
> away. IMHO this is a bug in forwprop, which replaces tmp_Y =
> &nonvolvar[arg_X]; MEM[(volatile ...*)tmp_Y] ={v} ...; with
> MEM[(vola
On 11/28/2011 11:42 AM, Joseph S. Myers wrote:
On Mon, 28 Nov 2011, Andrew MacLeod wrote:
That would be why cppbuiltin.c, defining __SIZEOF_POINTER__, needs to use
the POINTER_SIZE macro instead of directly using ptr_type_node. You may
need to do something similar.
/* ptr_type_node can't be
All,
I'd like to commit the attached patch to trunk and gcc-4.6.
It is a follow up from this one:
http://gcc.gnu.org/ml/gcc-cvs/2011-11/msg00886.html
I missed this one because in my setup I didn't build any shared
libraries from classpath. The config.rpath patch is already sent to
classpath.
On 11/28/2011 11:29 AM, Andrew MacLeod wrote:
> c-family
> * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
> predefines in one place. Add LOCK_FREE predefines.
> (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
> new func.
>
> libstdc++-v3
>
On Mon, Nov 28, 2011 at 12:16:45PM -0700, Jeff Law wrote:
> > On the following testcase the volatile load/store are optimized
> > away. IMHO this is a bug in forwprop, which replaces tmp_Y =
> > &nonvolvar[arg_X]; MEM[(volatile ...*)tmp_Y] ={v} ...; with
> > MEM[(volatile ...*)&nonvolvar][tmp_Y] =
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 11/23/11 13:42, Jakub Jelinek wrote:
> Hi!
>
> As mentioned in the PR, if gimple_purge_dead_eh_edges is ever
> called after ehcleanup2 pass (or in its after todos as in the
> testcase below), nothing removes the unreachable EH regions and we
> cras
Ping? Anything else for this?
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02178.html
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01467.html
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01356.html
Hello world,
the testing of the test patch I submitted earlier (Thanks Salvatore and
Joost!) has shown a performance increase, so here is a formal
submission. No test case because this patch is not supposed to
change anything, just make module reading a bit more efficient.
Regression-tested on
> The result has been bootstrapped by Eric (thanks for this and debugging
> why a first version caused some regressions on Solaris 8) and myself on
> Solaris 8, 9, 10 and 11, and I've performed quite a bit of software
> archaeology (i.e. stared at old libc.so.1 and libthread.so.1 patches) to
> make
Ping!
--
Harshit
On Mon, Nov 28, 2011 at 22:29, Thomas Koenig wrote:
> Hello world,
>
> the testing of the test patch I submitted earlier (Thanks Salvatore and
> Joost!) has shown a performance increase, so here is a formal
> submission. No test case because this patch is not supposed to
> change anything, just m
On 11/28/2011 11:54 AM, Dodji Seketeli wrote:
@@ -3028,10 +3028,12 @@ find_parameter_packs_r (tree*tp, int *walk_subtrees,
void* data)
case BOUND_TEMPLATE_TEMPLATE_PARM:
/* Check the template itself. */
- cp_walk_tree (&TREE_TYPE (TYPE_TI_TEMPLATE (t)),
+ cp_walk_tree
Hello!
2011-11-28 Uros Bizjak
* g++.dg/cdce3.C: Use dg-additional-options.
Tested on x86_64-pc-linux-gnu, committed.
Uros.
Index: g++.dg/cdce3.C
===
--- g++.dg/cdce3.C (revision 181784)
+++ g++.dg/cdce3.C (wor
> Here is an attempt to make the check more complete (e.g.
> the change wouldn't see overlap if addr was PLUS of two REGs,
> where one of the REGs was based on internal_arg_pointer, etc.)
> and less pessimistic. As tree-tailcall.c doesn't allow tail calls
> from functions that have address of any
Please also explain the need for backpointer section.
David
http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c
File gcc/config/i386/i386.c (right):
http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10801
gcc/config/i386/i386.c:10801: +static bool
Add a
On Mon, Nov 28, 2011 at 05:23:37PM +0100, Jakub Jelinek wrote:
> On Mon, Nov 28, 2011 at 09:23:43AM +1030, Alan Modra wrote:
> > + int count = *sem;
> > +
> > + while ((count & 0x7fff) != 0)
> > +{
> > + int oldval = count;
> > + __atomic_compare_exchange_4 (sem, &oldval, count
Hi, Joseph, get a chance to take a look? Thanks!
-Han
On 2011/11/19 00:10:20, shenhan wrote:
Hi, Joseph, thanks!
ChangeLog entries added to the issue description.
ChangeLog
* Makefile.in (GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT): add a macro
definition to compile command.
On Mon, Nov 28, 2011 at 11:10:56PM +0100, Eric Botcazou wrote:
> This looks reasonable, but the logic is a bit hard to follow, especially the
> double usage of internal_arg_pointer_based_reg depending on SCAN's value.
> Would it be possible to split it into 2 functions that recursively call each
On 11/28/2011 02:16 PM, Alan Modra wrote:
> Hmm, I suppose you could argue that powerpc and others ought to not
> generate those three extra instructions when using the return value.
> I'll see about fixing powerpc.
True. For weak, the value *should* always be used (otherwise the user program
is
Hi!
DEBUG_INSN with LABEL_DECL var isn't duplicated in bb copies (we want
just one definition of the label), which breaks apply_opt_in_copies
attempt to match insn in bb copy with orig_insn from the orig_bb.
Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
ok for trunk?
2011-
On Wed, Nov 23, 2011 at 8:57 AM, Jakub Jelinek wrote:
> On Wed, Nov 23, 2011 at 07:47:46AM -0600, Aldy Hernandez wrote:
>> >>@@ -4198,7 +4198,7 @@ ipa_tm_create_version_alias (struct cgra
>> >> TREE_SYMBOL_REFERENCED (tm_name) = 1;
>> >>
>> >> /* Perform the same remapping to the comdat group.
On 11/27/2011 02:53 PM, Alan Modra wrote:
> +enum memmodel
> +{
> + MEMMODEL_RELAXED = 0,
> + MEMMODEL_CONSUME = 1,
> + MEMMODEL_ACQUIRE = 2,
> + MEMMODEL_RELEASE = 3,
> + MEMMODEL_ACQ_REL = 4,
> + MEMMODEL_SEQ_CST = 5,
> + MEMMODEL_LAST = 6
> +};
This should probably go to libgomp.h.
> /
On 11/28/2011 03:54 PM, David Edelsohn wrote:
> On Wed, Nov 23, 2011 at 8:57 AM, Jakub Jelinek wrote:
>> On Wed, Nov 23, 2011 at 07:47:46AM -0600, Aldy Hernandez wrote:
> @@ -4198,7 +4198,7 @@ ipa_tm_create_version_alias (struct cgra
> TREE_SYMBOL_REFERENCED (tm_name) = 1;
>
>
On 11/28/2011 03:05 PM, Richard Henderson wrote:
> On 11/28/2011 02:16 PM, Alan Modra wrote:
>> Hmm, I suppose you could argue that powerpc and others ought to not
>> generate those three extra instructions when using the return value.
>> I'll see about fixing powerpc.
>
> However, we can do bette
On 11/28/2011 04:26 PM, Richard Henderson wrote:
> On 11/28/2011 03:05 PM, Richard Henderson wrote:
>> On 11/28/2011 02:16 PM, Alan Modra wrote:
>>> Hmm, I suppose you could argue that powerpc and others ought to not
>>> generate those three extra instructions when using the return value.
>>> I'll
On Mon, Nov 28, 2011 at 04:00:10PM -0800, Richard Henderson wrote:
> On 11/27/2011 02:53 PM, Alan Modra wrote:
> > +enum memmodel
> > +{
> > + MEMMODEL_RELAXED = 0,
> > + MEMMODEL_CONSUME = 1,
> > + MEMMODEL_ACQUIRE = 2,
> > + MEMMODEL_RELEASE = 3,
> > + MEMMODEL_ACQ_REL = 4,
> > + MEMMODEL_S
On Mon, Nov 28, 2011 at 04:33:58PM -0800, Richard Henderson wrote:
> On 11/28/2011 04:26 PM, Richard Henderson wrote:
> > On 11/28/2011 03:05 PM, Richard Henderson wrote:
> >> On 11/28/2011 02:16 PM, Alan Modra wrote:
> >>> Hmm, I suppose you could argue that powerpc and others ought to not
> >>> g
On 11/27/2011 02:57 PM, Alan Modra wrote:
> This is the mutex part. Depends on
> http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02454.html for MEMMODEL_*
> values.
>
> * config/linux/mutex.h: Use atomic rather than sync builtins.
> * config/linux/mutex.c: Likewise. Comment. Use -1 for
On 11/28/2011 06:02 AM, Alan Modra wrote:
> - unsigned int ret = bar->generation & ~3;
> - /* Do we need any barrier here or is __sync_add_and_fetch acting
> - as the needed LoadLoad barrier already? */
> - ret += __sync_add_and_fetch (&bar->awaited, -1) == 0;
> + unsigned int ret = __atom
This fixes the ordering issues with a couple of Alan's pending patches, and put
the enumeration where the entire library can use it.
Committed.
r~
* libgomp.h (enum memmodel): New.
diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index 9cf9d32..2c9c071 100644
--- a/libgomp/libgomp.
On Mon, Nov 7, 2011 at 5:32 PM, Michael Meissner
wrote:
> This patch rewrites the way builtins are handled in the rs6000 port so that
> like the x86, when you do #pragma GCC target or attribute((target(...))) and
> it
> enables or disables the builtins based on the current target attributes. It
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 patch would test it as
> >> well.
> >
> > powerpc-linux and powerpc64-linux look good.
>
>
On 11/25/2011 12:58 PM, Jakub Jelinek wrote:
> PR middle-end/50074
> * expr.c (expand_expr_addr_expr_1): Don't call force_operand for
> EXPAND_SUM modifier.
Ok.
r~
On Sat, 26 Nov 2011, Richard Henderson wrote:
> The m68k-linux failure for the various omp atomic tests
> is due to the fact that BIGGEST_ALIGNMENT is 16 bits on
> that platform. I think it's pretty reasonable to assume
> that if something is aligned to BIGGEST_ALIGNEMENT, then
> it can be conside
On Sun, Nov 27, 2011 at 2:18 AM, Richard Sandiford
wrote:
> This patch fixes the MIPS octeon-baddu-1.c failures. As Andrew says
> in the PR, the problem is that the combined instruction seems more
> expensive than the separate ones.
I was going to submit a similar patch which I created internall
On Mon, Nov 28, 2011 at 05:42:15PM -0800, Richard Henderson wrote:
> On 11/28/2011 06:02 AM, Alan Modra wrote:
> > - unsigned int ret = bar->generation & ~3;
> > - /* Do we need any barrier here or is __sync_add_and_fetch acting
> > - as the needed LoadLoad barrier already? */
> > - ret +=
Hi,
In vectorizer's over-widening pattern recognition the last statement
is expected to be a type demotion, but the check for that was
incomplete. We now check that the resulting type is not bigger than
the original type of the computation.
Bootstrapped and tested on powerpc64-suse-linux, tested
The Go language recently added a new predefined type, named "error",
which is an interface type with a single method, Error. This patch,
from Rémy Oudompheng, implements this type for gccgo. Bootstrapped and
ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r 9f8ff
Attached patch applied.
2011-11-29 François Dumont
* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
useless now that the hashtable implementation put the hash code in
cache if the hash functor throws.
* testsuite/23_containers/unordered_set/e
73 matches
Mail list logo