|
LLVM
4.0.0
|
#include <ModuleSymbolTable.h>
Public Types | |
| typedef std::pair< std::string, uint32_t > | AsmSymbol |
| typedef PointerUnion < GlobalValue *, AsmSymbol * > | Symbol |
Public Member Functions | |
| ArrayRef< Symbol > | symbols () const |
| void | addModule (Module *M) |
| void | printSymbolName (raw_ostream &OS, Symbol S) const |
| uint32_t | getSymbolFlags (Symbol S) const |
Static Public Member Functions | |
| static void | CollectAsmSymbols (const Triple &TheTriple, StringRef InlineAsm, function_ref< void(StringRef, object::BasicSymbolRef::Flags)> AsmSymbol) |
| Parse inline ASM and collect the symbols that are defined or referenced in the current module. More... | |
Definition at line 30 of file ModuleSymbolTable.h.
| typedef std::pair<std::string, uint32_t> llvm::ModuleSymbolTable::AsmSymbol |
Definition at line 32 of file ModuleSymbolTable.h.
| typedef PointerUnion<GlobalValue *, AsmSymbol *> llvm::ModuleSymbolTable::Symbol |
Definition at line 33 of file ModuleSymbolTable.h.
| void ModuleSymbolTable::addModule | ( | Module * | M | ) |
Definition at line 40 of file ModuleSymbolTable.cpp.
References assert(), F, fuzzer::Flags, and llvm::Module::getTargetTriple().
|
static |
Parse inline ASM and collect the symbols that are defined or referenced in the current module.
For each found symbol, call AsmSymbol with the name of the symbol found and the associated flags.
Definition at line 60 of file ModuleSymbolTable.cpp.
References llvm::SourceMgr::AddNewSourceBuffer(), assert(), llvm::Target::createMCAsmInfo(), llvm::createMCAsmParser(), llvm::Target::createMCAsmParser(), llvm::Target::createMCInstrInfo(), llvm::Target::createMCRegInfo(), llvm::Target::createMCSubtargetInfo(), llvm::Target::createNullTargetStreamer(), llvm::CodeModel::Default, llvm::RecordStreamer::Defined, llvm::RecordStreamer::DefinedGlobal, llvm::RecordStreamer::DefinedWeak, llvm::StringRef::empty(), llvm::MemoryBuffer::getMemBuffer(), llvm::RecordStreamer::Global, llvm::Target::hasMCAsmParser(), llvm::MCObjectFileInfo::InitMCObjectFileInfo(), llvm_unreachable, llvm::TargetRegistry::lookupTarget(), MRI, llvm::RecordStreamer::NeverSeen, llvm::object::BasicSymbolRef::SF_Executable, llvm::object::BasicSymbolRef::SF_Global, llvm::object::BasicSymbolRef::SF_Undefined, llvm::object::BasicSymbolRef::SF_Weak, llvm::SrcMgr, llvm::Triple::str(), llvm::RecordStreamer::UndefinedWeak, and llvm::RecordStreamer::Used.
Referenced by llvm::buildModuleSummaryIndex(), and handleAsmUndefinedRefs().
Definition at line 152 of file ModuleSymbolTable.cpp.
References llvm::PointerUnion< PT1, PT2 >::get(), llvm::PointerUnion< PT1, PT2 >::is(), llvm::object::BasicSymbolRef::SF_Common, llvm::object::BasicSymbolRef::SF_Const, llvm::object::BasicSymbolRef::SF_Executable, llvm::object::BasicSymbolRef::SF_FormatSpecific, llvm::object::BasicSymbolRef::SF_Global, llvm::object::BasicSymbolRef::SF_Hidden, llvm::object::BasicSymbolRef::SF_Indirect, llvm::object::BasicSymbolRef::SF_None, llvm::object::BasicSymbolRef::SF_Undefined, and llvm::object::BasicSymbolRef::SF_Weak.
Referenced by llvm::object::IRObjectFile::getSymbolFlags().
| void ModuleSymbolTable::printSymbolName | ( | raw_ostream & | OS, |
| Symbol | S | ||
| ) | const |
Definition at line 139 of file ModuleSymbolTable.cpp.
References llvm::PointerUnion< PT1, PT2 >::get(), and llvm::PointerUnion< PT1, PT2 >::is().
Referenced by llvm::object::IRObjectFile::printSymbolName().
Definition at line 43 of file ModuleSymbolTable.h.
Referenced by llvm::object::IRObjectFile::symbol_begin(), llvm::object::IRObjectFile::symbol_end(), and llvm::lto::InputFile::symbols().
1.8.6