]> granicus.if.org Git - clang/commitdiff
ArrayRefize code. No functionality change.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 26 Apr 2013 21:32:52 +0000 (21:32 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 26 Apr 2013 21:32:52 +0000 (21:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180632 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDeclCXX.cpp
lib/CodeGen/CodeGenFunction.h

index d4062273019ccb7d798588651920c0fa23f8c5cd..9ffcff276623031f29ac2c3e81476484d49a34f7 100644 (file)
@@ -296,14 +296,14 @@ void CodeGenModule::EmitCXXThreadLocalInitFunc() {
   if (!CXXThreadLocalInits.empty()) {
     // Generate a guarded initialization function.
     llvm::FunctionType *FTy = llvm::FunctionType::get(VoidTy, false);
-    InitFn = CreateGlobalInitOrDestructFunction(
-        *this, FTy, "__tls_init", /*TLS*/ true);
+    InitFn = CreateGlobalInitOrDestructFunction(*this, FTy, "__tls_init",
+                                                /*TLS*/ true);
     llvm::GlobalVariable *Guard = new llvm::GlobalVariable(
         getModule(), Int8Ty, false, llvm::GlobalVariable::InternalLinkage,
         llvm::ConstantInt::get(Int8Ty, 0), "__tls_guard");
     Guard->setThreadLocal(true);
-    CodeGenFunction(*this).GenerateCXXGlobalInitFunc(
-        InitFn, CXXThreadLocalInits.data(), CXXThreadLocalInits.size(), Guard);
+    CodeGenFunction(*this)
+        .GenerateCXXGlobalInitFunc(InitFn, CXXThreadLocalInits, Guard);
   }
 
   getCXXABI().EmitThreadLocalInitFuncs(CXXThreadLocals, InitFn);
@@ -351,9 +351,7 @@ CodeGenModule::EmitCXXGlobalInitFunc() {
       for (; I < PrioE; ++I)
         LocalCXXGlobalInits.push_back(I->second);
 
-      CodeGenFunction(*this).GenerateCXXGlobalInitFunc(Fn,
-                                                    &LocalCXXGlobalInits[0],
-                                                    LocalCXXGlobalInits.size());
+      CodeGenFunction(*this).GenerateCXXGlobalInitFunc(Fn, LocalCXXGlobalInits);
       AddGlobalCtor(Fn, Priority);
     }
   }
@@ -361,9 +359,7 @@ CodeGenModule::EmitCXXGlobalInitFunc() {
   llvm::Function *Fn = 
     CreateGlobalInitOrDestructFunction(*this, FTy, "_GLOBAL__I_a");
 
-  CodeGenFunction(*this).GenerateCXXGlobalInitFunc(Fn,
-                                                   &CXXGlobalInits[0],
-                                                   CXXGlobalInits.size());
+  CodeGenFunction(*this).GenerateCXXGlobalInitFunc(Fn, CXXGlobalInits);
   AddGlobalCtor(Fn);
 
   CXXGlobalInits.clear();
@@ -410,10 +406,10 @@ void CodeGenFunction::GenerateCXXGlobalVarDeclInitFunc(llvm::Function *Fn,
   FinishFunction();
 }
 
-void CodeGenFunction::GenerateCXXGlobalInitFunc(llvm::Function *Fn,
-                                                llvm::Constant **Decls,
-                                                unsigned NumDecls,
-                                                llvm::GlobalVariable *Guard) {
+void
+CodeGenFunction::GenerateCXXGlobalInitFunc(llvm::Function *Fn,
+                                           ArrayRef<llvm::Constant *> Decls,
+                                           llvm::GlobalVariable *Guard) {
   // Initialize debug info if needed.
   maybeInitializeDebugInfo();
 
@@ -445,8 +441,8 @@ void CodeGenFunction::GenerateCXXGlobalInitFunc(llvm::Function *Fn,
     llvm::Value *token = EmitObjCAutoreleasePoolPush();
     EmitObjCAutoreleasePoolCleanup(token);
   }
-  
-  for (unsigned i = 0; i != NumDecls; ++i)
+
+  for (unsigned i = 0, e = Decls.size(); i != e; ++i)
     if (Decls[i])
       EmitRuntimeCall(Decls[i]);
 
index f0c2c1e6725c11bfacbcb14023ea11f71e5b2090..727a3be54b023e478416195ad60f076fe97dae34 100644 (file)
@@ -2668,8 +2668,7 @@ public:
   /// GenerateCXXGlobalInitFunc - Generates code for initializing global
   /// variables.
   void GenerateCXXGlobalInitFunc(llvm::Function *Fn,
-                                 llvm::Constant **Decls,
-                                 unsigned NumDecls,
+                                 ArrayRef<llvm::Constant *> Decls,
                                  llvm::GlobalVariable *Guard = 0);
 
   /// GenerateCXXGlobalDtorsFunc - Generates code for destroying global