diff options
author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-02-07 04:24:35 +0000 |
---|---|---|
committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-02-07 04:24:35 +0000 |
commit | 44ad4d00b497d0931c73136ca0ce14882a4a60e0 (patch) | |
tree | 82d55a8f28f915ddeb511fbf89be13524686c294 /lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h | |
parent | f2f6d44f43032df9e7b4097dadd352f3068fbac8 (diff) | |
download | llvm-44ad4d00b497d0931c73136ca0ce14882a4a60e0.tar.gz llvm-44ad4d00b497d0931c73136ca0ce14882a4a60e0.tar.bz2 llvm-44ad4d00b497d0931c73136ca0ce14882a4a60e0.tar.xz |
[Sparc] Emit correct relocations for PIC code when integrated assembler is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200961 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h')
-rw-r--r-- | lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h b/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h index ebe3a752a6..be6526e8ad 100644 --- a/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h +++ b/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h @@ -15,6 +15,7 @@ #ifndef LLVM_SPARCMCEXPR_H #define LLVM_SPARCMCEXPR_H +#include "SparcFixupKinds.h" #include "llvm/MC/MCExpr.h" namespace llvm { @@ -31,6 +32,11 @@ public: VK_Sparc_L44, VK_Sparc_HH, VK_Sparc_HM, + VK_Sparc_PC22, + VK_Sparc_PC10, + VK_Sparc_GOT22, + VK_Sparc_GOT10, + VK_Sparc_WPLT30, VK_Sparc_R_DISP32, VK_Sparc_TLS_GD_HI22, VK_Sparc_TLS_GD_LO10, @@ -75,6 +81,9 @@ public: /// getSubExpr - Get the child of this expression. const MCExpr *getSubExpr() const { return Expr; } + /// getFixupKind - Get the fixup kind of this expression. + Sparc::Fixups getFixupKind() const { return getFixupKind(Kind); } + /// @} void PrintImpl(raw_ostream &OS) const; bool EvaluateAsRelocatableImpl(MCValue &Res, @@ -94,6 +103,7 @@ public: static VariantKind parseVariantKind(StringRef name); static bool printVariantKind(raw_ostream &OS, VariantKind Kind); + static Sparc::Fixups getFixupKind(VariantKind Kind); }; } // end namespace llvm. |