mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 00:24:26 +00:00
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:
@ -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;
|
||||||
|
Reference in New Issue
Block a user