diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-02-10 00:52:32 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-02-10 00:52:32 +0000 |
commit | 01fc1769779c640a8c39538050c35a31d1c4eb06 (patch) | |
tree | 54e27258a240fafca73825f7a9989354e4044257 /llvm/lib/Bitcode/Writer | |
parent | be270c1c60f003739827576da5e34cbf3e430c83 (diff) | |
download | bcm5719-llvm-01fc1769779c640a8c39538050c35a31d1c4eb06.tar.gz bcm5719-llvm-01fc1769779c640a8c39538050c35a31d1c4eb06.zip |
IR: Add specialized debug info metadata nodes
Add specialized debug info metadata nodes that match the `DIDescriptor`
wrappers (used by `DIBuilder`) closely. Assembly and bitcode support to
follow soon (it'll mostly just be obvious), but this sketches in today's
schema. This is the first big commit (well, the only *big* one aside
from the testcase changes that'll come when I move this into place) for
PR22464.
I've marked a bunch of obvious changes as `TODO`s in the source; I plan
to make those changes promptly after this hierarchy is moved underneath
`DIDescriptor`, but for now I'm aiming mostly to match the status quo.
llvm-svn: 228640
Diffstat (limited to 'llvm/lib/Bitcode/Writer')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 6f8c26069a6..1c2424ce11b 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -809,6 +809,106 @@ static void WriteGenericDebugNode(const GenericDebugNode *N, Record.clear(); } +static void WriteMDSubrange(const MDSubrange *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDEnumerator(const MDEnumerator *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDBasicType(const MDBasicType *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDDerivedType(const MDDerivedType *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDCompositeType(const MDCompositeType *, + const ValueEnumerator &, BitstreamWriter &, + SmallVectorImpl<uint64_t> &, unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDSubroutineType(const MDSubroutineType *, + const ValueEnumerator &, BitstreamWriter &, + SmallVectorImpl<uint64_t> &, unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDFile(const MDFile *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDCompileUnit(const MDCompileUnit *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDSubprogram(const MDSubprogram *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDLexicalBlock(const MDLexicalBlock *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDLexicalBlockFile(const MDLexicalBlockFile *, + const ValueEnumerator &, BitstreamWriter &, + SmallVectorImpl<uint64_t> &, unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDNamespace(const MDNamespace *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDTemplateTypeParameter(const MDTemplateTypeParameter *, + const ValueEnumerator &, + BitstreamWriter &, + SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDTemplateValueParameter(const MDTemplateValueParameter *, + const ValueEnumerator &, + BitstreamWriter &, + SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDGlobalVariable(const MDGlobalVariable *, + const ValueEnumerator &, BitstreamWriter &, + SmallVectorImpl<uint64_t> &, unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDLocalVariable(const MDLocalVariable *, + const ValueEnumerator &, BitstreamWriter &, + SmallVectorImpl<uint64_t> &, unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDExpression(const MDExpression *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDObjCProperty(const MDObjCProperty *, const ValueEnumerator &, + BitstreamWriter &, SmallVectorImpl<uint64_t> &, + unsigned) { + llvm_unreachable("write not implemented"); +} +static void WriteMDImportedEntity(const MDImportedEntity *, + const ValueEnumerator &, BitstreamWriter &, + SmallVectorImpl<uint64_t> &, unsigned) { + llvm_unreachable("write not implemented"); +} + static void WriteModuleMetadata(const Module *M, const ValueEnumerator &VE, BitstreamWriter &Stream) { |