Hmm. Using the optimized libcalls is a great idea, but it should be a separate
patch. You also need to mention that you'd like to do this on cfe-dev first,
since it does introduce new runtime dependencies, even if they're a documented
part of the existing atomics runtime.
================
Comment at: lib/CodeGen/CGAtomic.cpp:1073
@@ -1049,1 +1072,3 @@
+static llvm::Value *convertRValueToInt(CodeGenFunction &CGF,
+ const AtomicInfo &AI, RValue RVal) {
----------------
Consider making this a method on the AtomicInfo.
================
Comment at: lib/CodeGen/CGAtomic.cpp:1274
@@ +1273,3 @@
+ // Other decoration.
+ if (Obj.isVolatileQualified())
+ Inst->setVolatile(/*V=*/true);
----------------
Inst->setVolatile(Obj.isVolatileQualified());
Inst->setWeak(IsWeak);
================
Comment at: lib/CodeGen/CGAtomic.cpp:1282
@@ +1281,3 @@
+
+ // The easiest way to do this this is to go through memory, but we
+ // try not to in some easy cases.
----------------
This part should also be a method on the AtomicInfo, or at least its own helper
function. convertIntToRValue?
We probably have the same code in the atomic-load path.
http://reviews.llvm.org/D6499
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits