Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
lib/MC/MCExpr.cpp
Show All 12 Lines | |||||
case VK_Mips_HIGHER: return "HIGHER"; | case VK_Mips_HIGHER: return "HIGHER"; | ||||
case VK_Mips_HIGHEST: return "HIGHEST"; | case VK_Mips_HIGHEST: return "HIGHEST"; | ||||
case VK_Mips_GOT_HI16: return "GOT_HI16"; | case VK_Mips_GOT_HI16: return "GOT_HI16"; | ||||
case VK_Mips_GOT_LO16: return "GOT_LO16"; | case VK_Mips_GOT_LO16: return "GOT_LO16"; | ||||
case VK_Mips_CALL_HI16: return "CALL_HI16"; | case VK_Mips_CALL_HI16: return "CALL_HI16"; | ||||
case VK_Mips_CALL_LO16: return "CALL_LO16"; | case VK_Mips_CALL_LO16: return "CALL_LO16"; | ||||
case VK_Mips_PCREL_HI16: return "PCREL_HI16"; | case VK_Mips_PCREL_HI16: return "PCREL_HI16"; | ||||
case VK_Mips_PCREL_LO16: return "PCREL_LO16"; | case VK_Mips_PCREL_LO16: return "PCREL_LO16"; | ||||
case VK_Lanai_ABS_HI: return "hi"; | |||||
case VK_Lanai_ABS_LO: return "lo"; | |||||
case VK_COFF_IMGREL32: return "IMGREL"; | case VK_COFF_IMGREL32: return "IMGREL"; | ||||
case VK_Hexagon_PCREL: return "PCREL"; | case VK_Hexagon_PCREL: return "PCREL"; | ||||
case VK_Hexagon_LO16: return "LO16"; | case VK_Hexagon_LO16: return "LO16"; | ||||
case VK_Hexagon_HI16: return "HI16"; | case VK_Hexagon_HI16: return "HI16"; | ||||
case VK_Hexagon_GPREL: return "GPREL"; | case VK_Hexagon_GPREL: return "GPREL"; | ||||
case VK_Hexagon_GD_GOT: return "GDGOT"; | case VK_Hexagon_GD_GOT: return "GDGOT"; | ||||
case VK_Hexagon_LD_GOT: return "LDGOT"; | case VK_Hexagon_LD_GOT: return "LDGOT"; | ||||
case VK_Hexagon_GD_PLT: return "GDPLT"; | case VK_Hexagon_GD_PLT: return "GDPLT"; | ||||
case VK_Hexagon_LD_PLT: return "LDPLT"; | case VK_Hexagon_LD_PLT: return "LDPLT"; | ||||
case VK_Hexagon_IE: return "IE"; | case VK_Hexagon_IE: return "IE"; | ||||
case VK_Hexagon_IE_GOT: return "IEGOT"; | case VK_Hexagon_IE_GOT: return "IEGOT"; | ||||
case VK_WebAssembly_FUNCTION: return "FUNCTION"; | case VK_WebAssembly_FUNCTION: return "FUNCTION"; | ||||
case VK_TPREL: return "tprel"; | case VK_TPREL: return "tprel"; | ||||
case VK_DTPREL: return "dtprel"; | case VK_DTPREL: return "dtprel"; | ||||
} | } | ||||
llvm_unreachable("Invalid variant kind"); | llvm_unreachable("Invalid variant kind"); | ||||
} | } | ||||
MCSymbolRefExpr::VariantKind | MCSymbolRefExpr::VariantKind | ||||
MCSymbolRefExpr::getVariantKindForName(StringRef Name) { | MCSymbolRefExpr::getVariantKindForName(StringRef Name) { | ||||
return StringSwitch<VariantKind>(Name.lower()) | return StringSwitch<VariantKind>(Name.lower()) | ||||
.Case("got", VK_GOT) | .Case("got", VK_GOT) | ||||
.Case("lo", VK_Lanai_ABS_LO) | |||||
jyknight: This, in particular, seems an unfortunate consequence of not using a LanaiMCExpr: a very… | |||||
.Case("hi", VK_Lanai_ABS_HI) | |||||
.Case("gotoff", VK_GOTOFF) | .Case("gotoff", VK_GOTOFF) | ||||
.Case("gotpcrel", VK_GOTPCREL) | .Case("gotpcrel", VK_GOTPCREL) | ||||
.Case("gottpoff", VK_GOTTPOFF) | .Case("gottpoff", VK_GOTTPOFF) | ||||
.Case("indntpoff", VK_INDNTPOFF) | .Case("indntpoff", VK_INDNTPOFF) | ||||
.Case("ntpoff", VK_NTPOFF) | .Case("ntpoff", VK_NTPOFF) | ||||
.Case("gotntpoff", VK_GOTNTPOFF) | .Case("gotntpoff", VK_GOTNTPOFF) | ||||
.Case("plt", VK_PLT) | .Case("plt", VK_PLT) | ||||
.Case("tlsgd", VK_TLSGD) | .Case("tlsgd", VK_TLSGD) | ||||
Show All 12 Lines |
This, in particular, seems an unfortunate consequence of not using a LanaiMCExpr: a very generic name, assigned a target-specific variant.