summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-05-30 05:06:04 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-05-30 05:06:04 +0000
commitadbc2846667507bdb0b06707b04539aacf4bc6f5 (patch)
treee3dcbbaf39e5a96c0c13e7f93bc176521ef4e6d0 /llvm/lib/Bitcode
parentef334fdfa2a461491301d23ad5f17942ec845d92 (diff)
downloadbcm5719-llvm-adbc2846667507bdb0b06707b04539aacf4bc6f5.tar.gz
bcm5719-llvm-adbc2846667507bdb0b06707b04539aacf4bc6f5.zip
Give embedded metadata its own type instead of relying on EmptyStructTy.
llvm-svn: 72610
Diffstat (limited to 'llvm/lib/Bitcode')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp3
-rw-r--r--llvm/lib/Bitcode/Writer/BitcodeWriter.cpp1
2 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index d2b4544cb00..b4e16c3b46f 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -498,6 +498,9 @@ bool BitcodeReader::ParseTypeTable() {
case bitc::TYPE_CODE_OPAQUE: // OPAQUE
ResultTy = 0;
break;
+ case bitc::TYPE_CODE_METADATA: // METADATA
+ ResultTy = Type::MetadataTy;
+ break;
case bitc::TYPE_CODE_INTEGER: // INTEGER: [width]
if (Record.size() < 1)
return Error("Invalid Integer type record");
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
index 1ad70df0540..bfc029c1f27 100644
--- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -206,6 +206,7 @@ static void WriteTypeTable(const ValueEnumerator &VE, BitstreamWriter &Stream) {
case Type::PPC_FP128TyID: Code = bitc::TYPE_CODE_PPC_FP128; break;
case Type::LabelTyID: Code = bitc::TYPE_CODE_LABEL; break;
case Type::OpaqueTyID: Code = bitc::TYPE_CODE_OPAQUE; break;
+ case Type::MetadataTyID: Code = bitc::TYPE_CODE_METADATA; break;
case Type::IntegerTyID:
// INTEGER: [width]
Code = bitc::TYPE_CODE_INTEGER;
OpenPOWER on IntegriCloud