diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-05-12 05:16:34 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-05-12 05:16:34 +0000 |
| commit | 5fc3053c3a78d6fd90c85c50efa5a28b82c81d5c (patch) | |
| tree | 7bd0bad00f64ec2b67dad2b70c9741cca6847a15 /lib/MC | |
| parent | 414b549e764607d9bf767a82057c10cd8f2c3be1 (diff) | |
| download | external_llvm-5fc3053c3a78d6fd90c85c50efa5a28b82c81d5c.zip external_llvm-5fc3053c3a78d6fd90c85c50efa5a28b82c81d5c.tar.gz external_llvm-5fc3053c3a78d6fd90c85c50efa5a28b82c81d5c.tar.bz2 | |
Add support for movi32 of global values to the new (MC) asm printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103576 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
| -rw-r--r-- | lib/MC/MCExpr.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/MC/MCExpr.cpp b/lib/MC/MCExpr.cpp index 3d4bbba..068ca81 100644 --- a/lib/MC/MCExpr.cpp +++ b/lib/MC/MCExpr.cpp @@ -39,6 +39,10 @@ void MCExpr::print(raw_ostream &OS) const { const MCSymbolRefExpr &SRE = cast<MCSymbolRefExpr>(*this); const MCSymbol &Sym = SRE.getSymbol(); + if (SRE.getKind() == MCSymbolRefExpr::VK_ARM_HI16 || + SRE.getKind() == MCSymbolRefExpr::VK_ARM_LO16) + OS << MCSymbolRefExpr::getVariantKindName(SRE.getKind()); + // Parenthesize names that start with $ so that they don't look like // absolute names. if (Sym.getName()[0] == '$') @@ -46,7 +50,9 @@ void MCExpr::print(raw_ostream &OS) const { else OS << Sym; - if (SRE.getKind() != MCSymbolRefExpr::VK_None) + if (SRE.getKind() != MCSymbolRefExpr::VK_None && + SRE.getKind() != MCSymbolRefExpr::VK_ARM_HI16 && + SRE.getKind() != MCSymbolRefExpr::VK_ARM_LO16) OS << '@' << MCSymbolRefExpr::getVariantKindName(SRE.getKind()); return; @@ -169,6 +175,8 @@ StringRef MCSymbolRefExpr::getVariantKindName(VariantKind Kind) { case VK_PLT: return "PLT"; case VK_TLSGD: return "TLSGD"; case VK_TPOFF: return "TPOFF"; + case VK_ARM_HI16: return ":upper16:"; + case VK_ARM_LO16: return ":lower16:"; } } |
