Implement part of review feedback for address spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44933 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index 3abac06..abe1933 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -141,6 +141,7 @@
   Abbv->Add(BitCodeAbbrevOp(bitc::TYPE_CODE_POINTER));
   Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed,
                             Log2_32_Ceil(VE.getTypes().size()+1)));
+  Abbv->Add(BitCodeAbbrevOp(0));  // Addrspace = 0
   unsigned PtrAbbrev = Stream.EmitAbbrev(Abbv);
   
   // Abbrev for TYPE_CODE_FUNCTION.
@@ -198,16 +199,14 @@
       break;
     case Type::PointerTyID: {
       const PointerType *PTy = cast<PointerType>(T);
-      // POINTER: [pointee type] or [pointee type, address space]
+      // POINTER: [pointee type, address space]
       Code = bitc::TYPE_CODE_POINTER;
       TypeVals.push_back(VE.getTypeID(PTy->getElementType()));
-      if (unsigned AddressSpace = PTy->getAddressSpace())
-        TypeVals.push_back(AddressSpace);
-      else
-        AbbrevToUse = PtrAbbrev;
+      unsigned AddressSpace = PTy->getAddressSpace();
+      TypeVals.push_back(AddressSpace);
+      if (AddressSpace == 0) AbbrevToUse = PtrAbbrev;
       break;
     }
-
     case Type::FunctionTyID: {
       const FunctionType *FT = cast<FunctionType>(T);
       // FUNCTION: [isvararg, attrid, retty, paramty x N]