AsmWriter/Bitcode: MDTemplate{Type,Value}Parameter

llvm-svn: 229019
This commit is contained in:
Duncan P. N. Exon Smith
2015-02-13 01:34:32 +00:00
parent e146000565
commit 2847f3805e
13 changed files with 169 additions and 25 deletions

View File

@@ -1502,6 +1502,29 @@ std::error_code BitcodeReader::ParseMetadata() {
NextMDValueNo++);
break;
}
case bitc::METADATA_TEMPLATE_TYPE: {
if (Record.size() != 4)
return Error("Invalid record");
MDValueList.AssignValue(
GET_OR_DISTINCT(MDTemplateTypeParameter, Record[0],
(Context, getMDOrNull(Record[1]),
getMDString(Record[2]), getMDOrNull(Record[3]))),
NextMDValueNo++);
break;
}
case bitc::METADATA_TEMPLATE_VALUE: {
if (Record.size() != 6)
return Error("Invalid record");
MDValueList.AssignValue(
GET_OR_DISTINCT(MDTemplateValueParameter, Record[0],
(Context, Record[1], getMDOrNull(Record[2]),
getMDString(Record[3]), getMDOrNull(Record[4]),
getMDOrNull(Record[5]))),
NextMDValueNo++);
break;
}
case bitc::METADATA_STRING: {
std::string String(Record.begin(), Record.end());
llvm::UpgradeMDStringConstant(String);