diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-11-10 03:26:07 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-11-10 03:26:07 +0000 |
commit | 2c4d5125c708bb35140fc2a40b02beb1add101db (patch) | |
tree | 54de4c5d66ac53c03c0b8f5c0e9799fcbc75e67f /lib/MC/MCExpr.cpp | |
parent | 0cf2b2b9f0c4f9fc18ef527a227045793a769dee (diff) | |
download | llvm-2c4d5125c708bb35140fc2a40b02beb1add101db.tar.gz llvm-2c4d5125c708bb35140fc2a40b02beb1add101db.tar.bz2 llvm-2c4d5125c708bb35140fc2a40b02beb1add101db.tar.xz |
Update ARMConstantPoolValue to not use a modifier string. Use an explicit
VariantKind marker to indicate the additional information necessary. Update
MC to handle the new Kinds. rdar://8647623
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118671 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCExpr.cpp')
-rw-r--r-- | lib/MC/MCExpr.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/MC/MCExpr.cpp b/lib/MC/MCExpr.cpp index e3ef6de5ac..fa98b55dde 100644 --- a/lib/MC/MCExpr.cpp +++ b/lib/MC/MCExpr.cpp @@ -51,7 +51,12 @@ void MCExpr::print(raw_ostream &OS) const { else OS << Sym; - if (SRE.getKind() == MCSymbolRefExpr::VK_ARM_PLT) + if (SRE.getKind() == MCSymbolRefExpr::VK_ARM_PLT || + SRE.getKind() == MCSymbolRefExpr::VK_ARM_TLSGD || + SRE.getKind() == MCSymbolRefExpr::VK_ARM_GOT || + SRE.getKind() == MCSymbolRefExpr::VK_ARM_GOTOFF || + SRE.getKind() == MCSymbolRefExpr::VK_ARM_TPOFF || + SRE.getKind() == MCSymbolRefExpr::VK_ARM_GOTTPOFF) OS << MCSymbolRefExpr::getVariantKindName(SRE.getKind()); else if (SRE.getKind() != MCSymbolRefExpr::VK_None && SRE.getKind() != MCSymbolRefExpr::VK_ARM_HI16 && @@ -185,6 +190,11 @@ StringRef MCSymbolRefExpr::getVariantKindName(VariantKind Kind) { case VK_ARM_HI16: return ":upper16:"; case VK_ARM_LO16: return ":lower16:"; case VK_ARM_PLT: return "(PLT)"; + case VK_ARM_GOT: return "(GOT)"; + case VK_ARM_GOTOFF: return "(GOTOFF)"; + case VK_ARM_TPOFF: return "(tpoff)"; + case VK_ARM_GOTTPOFF: return "(gottpoff)"; + case VK_ARM_TLSGD: return "(tldgd)"; case VK_TLVP: return "TLVP"; } } |