diff options
author | Chris Lattner <sabre@nondot.org> | 2005-01-16 23:59:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-01-16 23:59:30 +0000 |
commit | 6ae76fcc060e1943c54bb9b07bd3b5cdb3c793bc (patch) | |
tree | 0301b8822e15a835e99efdb5d28902e4b610ebc8 | |
parent | 8ac532c55eb7f8698466f25d1a8a01240c44ec7d (diff) |
Add comments
Add fields to hold the result type of setcc operations and shift amounts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19618 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 4cdfb39c44..80f40eeae3 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -45,10 +45,23 @@ namespace llvm { class TargetLowering { TargetMachine &TM; const TargetData &TD; - - MVT::ValueType PointerTy; + + /// IsLittleEndian - True if this is a little endian target. + /// bool IsLittleEndian; + /// PointerTy - The type to use for pointers, usually i32 or i64. + /// + MVT::ValueType PointerTy; + + /// ShiftAmountTy - The type to use for shift amounts, usually i8 or whatever + /// PointerTy is. + MVT::ValueType ShiftAmountTy; + + /// SetCCResultTy - The type that SetCC operations use. This defaults to the + /// PointerTy. + MVT::ValueType SetCCResultTy; + /// RegClassForVT - This indicates the default register class to use for /// each ValueType the target supports natively. TargetRegisterClass *RegClassForVT[MVT::LAST_VALUETYPE]; @@ -95,7 +108,11 @@ public: bool isLittleEndian() const { return IsLittleEndian; } MVT::ValueType getPointerTy() const { return PointerTy; } - + MVT::ValueType getShiftAmountTy() const { return ShiftAmountTy; } + MVT::ValueType getSetCCResultTy() const { return SetCCResultTy; } + + /// getRegClassFor - Return the register class that should be used for the + /// specified value type. This may only be called on legal types. TargetRegisterClass *getRegClassFor(MVT::ValueType VT) const { TargetRegisterClass *RC = RegClassForVT[VT]; assert(RC && "This value type is not natively supported!"); @@ -198,6 +215,14 @@ public: protected: + /// setShiftAmountType - Describe the type that should be used for shift + /// amounts. This type defaults to the pointer type. + void setShiftAmountType(MVT::ValueType VT) { ShiftAmountTy = VT; } + + /// setSetCCResultType - Describe the type that shoudl be used as the result + /// of a setcc operation. This defaults to the pointer type. + void setSetCCResultType(MVT::ValueType VT) { SetCCResultTy = VT; } + /// 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. |