[LLVMdev] Proposal for a new LLVM concurrency memory model

David Greene dag at cray.com
Mon Apr 26 13:09:57 PDT 2010


On Monday 26 April 2010 14:03:35 Chandler Carruth wrote:

> > I don't have a strong preference, but I am curious why all the atomics
> > are integer-only.  I would like to see 32- and 64-bit float supported as
> > well, at minimum.
>
> I have no real problem with making the types of all of these analogous to
> the types supported by icmp, and providing floating point atomics as well.

Good.

> A couple of observations:
> Allowing direct use of pointers would be convenient I suspect -- pointers
> are very common operands to atomic operations, and it seems annoying to
> have to convert them to ints.

Yep.

> We can allow the IR to represent vectors, but unless hardware supports it,
> I think lowering these by decomposing them is more than LLVM should try to
> do. Because of that, I'm not sure we should support vectors as elsewhere
> they degrade gracefully.

Vector atomics are extremely useful on architectures that support them.

I'm not sure we need atomicity across vector elements, so decomposing
shouldn't be a problem, but I will have to think about it a bit.

                         -Dave




More information about the llvm-dev mailing list