[PATCH] D26951: Object: Make IRObjectFile own multiple modules and enumerate symbols from all modules.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 22 15:26:51 PST 2016


pcc planned changes to this revision.
pcc added a comment.

Upon further reflection, I think we want to go in a slightly different direction here:

- factor the "create a symbol table from a module" code out of IRObjectFile and into a new ModuleSymbolTable class, which would conceptually be responsible for maintaining the mapping between symbol table entries and GlobalValues. This would be similar to what I proposed in https://reviews.llvm.org/D23132, but at least to begin with it would just be a straight refactoring of the post- https://reviews.llvm.org/D26928 IRObjectFile code
- use that class from IRObjectFile
- change lib/LTO to use ModuleSymbolTable directly
- remove getModule, takeModule, getSymbolGV interfaces from IRObjectFile

When we get around to implementing bitcode symbol tables we can:

- implement the bitcode symbol table writer in terms of ModuleSymbolTable
- change IRObjectFile to read from the bitcode symbol table instead of using ModuleSymbolTable directly

I will start working on ModuleSymbolTable.


https://reviews.llvm.org/D26951





More information about the llvm-commits mailing list