summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/TargetInfo.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-03-06 00:35:14 +0000
committerJohn McCall <rjmccall@apple.com>2010-03-06 00:35:14 +0000
commitbeec5a080f57929bd3ebb29d8da25c43ee67aa6d (patch)
tree2dc6ccfb14f11969c79159b57cd0b138b8ce1164 /clang/lib/CodeGen/TargetInfo.h
parent381268e629041da9add8736ddbfe87b7bb420f38 (diff)
downloadbcm5719-llvm-beec5a080f57929bd3ebb29d8da25c43ee67aa6d.tar.gz
bcm5719-llvm-beec5a080f57929bd3ebb29d8da25c43ee67aa6d.zip
Implement __builtin_dwarf_sp_column for i386 (Darwin and not), x86-64 (all),
and ARM. Implement __builtin_init_dwarf_reg_size_table for i386 (both) and x86-64 (all). llvm-svn: 97859
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.h')
-rw-r--r--clang/lib/CodeGen/TargetInfo.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.h b/clang/lib/CodeGen/TargetInfo.h
index 9e80081429c..f0a78243ff7 100644
--- a/clang/lib/CodeGen/TargetInfo.h
+++ b/clang/lib/CodeGen/TargetInfo.h
@@ -56,6 +56,23 @@ namespace clang {
/// through such registers.
virtual bool extendPointerWithSExt() const { return false; }
+ /// Determines the DWARF register number for the stack pointer, for
+ /// exception-handling purposes. Implements __builtin_dwarf_sp_column.
+ ///
+ /// Returns -1 if the operation is unsupported by this target.
+ virtual int getDwarfEHStackPointer(CodeGen::CodeGenModule &M) const {
+ return -1;
+ }
+
+ /// Initializes the given DWARF EH register-size table, a char*.
+ /// Implements __builtin_init_dwarf_reg_size_table.
+ ///
+ /// Returns true if the operation is unsupported by this target.
+ virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
+ llvm::Value *Address) const {
+ return true;
+ }
+
/// Performs the code-generation required to convert a return
/// address as stored by the system into the actual address of the
/// next instruction that will be executed.
OpenPOWER on IntegriCloud