summaryrefslogtreecommitdiff
path: root/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
diff options
context:
space:
mode:
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-02-07 04:24:35 +0000
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-02-07 04:24:35 +0000
commit44ad4d00b497d0931c73136ca0ce14882a4a60e0 (patch)
tree82d55a8f28f915ddeb511fbf89be13524686c294 /lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
parentf2f6d44f43032df9e7b4097dadd352f3068fbac8 (diff)
downloadllvm-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.h10
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.