[C11-atomic] [patch] gimple atomic statements

Andrew MacLeod amacleod@redhat.com
Thu May 3 16:32:00 GMT 2012


On 05/03/2012 05:59 AM, Richard Guenther wrote:
>
>> the type can be removed from the structure and now there would be no
>> wastage.  Is that reasonable?
> types in ops is a bad idea (tried that once - heh), it wrecks too much generic
> code.
>
heh, no doubt.  As I Iooked at handling the generic atomics, looks like 
Im going to restructure it anyway a bit, and it will actually match what 
you were looking for in the first place.  the generic functions deal 
with slabs of memory, so instead of a LHS, they pass in a pointer for 
the result. as well as any other values like the RHS expression value.

so now I expect to see something more along the lines of

gimple_atomic_base  { kind,  order }

gimple_atomic_target_base : gimple_atomic_base { type, target }

gimple_atomic : gimple_atomic_target_base { ops[] }

gimple_atomic_generic : gimple_atomic_target_base { return_val;  ops[] }


so FENCEs will be gimple_atomic_base,
all the rest of the normal ones will be gimple_atomic
and the generi oness will be gimple_atomic_generic

or something like that. It aint working yet so it isnt in stone and 
those are just preliminary names, but it will have a proper hierarchy of 
some sort. :-)

Andrew



More information about the Gcc-patches mailing list