Added address space qualifier to intrinsic PointerType arguments.
[oota-llvm.git] / utils / TableGen / IntrinsicEmitter.cpp
index c6acddf9dd2c78e6100e416cd4378d472975b122..a595b1edd76ce4c5d4976175383a006f1724b8f7 100644 (file)
@@ -413,6 +413,12 @@ static void EncodeFixedType(Record *R, unsigned &NextArgNo,
   
   if (VT == MVT::iPTR) {
     Sig.push_back(IIT_PTR);
+    unsigned AddrSpace = 0;
+    if (R->isSubClassOf("LLVMQualPointerType")) {
+      AddrSpace = R->getValueAsInt("AddrSpace");
+      assert(AddrSpace < 256 && "Address space exceeds 255");
+    }
+    Sig.push_back(AddrSpace);
     return EncodeFixedType(R->getValueAsDef("ElTy"), NextArgNo, Sig);
   }