aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ModuleSymbolTable.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2017-03-29 19:26:26 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2017-03-29 19:26:26 +0000
commitb26bc7fddcec7ee0f903573138e99f73dc561062 (patch)
tree3a3bb1ac4a5adb3b56a2496b34ecb10b92a333d7 /llvm/lib/Object/ModuleSymbolTable.cpp
parentc8f0aeccda9914cc0f0b0c792d80788df246512a (diff)
downloadllvm-b26bc7fddcec7ee0f903573138e99f73dc561062.zip
llvm-b26bc7fddcec7ee0f903573138e99f73dc561062.tar.gz
llvm-b26bc7fddcec7ee0f903573138e99f73dc561062.tar.bz2
Add ifunc support to ModuleSymbolTable.
Do that by creating a global_values, which is similar to global_objects, but also iterates over aliases and ifuncs. llvm-svn: 299018
Diffstat (limited to 'llvm/lib/Object/ModuleSymbolTable.cpp')
-rw-r--r--llvm/lib/Object/ModuleSymbolTable.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/Object/ModuleSymbolTable.cpp b/llvm/lib/Object/ModuleSymbolTable.cpp
index 21709b5..9a935d8 100644
--- a/llvm/lib/Object/ModuleSymbolTable.cpp
+++ b/llvm/lib/Object/ModuleSymbolTable.cpp
@@ -43,12 +43,8 @@ void ModuleSymbolTable::addModule(Module *M) {
else
FirstMod = M;
- for (Function &F : *M)
- SymTab.push_back(&F);
- for (GlobalVariable &GV : M->globals())
+ for (GlobalValue &GV : M->global_values())
SymTab.push_back(&GV);
- for (GlobalAlias &GA : M->aliases())
- SymTab.push_back(&GA);
CollectAsmSymbols(*M, [this](StringRef Name, BasicSymbolRef::Flags Flags) {
SymTab.push_back(new (AsmSymbols.Allocate()) AsmSymbol(Name, Flags));