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
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);
}
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;