diff options
author | Chris Lattner <sabre@nondot.org> | 2005-05-12 02:02:21 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-05-12 02:02:21 +0000 |
commit | 39d7f8f3383552868b3ea2f3fa8cabca78decfbd (patch) | |
tree | f607b7c60184195f53d49edc991707e50e3fa6a7 | |
parent | 88de6e77bfadea8962b017f372658204ab71448c (diff) |
Add a little hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21883 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 5aa8ae1a60..96305c2b6a 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -76,6 +76,10 @@ public: MVT::ValueType getShiftAmountTy() const { return ShiftAmountTy; } OutOfRangeShiftAmount getShiftAmountFlavor() const {return ShiftAmtHandling; } + /// isSetCCExpensive - Return true if the setcc operation is expensive for + /// this target. + bool isSetCCExpensive() const { return SetCCIsExpensive; } + /// getSetCCResultTy - Return the ValueType of the result of setcc operations. /// MVT::ValueType getSetCCResultTy() const { return SetCCResultTy; } @@ -207,6 +211,11 @@ protected: ShiftAmtHandling = OORSA; } + /// setSetCCIxExpensive - This is a short term hack for targets that codegen + /// setcc as a conditional branch. This encourages the code generator to fold + /// setcc operations into other operations if possible. + void setSetCCIsExpensive() { SetCCIsExpensive = true; } + /// addRegisterClass - Add the specified register class as an available /// regclass for the specified value type. This indicates the selector can /// handle values of that class natively. @@ -310,6 +319,11 @@ private: OutOfRangeShiftAmount ShiftAmtHandling; + /// SetCCIsExpensive - This is a short term hack for targets that codegen + /// setcc as a conditional branch. This encourages the code generator to fold + /// setcc operations into other operations if possible. + bool SetCCIsExpensive; + /// SetCCResultTy - The type that SetCC operations use. This defaults to the /// PointerTy. MVT::ValueType SetCCResultTy; |