Tweak CreateMetadataVar, take the exact alignment instead of relying
on LLVM TargetData.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66455 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 5ae32e8..d1d4308 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -436,11 +436,19 @@
   /// This is a convenience wrapper which not only creates the
   /// variable, but also sets the section and alignment and adds the
   /// global to the UsedGlobals list.
+  ///
+  /// \param Name - The variable name.
+  /// \param Init - The variable initializer; this is also used to
+  /// define the type of the variable.
+  /// \param Section - The section the variable should go into, or 0.
+  /// \param Align - The alignment for the variable, or 0.
+  /// \param AddToUsed - Whether the variable should be added to
+  /// llvm.
   llvm::GlobalVariable *CreateMetadataVar(const std::string &Name,
                                           llvm::Constant *Init,
                                           const char *Section,
-                                          bool SetAlignment,
-                                          bool IsUsed);
+                                          unsigned Align,
+                                          bool AddToUsed);
 
 public:
   CGObjCCommonMac(CodeGen::CodeGenModule &cgm) : CGM(cgm)
@@ -1857,8 +1865,8 @@
 CGObjCCommonMac::CreateMetadataVar(const std::string &Name,
                                    llvm::Constant *Init,
                                    const char *Section,
-                                   bool SetAlignment,
-                                   bool IsUsed) {
+                                   unsigned Align,
+                                   bool AddToUsed) {
   const llvm::Type *Ty = Init->getType();
   llvm::GlobalVariable *GV = 
     new llvm::GlobalVariable(Ty, false,
@@ -1868,9 +1876,9 @@
                              &CGM.getModule());
   if (Section)
     GV->setSection(Section);
-  if (SetAlignment)
-    GV->setAlignment(CGM.getTargetData().getPrefTypeAlignment(Ty));
-  if (IsUsed)
+  if (Align)
+    GV->setAlignment(Align);
+  if (AddToUsed)
     UsedGlobals.push_back(GV);
   return GV;
 }