objc++: more code gen stuff for atomic property api,
currently turned off. // rdar://6137845
Also, fixes a test case which should be nonatomic under
new API.

llvm-svn: 147691
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 0517521..e78089b 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -276,6 +276,8 @@
   llvm::StringMap<llvm::Constant*> CFConstantStringMap;
   llvm::StringMap<llvm::GlobalVariable*> ConstantStringMap;
   llvm::DenseMap<const Decl*, llvm::Value*> StaticLocalDeclMap;
+  
+  llvm::DenseMap<QualType, llvm::Constant *> AtomicHelperFnMap;
 
   /// CXXGlobalInits - Global variables with initializers that need to run
   /// before main.
@@ -398,6 +400,14 @@
     StaticLocalDeclMap[D] = GV;
   }
 
+  llvm::Constant *getAtomicHelperFnMap(QualType Ty) {
+    return AtomicHelperFnMap[Ty];
+  }
+  void setAtomicHelperFnMap(QualType Ty,
+                            llvm::Constant *Fn) {
+    AtomicHelperFnMap[Ty] = Fn;
+  }
+
   CGDebugInfo *getModuleDebugInfo() { return DebugInfo; }
 
   ASTContext &getContext() const { return Context; }