Add support for targets to declare that they use a GOT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30777 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-10-06 22:46:34 +00:00
parent e0cfc8b2f2
commit 428e75eaef

View File

@ -85,6 +85,10 @@ public:
MVT::ValueType getShiftAmountTy() const { return ShiftAmountTy; } MVT::ValueType getShiftAmountTy() const { return ShiftAmountTy; }
OutOfRangeShiftAmount getShiftAmountFlavor() const {return ShiftAmtHandling; } OutOfRangeShiftAmount getShiftAmountFlavor() const {return ShiftAmtHandling; }
/// usesGlobalOffsetTable - Return true if this target uses a GOT for PIC
/// codegen.
bool usesGlobalOffsetTable() const { return UsesGlobalOffsetTable; }
/// isSetCCExpensive - Return true if the setcc operation is expensive for /// isSetCCExpensive - Return true if the setcc operation is expensive for
/// this target. /// this target.
bool isSetCCExpensive() const { return SetCCIsExpensive; } bool isSetCCExpensive() const { return SetCCIsExpensive; }
@ -469,6 +473,9 @@ public:
// //
protected: protected:
/// setUsesGlobalOffsetTable - Specify that this target does or doesn't use a
/// GOT for PC-relative code.
void setUsesGlobalOffsetTable(bool V) { UsesGlobalOffsetTable = V; }
/// setShiftAmountType - Describe the type that should be used for shift /// setShiftAmountType - Describe the type that should be used for shift
/// amounts. This type defaults to the pointer type. /// amounts. This type defaults to the pointer type.
@ -731,6 +738,10 @@ private:
/// ///
MVT::ValueType PointerTy; MVT::ValueType PointerTy;
/// UsesGlobalOffsetTable - True if this target uses a GOT for PIC codegen.
///
bool UsesGlobalOffsetTable;
/// ShiftAmountTy - The type to use for shift amounts, usually i8 or whatever /// ShiftAmountTy - The type to use for shift amounts, usually i8 or whatever
/// PointerTy is. /// PointerTy is.
MVT::ValueType ShiftAmountTy; MVT::ValueType ShiftAmountTy;