diff options
Diffstat (limited to 'llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp')
| -rw-r--r-- | llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp index 45f2f9f11e4..f38e3118184 100644 --- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp +++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp @@ -29,8 +29,21 @@ SparcMCExpr::Create(VariantKind Kind, const MCExpr *Expr, } + void SparcMCExpr::PrintImpl(raw_ostream &OS) const { + + bool closeParen = printVariantKind(OS, Kind); + + const MCExpr *Expr = getSubExpr(); + Expr->print(OS); + + if (closeParen) + OS << ')'; +} + +bool SparcMCExpr::printVariantKind(raw_ostream &OS, VariantKind Kind) +{ bool closeParen = true; switch (Kind) { case VK_Sparc_None: closeParen = false; break; @@ -61,11 +74,7 @@ void SparcMCExpr::PrintImpl(raw_ostream &OS) const case VK_Sparc_TLS_LE_HIX22: OS << "%tle_hix22("; break; case VK_Sparc_TLS_LE_LOX10: OS << "%tle_lox10("; break; } - - const MCExpr *Expr = getSubExpr(); - Expr->print(OS); - if (closeParen) - OS << ')'; + return closeParen; } SparcMCExpr::VariantKind SparcMCExpr::parseVariantKind(StringRef name) |

