Add new ValueType for metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74882 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-07-06 23:44:32 +00:00
parent a41a5dc3b7
commit bee9e35ba2
4 changed files with 9 additions and 1 deletions

View File

@ -83,6 +83,9 @@ namespace llvm {
// This value must be a multiple of 32.
MAX_ALLOWED_VALUETYPE = 64,
// Metadata - This is MDNode or MDString.
Metadata = 251,
// iPTRAny - An int value the size of the pointer of the current
// target to any address space. This must only be used internal to
// tblgen. Other than for overloading, we treat iPTRAny the same as iPTR.

View File

@ -57,7 +57,9 @@ def v4f32 : ValueType<128, 32>; // 4 x f32 vector value
def v8f32 : ValueType<256, 33>; // 8 x f32 vector value
def v2f64 : ValueType<128, 34>; // 2 x f64 vector value
def v4f64 : ValueType<256, 35>; // 4 x f64 vector value
def MetadataVT: ValueType<0, 251>; // Metadata
// Pseudo valuetype mapped to the current pointer size to any address space.
// Should only be used in TableGen.
def iPTRAny : ValueType<0, 252>;

View File

@ -118,6 +118,7 @@ std::string llvm::getEnumName(MVT::SimpleValueType T) {
case MVT::v4f64: return "MVT::v4f64";
case MVT::v3i32: return "MVT::v3i32";
case MVT::v3f32: return "MVT::v3f32";
case MVT::Metadata: return "MVT::Metadata";
case MVT::iPTR: return "MVT::iPTR";
case MVT::iPTRAny: return "MVT::iPTRAny";
default: assert(0 && "ILLEGAL VALUE TYPE!"); return "";

View File

@ -159,6 +159,8 @@ static void EmitTypeForValueType(raw_ostream &OS, MVT::SimpleValueType VT) {
OS << "Type::PPC_FP128Ty";
} else if (VT == MVT::isVoid) {
OS << "Type::VoidTy";
} else if (VT == MVT::Metadata) {
OS << "Type::MetadataTy";
} else {
assert(false && "Unsupported ValueType!");
}