summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2011-11-01 22:27:22 +0000
committerKevin Enderby <enderby@apple.com>2011-11-01 22:27:22 +0000
commit613b7576896fbd03fe495f4ee27b404f81386774 (patch)
tree2650c11c10a570a3683afe918366e5c93b246529 /include
parent60cb643f7561e5be7a3b5fe705535e96de72cbf5 (diff)
downloadllvm-613b7576896fbd03fe495f4ee27b404f81386774.tar.gz
llvm-613b7576896fbd03fe495f4ee27b404f81386774.tar.bz2
llvm-613b7576896fbd03fe495f4ee27b404f81386774.tar.xz
First part of support for generating dwarf for assembly source files with the
-g flag. In this part we generate the .file for the source being assembled and the .loc's for the assembled instructions. The next part will be to generate the dwarf Compile Unit DIE and a dwarf subprogram DIE for each non-temporary label. Once the next part is done test cases will be added. rdar://9275556 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143509 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/MC/MCContext.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/MC/MCContext.h b/include/llvm/MC/MCContext.h
index 44bfb39c64..d45b0c8ca6 100644
--- a/include/llvm/MC/MCContext.h
+++ b/include/llvm/MC/MCContext.h
@@ -98,6 +98,17 @@ namespace llvm {
MCDwarfLoc CurrentDwarfLoc;
bool DwarfLocSeen;
+ /// Generate dwarf debugging info for assembly source files.
+ bool GenDwarfForAssembly;
+
+ /// The current dwarf file number when generate dwarf debugging info for
+ /// assembly source files.
+ unsigned GenDwarfFileNumber;
+
+ /// The default initial text section that we generate dwarf debugging line
+ /// info for when generating dwarf assembly source files.
+ const MCSection *GenDwarfSection;
+
/// Honor temporary labels, this is useful for debugging semantic
/// differences between temporary and non-temporary labels (primarily on
/// Darwin).
@@ -252,6 +263,13 @@ namespace llvm {
bool getDwarfLocSeen() { return DwarfLocSeen; }
const MCDwarfLoc &getCurrentDwarfLoc() { return CurrentDwarfLoc; }
+ bool getGenDwarfForAssembly() { return GenDwarfForAssembly; }
+ void setGenDwarfForAssembly(bool Value) { GenDwarfForAssembly = Value; }
+ unsigned getGenDwarfFileNumber() { return GenDwarfFileNumber; }
+ unsigned nextGenDwarfFileNumber() { return ++GenDwarfFileNumber; }
+ const MCSection *getGenDwarfSection() { return GenDwarfSection; }
+ void setGenDwarfSection(const MCSection *Sec) { GenDwarfSection = Sec; }
+
/// @}
char *getSecureLogFile() { return SecureLogFile; }