diff options
| author | Ted Kremenek <kremenek@apple.com> | 2007-11-06 19:49:16 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2007-11-06 19:49:16 +0000 |
| commit | fd2f7e7dc52af01b6ebb972a268b0435c01eb7a6 (patch) | |
| tree | a0bb1c47faefcf16042565c59f0f88aed8758e37 /lib/Bitcode | |
| parent | b7b6775d397c4019b247b0cb9e6dbc1e61b0db51 (diff) | |
| download | external_llvm-fd2f7e7dc52af01b6ebb972a268b0435c01eb7a6.zip external_llvm-fd2f7e7dc52af01b6ebb972a268b0435c01eb7a6.tar.gz external_llvm-fd2f7e7dc52af01b6ebb972a268b0435c01eb7a6.tar.bz2 | |
Added support for processing abbreviations in the Deserializer.
Added some #ifdef-controlled messages for debugging backpatching.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43771 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode')
| -rw-r--r-- | lib/Bitcode/Reader/Deserialize.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/Bitcode/Reader/Deserialize.cpp b/lib/Bitcode/Reader/Deserialize.cpp index ef4e4f7..5642f37 100644 --- a/lib/Bitcode/Reader/Deserialize.cpp +++ b/lib/Bitcode/Reader/Deserialize.cpp @@ -13,6 +13,10 @@ #include "llvm/Bitcode/Deserialize.h" +#ifdef DEBUG_BACKPATCH +#include "llvm/Support/Streams.h" +#endif + using namespace llvm; Deserializer::Deserializer(BitstreamReader& stream) @@ -71,6 +75,11 @@ void Deserializer::ReadRecord() { continue; } + if (Code == bitc::DEFINE_ABBREV) { + Stream.ReadAbbrevRecord(); + continue; + } + break; } @@ -136,6 +145,10 @@ void Deserializer::RegisterPtr(unsigned PtrId, const void* Ptr) { assert (!HasFinalPtr(E) && "Pointer already registered."); +#ifdef DEBUG_BACKPATCH + llvm::cerr << "RegisterPtr: " << PtrId << " => " << Ptr << "\n"; +#endif + SetPtr(E,Ptr); } @@ -145,8 +158,12 @@ void Deserializer::ReadUIntPtr(uintptr_t& PtrRef) { if (PtrId == 0) { PtrRef = 0; return; - } - + } + +#ifdef DEBUG_BACKPATCH + llvm::cerr << "ReadUintPtr: " << PtrId << "\n"; +#endif + MapTy::value_type& E = BPatchMap.FindAndConstruct(BPKey(PtrId)); if (HasFinalPtr(E)) |
