diff options
author | Jim Laskey <jlaskey@mac.com> | 2007-02-22 15:37:19 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2007-02-22 15:37:19 +0000 |
commit | 2bc210d99f5a7322a1ae84775eba351d9ab6ea85 (patch) | |
tree | d9adc66648cdbe48efa3feb524f603c9a72a12b1 /include/llvm/Target/TargetLowering.h | |
parent | 082228b88488fac2c4daeef417e9a0ab66f73d3b (diff) | |
download | external_llvm-2bc210d99f5a7322a1ae84775eba351d9ab6ea85.zip external_llvm-2bc210d99f5a7322a1ae84775eba351d9ab6ea85.tar.gz external_llvm-2bc210d99f5a7322a1ae84775eba351d9ab6ea85.tar.bz2 |
Simplify lowering and selection of exception ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetLowering.h')
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index b52b68c..5aae258 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -403,6 +403,20 @@ public: return StackPointerRegisterToSaveRestore; } + /// getExceptionAddressRegister - If a physical register, this returns + /// the register that receives the exception address on entry to a landing + /// pad. + unsigned getExceptionAddressRegister() const { + return ExceptionPointerRegister; + } + + /// getExceptionSelectorRegister - If a physical register, this returns + /// the register that receives the exception typeid on entry to a landing + /// pad. + unsigned getExceptionSelectorRegister() const { + return ExceptionSelectorRegister; + } + /// getJumpBufSize - returns the target's jmp_buf size in bytes (if never /// set, the default is 200) unsigned getJumpBufSize() const { @@ -604,6 +618,20 @@ protected: StackPointerRegisterToSaveRestore = R; } + /// setExceptionPointerRegister - If set to a physical register, this sets + /// the register that receives the exception address on entry to a landing + /// pad. + void setExceptionPointerRegister(unsigned R) { + ExceptionPointerRegister = R; + } + + /// setExceptionSelectorRegister - If set to a physical register, this sets + /// the register that receives the exception typeid on entry to a landing + /// pad. + void setExceptionSelectorRegister(unsigned R) { + ExceptionSelectorRegister = R; + } + /// SelectIsExpensive - Tells the code generator not to expand operations /// into sequences that use the select operations if possible. void setSelectIsExpensive() { SelectIsExpensive = true; } @@ -956,6 +984,16 @@ private: /// and restore. unsigned StackPointerRegisterToSaveRestore; + /// ExceptionPointerRegister - If set to a physical register, this specifies + /// the register that receives the exception address on entry to a landing + /// pad. + unsigned ExceptionPointerRegister; + + /// ExceptionSelectorRegister - If set to a physical register, this specifies + /// the register that receives the exception typeid on entry to a landing + /// pad. + unsigned ExceptionSelectorRegister; + /// RegClassForVT - This indicates the default register class to use for /// each ValueType the target supports natively. TargetRegisterClass *RegClassForVT[MVT::LAST_VALUETYPE]; |