summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-10-30 20:42:41 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-10-30 20:42:41 +0000
commit6b288cfa7a75a5ab9911c19460b3e874da0f14cb (patch)
tree303f11017316fbd1ab9f552e36526779079ef398 /llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
parent6a2aaecd66d61e311c2fa6240c76cbaf0ff5218a (diff)
downloadbcm5719-llvm-6b288cfa7a75a5ab9911c19460b3e874da0f14cb.tar.gz
bcm5719-llvm-6b288cfa7a75a5ab9911c19460b3e874da0f14cb.zip
DebugInfo: Push header handling down into CompileUnit
This is a preliminary step to handling type units by abstracting over all (type or compile) units. llvm-svn: 193714
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index 27ba19a8964..703e2c12d8d 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -22,6 +22,8 @@
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
+#include "llvm/MC/MCSection.h"
+#include "llvm/MC/MCStreamer.h"
#include "llvm/Target/Mangler.h"
#include "llvm/Target/TargetFrameLowering.h"
#include "llvm/Target/TargetMachine.h"
@@ -1900,3 +1902,14 @@ DIE *CompileUnit::getOrCreateStaticMemberDIE(const DIDerivedType DT) {
return StaticMemberDIE;
}
+
+void CompileUnit::emitHeader(const MCSection *ASection,
+ const MCSymbol *ASectionSym) {
+ Asm->OutStreamer.AddComment("DWARF version number");
+ Asm->EmitInt16(DD->getDwarfVersion());
+ Asm->OutStreamer.AddComment("Offset Into Abbrev. Section");
+ Asm->EmitSectionOffset(Asm->GetTempSymbol(ASection->getLabelBeginName()),
+ ASectionSym);
+ Asm->OutStreamer.AddComment("Address Size (in bytes)");
+ Asm->EmitInt8(Asm->getDataLayout().getPointerSize());
+}
OpenPOWER on IntegriCloud