aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-10-29 22:21:37 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-10-29 22:21:37 +0000
commit8df3a07aa828693365f35c523b7b02ed0c6a43b8 (patch)
treeaca89fde8bf85d7a897b8edf89023e8c58cb7937 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent6baace032460c98a289f2a0545215487bf99c0e8 (diff)
downloadllvm-8df3a07aa828693365f35c523b7b02ed0c6a43b8.zip
llvm-8df3a07aa828693365f35c523b7b02ed0c6a43b8.tar.gz
llvm-8df3a07aa828693365f35c523b7b02ed0c6a43b8.tar.bz2
[LLVMSymbolize] Move ModuleInfo into a separate class (SymbolizableModule).
Summary: This is mostly NFC. It is a first step in cleaning up LLVMSymbolize library. It removes "ModuleInfo" class which bundles together ObjectFile and its debug info context in favor of: * abstract SymbolizableModule in public headers; * SymbolizableObjectFile subclass in implementation. Additionally, SymbolizableObjectFile is now created via factory, so we can properly detect object parsing error at this stage instead of keeping the broken half-parsed object. As a next step, we would be able to propagate the error all the way back to the library user. Further improvements might include: * factoring out the logic of finding appropriate file with debug info for a given object file, and caching all parsed object files into a separate class [A]. * factoring out DILineInfo rendering [B]. This would make what is now a heavyweight "LLVMSymbolizer" a relatively straightforward class, that calls into [A] to turn filepath into a SymbolizableModule, delegates actual symbolization to concrete SymbolizableModule implementation, and lets [C] render the result. Reviewers: dblaikie, echristo, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14099 llvm-svn: 251662
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions