Object: Extract a ModuleSymbolTable class from IRObjectFile.
authorPeter Collingbourne <peter@pcc.me.uk>
Thu, 1 Dec 2016 06:51:47 +0000 (06:51 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Thu, 1 Dec 2016 06:51:47 +0000 (06:51 +0000)
commit863cbfbebad4609678f5f74f5750b230e8aa5d77
treed1deb0b63e859cceda610c63c064126bff80084c
parent57f9b8c5b5578a75893c9ec627808e18d2b0228d
Object: Extract a ModuleSymbolTable class from IRObjectFile.

This class represents a symbol table built from in-memory IR. It provides
access to GlobalValues and should only be used if such access is required
(e.g. in the LTO implementation). We will eventually change IRObjectFile
to read from a bitcode symbol table rather than using ModuleSymbolTable,
so it would not be able to expose the module.

Differential Revision: https://reviews.llvm.org/D27073

llvm-svn: 288319
llvm/include/llvm/Object/IRObjectFile.h
llvm/include/llvm/Object/ModuleSymbolTable.h [new file with mode: 0644]
llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
llvm/lib/LTO/LTOBackend.cpp
llvm/lib/Object/CMakeLists.txt
llvm/lib/Object/IRObjectFile.cpp
llvm/lib/Object/ModuleSymbolTable.cpp [new file with mode: 0644]
llvm/lib/Transforms/IPO/FunctionImport.cpp