diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 3e146215f48..dd46f91d743 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -72,6 +72,12 @@ void CodeGenModule::BindRuntimeFunctions() {      llvm::Function *Fn = RuntimeFunctions[i].first;      const std::string &Name = RuntimeFunctions[i].second; +    // Discard unused runtime functions. +    if (Fn->use_empty()) { +      Fn->eraseFromParent(); +      continue; +    } +            // See if there is a conflict against a function.      llvm::Function *Conflict = TheModule.getFunction(Name);      if (Conflict) {  | 

