summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2007-02-01 16:31:34 +0000
committerJim Laskey <jlaskey@mac.com>2007-02-01 16:31:34 +0000
commitb82313fdc21e8190768addf0f16710b94f0e1441 (patch)
tree026fec6526020c20ddecd9c5f43a216c2c2860ba /include
parent283663a4ed18124980c1a5e3114550638115edd8 (diff)
downloadllvm-b82313fdc21e8190768addf0f16710b94f0e1441.tar.gz
llvm-b82313fdc21e8190768addf0f16710b94f0e1441.tar.bz2
llvm-b82313fdc21e8190768addf0f16710b94f0e1441.tar.xz
Support for non-landing pad exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33755 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/MachineModuleInfo.h5
-rw-r--r--include/llvm/Support/Dwarf.h20
-rw-r--r--include/llvm/Target/TargetAsmInfo.h19
3 files changed, 37 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h
index 8617b38808..17e3ad8000 100644
--- a/include/llvm/CodeGen/MachineModuleInfo.h
+++ b/include/llvm/CodeGen/MachineModuleInfo.h
@@ -1090,11 +1090,6 @@ public:
return Lines;
}
- // FIXME: nuke this.
- void ClearLineInfo() {
- Lines.clear();
- }
-
/// SetupCompileUnits - Set up the unique vector of compile units.
///
void SetupCompileUnits(Module &M);
diff --git a/include/llvm/Support/Dwarf.h b/include/llvm/Support/Dwarf.h
index e8aa384634..47d0d16286 100644
--- a/include/llvm/Support/Dwarf.h
+++ b/include/llvm/Support/Dwarf.h
@@ -458,7 +458,25 @@ enum dwarf_constants {
DW_CFA_val_offset_sf = 0x15,
DW_CFA_val_expression = 0x16,
DW_CFA_lo_user = 0x1c,
- DW_CFA_hi_user = 0x3f
+ DW_CFA_hi_user = 0x3f,
+
+ DW_EH_PE_absptr = 0x00,
+ DW_EH_PE_omit = 0xff,
+ DW_EH_PE_uleb128 = 0x01,
+ DW_EH_PE_udata2 = 0x02,
+ DW_EH_PE_udata4 = 0x03,
+ DW_EH_PE_udata8 = 0x04,
+ DW_EH_PE_sleb128 = 0x09,
+ DW_EH_PE_sdata2 = 0x0A,
+ DW_EH_PE_sdata4 = 0x0B,
+ DW_EH_PE_sdata8 = 0x0C,
+ DW_EH_PE_signed = 0x08,
+ DW_EH_PE_pcrel = 0x10,
+ DW_EH_PE_textrel = 0x20,
+ DW_EH_PE_datarel = 0x30,
+ DW_EH_PE_funcrel = 0x40,
+ DW_EH_PE_aligned = 0x50,
+ DW_EH_PE_indirect = 0x80
};
/// TagString - Return the string for the specified tag.
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index c22b9c455c..75e797cd88 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -51,7 +51,7 @@ namespace llvm {
/// AddressSize - Size of addresses used in file.
///
unsigned AddressSize; // Defaults to 4.
-
+
/// NeedsSet - True if target asm can't compute addresses on data
/// directives.
bool NeedsSet; // Defaults to false.
@@ -60,6 +60,10 @@ namespace llvm {
/// which is needed to compute the size of an inline asm.
unsigned MaxInstLength; // Defaults to 4.
+ /// PCSymbol - The symbol used to represent the current PC. Used in PC
+ /// relative expressions.
+ const char *PCSymbol; // Defaults to "$".
+
/// SeparatorChar - This character, if specified, is used to separate
/// instructions from each other when on the same line. This is used to
/// measure inline asm instructions.
@@ -305,6 +309,10 @@ namespace llvm {
/// DwarfMacInfoSection - Section directive for Dwarf info.
///
const char *DwarfMacInfoSection; // Defaults to ".debug_macinfo".
+
+ /// DwarfEHFrameSection - Section directive for Exception frames.
+ ///
+ const char *DwarfEHFrameSection; // Defaults to ".eh_frame".
//===--- CBE Asm Translation Table -----------------------------------===//
@@ -346,6 +354,12 @@ namespace llvm {
bool needsSet() const {
return NeedsSet;
}
+ const char *getPCSymbol() const {
+ return PCSymbol;
+ }
+ char getSeparatorChar() const {
+ return SeparatorChar;
+ }
const char *getCommentString() const {
return CommentString;
}
@@ -523,6 +537,9 @@ namespace llvm {
const char *getDwarfMacInfoSection() const {
return DwarfMacInfoSection;
}
+ const char *getDwarfEHFrameSection() const {
+ return DwarfEHFrameSection;
+ }
const char** getAsmCBE() const {
return AsmTransCBE;
}