[patch?] Linux ARM atomics

Rafael EspĂ­ndola rafael.espindola at gmail.com
Sun Apr 14 17:32:07 PDT 2013

With the attached patch I can bootstrap clang on my new ARM chromebook
running fedora 18.

The thing is, I don't really understand what this code is doing :-(

Why is clang in the business of deciding what gets compiled into a
libgcc/compilerrt call? Shouldn't it always produce IL that uses the
atomic operations and let LLVM produce the compiler-rt calls when it
knows the backend can't handle it?

This would simplify clang and let llvm optimize the operations, even
when they do get lowered to calls in the end.

Assuming there is a reason for producing the calls in clang, there is
still a mismatch from what functions CodeGenFunction::EmitAtomicExpr
thinks are available and which ones really are in my system. For
example, there is no __atomic_load anywhere in libgcc. Could this be
because all arm hard float systems have v6e?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.patch
Type: application/octet-stream
Size: 502 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130414/46d7f135/attachment.obj>

More information about the cfe-commits mailing list