llvm-project/llvm/lib/Object
Saleem Abdulrasool 1d84d9ac48 llvm-objdump: speed up -objc-meta-data
Running a Debug build of objdump -objc-meta-data with a large Mach-O file is
currently unnecessarily slow.

With some local test input, this change reduces the run time from 75-85s down
to 15-20s.

The two changes are:
  Assert on pointer equality not array equality
  Replace vector<pair<address, symbol>> with DenseMap<address, symbol>

Additionally, use a std::unique_ptr rather than handling the memory manually.

Patch by Dave Lee!

llvm-svn: 291398
2017-01-08 19:14:15 +00:00
..
Archive.cpp Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
ArchiveWriter.cpp Only computeRelativePath() on new members 2016-11-30 22:32:58 +00:00
Binary.cpp [WebAssembly] Add llvm-objdump support for wasm file format 2016-11-30 16:49:11 +00:00
CMakeLists.txt Object: Extract a ModuleSymbolTable class from IRObjectFile. 2016-12-01 06:51:47 +00:00
COFFObjectFile.cpp Object: Make SymbolicFile::symbol_{begin,end}() virtual and remove unnecessary wrappers. 2016-11-22 03:38:40 +00:00
ELF.cpp [RISCV] Add RISC-V ELF defines 2016-11-01 16:59:37 +00:00
ELFObjectFile.cpp [llvm-objdump] Support detection of feature bits from the object and implement this for Mips. 2016-06-16 09:17:03 +00:00
Error.cpp Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
IRObjectFile.cpp [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
LLVMBuild.txt
MachOObjectFile.cpp llvm-objdump: speed up -objc-meta-data 2017-01-08 19:14:15 +00:00
MachOUniversal.cpp Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ModuleSummaryIndexObjectFile.cpp [ThinLTO] Optionally ignore empty index file 2017-01-06 23:37:17 +00:00
ModuleSymbolTable.cpp Object: Set SF_Indirect in ModuleSymbolTable. 2016-12-01 07:00:35 +00:00
Object.cpp Thread Expected<...> up from libObject’s getSymbolAddress() for symbols to allow 2016-06-24 18:24:42 +00:00
ObjectFile.cpp [WebAssembly] Add llvm-objdump support for wasm file format 2016-11-30 16:49:11 +00:00
RecordStreamer.cpp [IRObjectFile] Handle undefined weak symbols in RecordStreamer. 2016-09-15 17:54:22 +00:00
RecordStreamer.h [IRObjectFile] Handle undefined weak symbols in RecordStreamer. 2016-09-15 17:54:22 +00:00
SymbolSize.cpp Fix llvm-symbolizer to correctly sort a symbol array and calculate symbol sizes 2016-11-15 21:07:03 +00:00
SymbolicFile.cpp [WebAssembly] Add llvm-objdump support for wasm file format 2016-11-30 16:49:11 +00:00
WasmObjectFile.cpp Remove iostream include from WasmObjectFile 2016-12-01 15:20:34 +00:00