From 428e75eaef7ccbb027c53ff0f89e2e686db50e01 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 6 Oct 2006 22:46:34 +0000 Subject: [PATCH] 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 --- include/llvm/Target/TargetLowering.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 8fae7479168..ac71888bed3 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -85,6 +85,10 @@ public: MVT::ValueType getShiftAmountTy() const { return ShiftAmountTy; } 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 /// this target. bool isSetCCExpensive() const { return SetCCIsExpensive; } @@ -469,6 +473,9 @@ public: // 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 /// amounts. This type defaults to the pointer type. @@ -731,6 +738,10 @@ private: /// 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 /// PointerTy is. MVT::ValueType ShiftAmountTy; -- 2.34.1