[cfe-users] Question about atomic variables of unsupported bitsize

Levo DeLellis via cfe-users cfe-users at lists.llvm.org
Mon Apr 30 15:27:17 PDT 2018

I constantly feel like I don't have much experience using LLVM but I hope
this isn't a foolish question.

I had a thought. If I have a struct with three 8bit (or 16bit) variables a,
b and c and I want to do an atomic write to one variable. What happens if
the target backend doesn't support atomic writes of that bitsize? It
wouldn't be very safe to read, modify the 8bits then write again since it's
not atomic. Logically the frontend can easily fix this problem by padding
or forcing the variables to be a supported size. My question is will I get
a compile error if I try to do an unsupported atomic write? Am I able to
query for information before I generate code? Is there a list I should
check for each backend I want to support? I'm unsure what I should do for
good frontend support.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20180430/1fb594bd/attachment.html>

More information about the cfe-users mailing list