diff options
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r-- | include/llvm/CodeGen/MachineInstrBuilder.h | 7 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineOperand.h | 10 | ||||
-rw-r--r-- | include/llvm/CodeGen/SelectionDAG.h | 4 | ||||
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 7 |
4 files changed, 15 insertions, 13 deletions
diff --git a/include/llvm/CodeGen/MachineInstrBuilder.h b/include/llvm/CodeGen/MachineInstrBuilder.h index c63487d19d..f57168b276 100644 --- a/include/llvm/CodeGen/MachineInstrBuilder.h +++ b/include/llvm/CodeGen/MachineInstrBuilder.h @@ -79,13 +79,14 @@ public: } const MachineInstrBuilder &addGlobalAddress(GlobalValue *GV, - int Offset = 0) const { + int64_t Offset = 0) const { MI->addOperand(MachineOperand::CreateGA(GV, Offset)); return *this; } - const MachineInstrBuilder &addExternalSymbol(const char *FnName) const{ - MI->addOperand(MachineOperand::CreateES(FnName, 0)); + const MachineInstrBuilder &addExternalSymbol(const char *FnName, + int64_t Offset = 0) const { + MI->addOperand(MachineOperand::CreateES(FnName, Offset)); return *this; } }; diff --git a/include/llvm/CodeGen/MachineOperand.h b/include/llvm/CodeGen/MachineOperand.h index f9d80c7fcc..e3cc814011 100644 --- a/include/llvm/CodeGen/MachineOperand.h +++ b/include/llvm/CodeGen/MachineOperand.h @@ -101,7 +101,7 @@ private: const char *SymbolName; // For MO_ExternalSymbol. GlobalValue *GV; // For MO_GlobalAddress. } Val; - int Offset; // An offset from the object. + int64_t Offset; // An offset from the object. } OffsetedInfo; } Contents; @@ -273,7 +273,7 @@ public: return Contents.OffsetedInfo.Val.GV; } - int getOffset() const { + int64_t getOffset() const { assert((isGlobal() || isSymbol() || isCPI()) && "Wrong MachineOperand accessor"); return Contents.OffsetedInfo.Offset; @@ -293,7 +293,7 @@ public: Contents.ImmVal = immVal; } - void setOffset(int Offset) { + void setOffset(int64_t Offset) { assert((isGlobal() || isSymbol() || isCPI()) && "Wrong MachineOperand accessor"); Contents.OffsetedInfo.Offset = Offset; @@ -382,13 +382,13 @@ public: Op.setIndex(Idx); return Op; } - static MachineOperand CreateGA(GlobalValue *GV, int Offset) { + static MachineOperand CreateGA(GlobalValue *GV, int64_t Offset) { MachineOperand Op(MachineOperand::MO_GlobalAddress); Op.Contents.OffsetedInfo.Val.GV = GV; Op.setOffset(Offset); return Op; } - static MachineOperand CreateES(const char *SymName, int Offset = 0) { + static MachineOperand CreateES(const char *SymName, int64_t Offset = 0) { MachineOperand Op(MachineOperand::MO_ExternalSymbol); Op.Contents.OffsetedInfo.Val.SymbolName = SymName; Op.setOffset(Offset); diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index d6a40a68a2..a6f9c1beed 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -255,9 +255,9 @@ public: return getConstantFP(Val, VT, true); } SDValue getGlobalAddress(const GlobalValue *GV, MVT VT, - int offset = 0, bool isTargetGA = false); + int64_t offset = 0, bool isTargetGA = false); SDValue getTargetGlobalAddress(const GlobalValue *GV, MVT VT, - int offset = 0) { + int64_t offset = 0) { return getGlobalAddress(GV, VT, offset, true); } SDValue getFrameIndex(int FI, MVT VT, bool isTarget = false); diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 94c8dadd96..494783229a 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -1819,15 +1819,16 @@ public: class GlobalAddressSDNode : public SDNode { GlobalValue *TheGlobal; - int Offset; + int64_t Offset; virtual void ANCHOR(); // Out-of-line virtual method to give class a home. protected: friend class SelectionDAG; - GlobalAddressSDNode(bool isTarget, const GlobalValue *GA, MVT VT, int o = 0); + GlobalAddressSDNode(bool isTarget, const GlobalValue *GA, MVT VT, + int64_t o = 0); public: GlobalValue *getGlobal() const { return TheGlobal; } - int getOffset() const { return Offset; } + int64_t getOffset() const { return Offset; } static bool classof(const GlobalAddressSDNode *) { return true; } static bool classof(const SDNode *N) { |