diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-11-17 00:45:37 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-11-17 00:45:37 +0000 |
commit | 07cad1c6ceebd108db87309814c8dc47041c58c3 (patch) | |
tree | d4785a39cce3f11ee3616f031fca116ab7e57d14 | |
parent | 04ab82a8068c0eb735b663cd77a8d2f7c5bcbefd (diff) | |
download | external_llvm-07cad1c6ceebd108db87309814c8dc47041c58c3.tar.gz external_llvm-07cad1c6ceebd108db87309814c8dc47041c58c3.tar.bz2 external_llvm-07cad1c6ceebd108db87309814c8dc47041c58c3.zip |
Changed implementation of Serialize::EmitDiffPtrID and
Deserialize::ReadDiffPtrID to read and emit bools instead of unsigned
integers. This should result in a nice space optimization once we have
"auto-abbreviation" generation in place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44200 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Bitcode/Deserialize.h | 4 | ||||
-rw-r--r-- | include/llvm/Bitcode/Serialize.h | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/llvm/Bitcode/Deserialize.h b/include/llvm/Bitcode/Deserialize.h index 46b111f892..ef25da7140 100644 --- a/include/llvm/Bitcode/Deserialize.h +++ b/include/llvm/Bitcode/Deserialize.h @@ -141,8 +141,8 @@ public: SerializedPtrID ReadPtrID() { return (SerializedPtrID) ReadInt(); } SerializedPtrID ReadDiffPtrID(SerializedPtrID& PrevID) { - unsigned x = ReadInt(); - return (SerializedPtrID) (x ? (PrevID+x) : 0); + bool x = ReadBool(); + return (SerializedPtrID) (x ? (PrevID+1) : 0); } diff --git a/include/llvm/Bitcode/Serialize.h b/include/llvm/Bitcode/Serialize.h index 8db377946c..9430bb10a4 100644 --- a/include/llvm/Bitcode/Serialize.h +++ b/include/llvm/Bitcode/Serialize.h @@ -57,10 +57,11 @@ public: SerializedPtrID ptr_id = getPtrId(ptr); if (ptr_id == 0) - EmitInt(0); + EmitBool(false); else { assert (ptr_id > PrevID); - EmitInt(ptr_id-PrevID); + assert (PrevID == 0 || ptr_id - PrevID == 1); + EmitBool(true); } return ptr_id; |