[llvm-commits] [llvm] r157312 - in /llvm/trunk: lib/VMCore/Function.cpp utils/TableGen/IntrinsicEmitter.cpp
Chris Lattner
sabre at nondot.org
Tue May 22 22:19:18 PDT 2012
Author: lattner
Date: Wed May 23 00:19:18 2012
New Revision: 157312
URL: http://llvm.org/viewvc/llvm-project?rev=157312&view=rev
Log:
small refinement to r157218 to save a tiny amount of table size in the common
case.
Modified:
llvm/trunk/lib/VMCore/Function.cpp
llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp
Modified: llvm/trunk/lib/VMCore/Function.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Function.cpp?rev=157312&r1=157311&r2=157312&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/Function.cpp (original)
+++ llvm/trunk/lib/VMCore/Function.cpp Wed May 23 00:19:18 2012
@@ -388,7 +388,9 @@
return VectorType::get(DecodeFixedType(NextElt, Infos, Tys, Context), 16);
case IIT_V32:
return VectorType::get(DecodeFixedType(NextElt, Infos, Tys, Context), 32);
- case IIT_PTR: {
+ case IIT_PTR:
+ return PointerType::getUnqual(DecodeFixedType(NextElt, Infos, Tys,Context));
+ case IIT_ANYPTR: { // [ANYPTR addrspace, subtype]
unsigned AddrSpace = Infos[NextElt++];
Type *PtrTy = DecodeFixedType(NextElt, Infos, Tys,Context);
return PointerType::get(PtrTy, AddrSpace);
Modified: llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp?rev=157312&r1=157311&r2=157312&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp Wed May 23 00:19:18 2012
@@ -338,7 +338,8 @@
IIT_STRUCT4 = 20,
IIT_STRUCT5 = 21,
IIT_EXTEND_VEC_ARG = 22,
- IIT_TRUNC_VEC_ARG = 23
+ IIT_TRUNC_VEC_ARG = 23,
+ IIT_ANYPTR = 24
};
@@ -412,13 +413,17 @@
}
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);
+ if (AddrSpace) {
+ Sig.push_back(IIT_ANYPTR);
+ Sig.push_back(AddrSpace);
+ } else {
+ Sig.push_back(IIT_PTR);
+ }
return EncodeFixedType(R->getValueAsDef("ElTy"), NextArgNo, Sig);
}
@@ -491,7 +496,8 @@
OS << " IIT_STRUCT4 = 20,\n";
OS << " IIT_STRUCT5 = 21,\n";
OS << " IIT_EXTEND_VEC_ARG = 22,\n";
- OS << " IIT_TRUNC_VEC_ARG = 23\n";
+ OS << " IIT_TRUNC_VEC_ARG = 23,\n";
+ OS << " IIT_ANYPTR = 24\n";
OS << "};\n\n";
More information about the llvm-commits
mailing list