aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetLowering.h
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-08-29 12:20:54 +0000
committerBill Wendling <isanbard@gmail.com>2009-08-29 12:20:54 +0000
commitb4ac493684cdeb2147000a6816a563269fcf3c70 (patch)
treec3571e53bc11aa570e3fa942c646151e3f1fa086 /include/llvm/Target/TargetLowering.h
parent946b521498866b3d83c4447c9c0ece6095a56874 (diff)
downloadexternal_llvm-b4ac493684cdeb2147000a6816a563269fcf3c70.zip
external_llvm-b4ac493684cdeb2147000a6816a563269fcf3c70.tar.gz
external_llvm-b4ac493684cdeb2147000a6816a563269fcf3c70.tar.bz2
- Add target lowering methods to get the preferred format for the FDE and LSDA
encodings. - Make some of the values emitted by the FDEs dependent upon the pointer size. This is in line with how GCC does things. And it has the benefit of working for Darwin in 64-bit mode now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80428 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetLowering.h')
-rw-r--r--include/llvm/Target/TargetLowering.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 00a455c..a899651 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -32,6 +32,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/DebugLoc.h"
+#include "llvm/Support/Dwarf.h"
#include "llvm/Target/TargetMachine.h"
#include <climits>
#include <map>
@@ -750,7 +751,7 @@ public:
/// getPICJumpTableRelocaBase - Returns relocation base for the given PIC
/// jumptable.
virtual SDValue getPICJumpTableRelocBase(SDValue Table,
- SelectionDAG &DAG) const;
+ SelectionDAG &DAG) const;
/// isOffsetFoldingLegal - Return true if folding a constant offset
/// with the given GlobalAddress is legal. It is frequently not legal in
@@ -760,6 +761,18 @@ public:
/// getFunctionAlignment - Return the Log2 alignment of this function.
virtual unsigned getFunctionAlignment(const Function *) const = 0;
+ /// getPreferredLSDADataFormat - Return the preferred exception handling data
+ /// format for the LSDA.
+ virtual unsigned getPreferredLSDADataFormat() const {
+ return dwarf::DW_EH_PE_absptr;
+ }
+
+ /// getPreferredFDEDataFormat - Return the preferred exception handling data
+ /// format for the FDE.
+ virtual unsigned getPreferredFDEDataFormat() const {
+ return dwarf::DW_EH_PE_absptr;
+ }
+
//===--------------------------------------------------------------------===//
// TargetLowering Optimization Methods
//