]> granicus.if.org Git - clang/commitdiff
simplify some code.
authorChris Lattner <sabre@nondot.org>
Sun, 1 Mar 2009 18:47:06 +0000 (18:47 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 1 Mar 2009 18:47:06 +0000 (18:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65782 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp

index 742923816b528687719b6620adb53754354aab75..b6b52cd8f79faa693fa11aa28bc6cf1911ee63da 100644 (file)
@@ -793,8 +793,6 @@ llvm::Constant *CodeGenModule::GetAddrOfFunction(const FunctionDecl *D) {
   
   // Lookup the entry, lazily creating it if necessary.
   llvm::GlobalValue *&Entry = GlobalDeclMap[getMangledName(D)];
-  if (!Entry)
-    Entry = getModule().getFunction(getMangledName(D));
   if (!Entry)
     Entry = EmitForwardFunctionDefinition(D, 0);
 
@@ -915,15 +913,13 @@ llvm::Value *CodeGenModule::getBuiltinLibFunction(unsigned BuiltinID) {
     assert(Existing == 0 && "FIXME: Name collision");
   }
 
-  llvm::GlobalValue *&ExitingFn = GlobalDeclMap[getContext().Idents.get(Name).getName()];
-  if (ExitingFn) {
-    llvm::Function *Fn = dyn_cast<llvm::Function>(ExitingFn);
-    assert(Fn && "builting mixing with non-function");
-    return FunctionSlot = llvm::ConstantExpr::getBitCast(Fn, Ty);
-  }
+  llvm::GlobalValue *&ExistingFn =
+    GlobalDeclMap[getContext().Idents.get(Name).getName()];
+  if (ExistingFn)
+    return FunctionSlot = llvm::ConstantExpr::getBitCast(ExistingFn, Ty);
 
   // FIXME: param attributes for sext/zext etc.
-  return FunctionSlot = ExitingFn =
+  return FunctionSlot = ExistingFn =
     llvm::Function::Create(Ty, llvm::Function::ExternalLinkage, Name,
                            &getModule());
 }