Re: C++0x Memory model and gcc

2010-05-07 Thread Richard Guenther
On Thu, May 6, 2010 at 6:22 PM, Andrew MacLeod wrote: > Richard Guenther wrote: >> >> On Thu, May 6, 2010 at 5:50 PM, Richard Guenther >> wrote: >> >>> >>> First let me say that the C++ memory model is crap when it >>> forces data-races to be avoided for unannotated data like >>> the examples for

generating MELT documentation from MELT sources.

2010-05-07 Thread Basile Starynkevitch
Hello All I am working on the MELT branch [& plugin] http://gcc.gnu.org/wiki/MiddleEndLispTranslator MELT provides a lispy domain specific language [& its runtime] to code GCC extensions in. So a MELT source file *.melt (eg foo.melt) is translated into a sequence of *.c files (eg foo.c & foo+01.c

Re: a peculiar fpload problem on an inferior processor

2010-05-07 Thread Amker.Cheng
>  It is possible.  Your expander can handle it before reload; to handle it > during and after reload, you need to implement a TARGET_SECONDARY_RELOAD hook. > > http://gcc.gnu.org/onlinedocs/gccint/Register-Classes.html#index-TARGET_005fSECONDARY_005fRELOAD-3974 > Thanks Dave, It works, but I found

Re: C++0x Memory model and gcc

2010-05-07 Thread Andrew MacLeod
Richard Guenther wrote: On Thu, May 6, 2010 at 6:22 PM, Andrew MacLeod wrote: Richard Guenther wrote: I would have hoped that only data races between independent objects are covered, thus tmp = a.i; b.j = tmp; would qualify as a load of a and a store to b as far as dependencies are co

Re: a peculiar fpload problem on an inferior processor

2010-05-07 Thread Dave Korn
On 07/05/2010 12:04, Amker.Cheng wrote: >> It is possible. Your expander can handle it before reload; to handle it >> during and after reload, you need to implement a TARGET_SECONDARY_RELOAD >> hook. >> >> http://gcc.gnu.org/onlinedocs/gccint/Register-Classes.html#index-TARGET_005fSECONDARY_005f

Re: C++0x Memory model and gcc

2010-05-07 Thread Mark Mitchell
Ian Lance Taylor wrote: > -fmemory-model=single > Assume single threaded execution, which also means no signal > handlers. > -fmemory-model=fast > The user is responsible for all synchronization. Accessing > the same memory words from different threads may

Re: [RFC] Introduce -Ofast

2010-05-07 Thread Mark Mitchell
Richard Guenther wrote: > This is a proposal to introduce an optimization level -Ofast > that can collect (target specific) optimization flags that > can affect runtime behavior such as -funsafe-math-optimizations > or -mrecip. I think that makes sense. Defining what's allowed in these cases is

profile mode output analysis (call stacks to source code mapping)

2010-05-07 Thread Karel Gardas
Hello, with recent fixes into profile mode I've succeed even using it for MICO[1] on OpenSolaris platform. It seems only compilation to static libraries is supported at the moment, but never mind my server run generates something. As it provides some hints I'd like to more closely analyze I would

Re: C++0x Memory model and gcc

2010-05-07 Thread Ian Lance Taylor
Andrew MacLeod writes: > They are independent as far as dependencies within this compilation unit. > The problem is if thread number 2 is performing > a.j = val > b.i = val2 > > now there are data races on both A and B if we load/store full words > and the struct was something like: struct { >

[Fwd: Re: C++0x Memory model and gcc]

2010-05-07 Thread Andrew MacLeod
Oops, didn't reply all... Original Message Subject:Re: C++0x Memory model and gcc Date: Fri, 07 May 2010 10:37:40 -0400 From: Andrew MacLeod To: Ian Lance Taylor References: <4be2e39a.5060...@redhat.com> <4be2ecdb.2040...@redhat.com> <4be41552.4000...

Re: where are caller-save addresses legitimized?

2010-05-07 Thread Greg McGary
On 05/05/10 21:27, Jeff Law wrote: On 05/05/10 21:34, Greg McGary wrote: On 05/05/10 20:21, Jeff Law wrote: I'm not sure they are ever legitimized -- IIRC caller-save tries to only generate addressing modes which are safe for precisely this reason. Apparently not so: caller s

Re: where are caller-save addresses legitimized?

2010-05-07 Thread Jeff Law
On 05/07/10 14:54, Greg McGary wrote: Unfortunately, that didn't yield any clues. I'll proceed by building some well-established RISCy target and see what it does in similar circumstances. The canonical testcase for caller-save on risc targets was sparc FP code -- the older sparcs didn't hav

What is the best way to resolve ARM alignment issues for large modules?

2010-05-07 Thread Shaun Pinney
Hello all, Essentially, we have code which works fine on x86/PowerPC but fails on ARM due to differences in how misaligned accesses are handled. The failures occur in multiple large modules developed outside of our team and we need to find a solution. The best question to sum this up is, how can

ANNOUNCEMENT : Workshop on Essential Abstractions in GCC, 2010.

2010-05-07 Thread Prashant Rawat
-   Workshop on Essential Abstractions in GCC, 2010 (http://www.cse.iitb.ac.in/grc/gcc-workshop-10)   --

builtin ffs vs. renamed ffs (vms-crtl.h)

2010-05-07 Thread Jay K
In gcc for VMS there is some mechanism to rename functions. See the files: /src/gcc-4.5.0/gcc/config/vms/vms-crtl-64.h /src/gcc-4.5.0/gcc/config/vms/vms-crtl.h which are mostly just lists of function from/to. As well in gcc there is a mechanism for optimizing various "builtin" functions, lik

vmsdbgout.c int-to-enum cast and #define globalref

2010-05-07 Thread Jay K
vmsdbgout.c has an int-to-enum warning and needs some form of "globalref" when host=alpha-dec-vms since that #includes the VMS system headers. Perhaps gcc should recognize globalref when target=*vms* and at least interpret it as extern. Thanks,  - Jay diff -u /src/orig/gcc-4.5.0/gcc/vmsdbgout.

Re: a peculiar fpload problem on an inferior processor

2010-05-07 Thread Amker.Cheng
>  Ah, I forgot pro/epilogue generation, but I think that's the only other > thing that happens after reload.  That is a special case: it has to generate > strict rtl that directly matches the insns it wants.  You'll probably have to > arrange for it to save at least one GPR early enough in the pro