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? Cheers, Rafael
t.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
