reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
   88                          const MCExpr *Symbol, RISCVMCExpr::VariantKind VKHi,
  180                                 RISCVMCExpr::VariantKind &Kind,
  262                                   RISCVMCExpr::VariantKind &VK) {
  263     if (auto *RE = dyn_cast<RISCVMCExpr>(Expr)) {
  269       VK = RISCVMCExpr::VK_RISCV_None;
  281     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  281     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  290     return IsValid && VK == RISCVMCExpr::VK_RISCV_None;
  297     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  297     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  302            VK == RISCVMCExpr::VK_RISCV_None;
  307     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  307     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  312            (VK == RISCVMCExpr::VK_RISCV_CALL ||
  313             VK == RISCVMCExpr::VK_RISCV_CALL_PLT);
  318     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  318     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  323            VK == RISCVMCExpr::VK_RISCV_TPREL_ADD;
  369     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  369     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  373     if (VK == RISCVMCExpr::VK_RISCV_LO || VK == RISCVMCExpr::VK_RISCV_PCREL_LO)
  373     if (VK == RISCVMCExpr::VK_RISCV_LO || VK == RISCVMCExpr::VK_RISCV_PCREL_LO)
  377     return IsConstantImm && VK == RISCVMCExpr::VK_RISCV_None &&
  383     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  383     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  387         VK != RISCVMCExpr::VK_RISCV_None)
  394     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  394     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  398         VK != RISCVMCExpr::VK_RISCV_None)
  407     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  407     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  411     return IsConstantImm && isUInt<5>(Imm) && VK == RISCVMCExpr::VK_RISCV_None;
  416     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  416     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  421            VK == RISCVMCExpr::VK_RISCV_None;
  427     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  427     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  431            VK == RISCVMCExpr::VK_RISCV_None;
  437     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  437     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  441            VK == RISCVMCExpr::VK_RISCV_None;
  448     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  448     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  452            VK == RISCVMCExpr::VK_RISCV_None;
  459     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  459     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  462            VK == RISCVMCExpr::VK_RISCV_None;
  469     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  469     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  472            VK == RISCVMCExpr::VK_RISCV_None;
  479     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  479     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  482            VK == RISCVMCExpr::VK_RISCV_None;
  491     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  491     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  494            VK == RISCVMCExpr::VK_RISCV_None;
  501     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  501     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  504            VK == RISCVMCExpr::VK_RISCV_None;
  508     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  508     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  518     return IsValid && ((IsConstantImm && VK == RISCVMCExpr::VK_RISCV_None) ||
  519                        VK == RISCVMCExpr::VK_RISCV_LO ||
  520                        VK == RISCVMCExpr::VK_RISCV_PCREL_LO ||
  521                        VK == RISCVMCExpr::VK_RISCV_TPREL_LO);
  532     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  532     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  535            VK == RISCVMCExpr::VK_RISCV_None;
  539     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  539     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  547       return IsValid && (VK == RISCVMCExpr::VK_RISCV_HI ||
  548                          VK == RISCVMCExpr::VK_RISCV_TPREL_HI);
  550       return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None ||
  551                                  VK == RISCVMCExpr::VK_RISCV_HI ||
  552                                  VK == RISCVMCExpr::VK_RISCV_TPREL_HI);
  557     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  557     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  565       return IsValid && (VK == RISCVMCExpr::VK_RISCV_PCREL_HI ||
  566                          VK == RISCVMCExpr::VK_RISCV_GOT_HI ||
  567                          VK == RISCVMCExpr::VK_RISCV_TLS_GOT_HI ||
  568                          VK == RISCVMCExpr::VK_RISCV_TLS_GD_HI);
  570       return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None ||
  571                                  VK == RISCVMCExpr::VK_RISCV_PCREL_HI ||
  572                                  VK == RISCVMCExpr::VK_RISCV_GOT_HI ||
  573                                  VK == RISCVMCExpr::VK_RISCV_TLS_GOT_HI ||
  574                                  VK == RISCVMCExpr::VK_RISCV_TLS_GD_HI);
  584     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  584     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  586     return IsConstantImm && (Imm == 0) && VK == RISCVMCExpr::VK_RISCV_None;
  678     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
  678     RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None;
 1141   RISCVMCExpr::VariantKind VK = RISCVMCExpr::getVariantKindForName(Identifier);
 1141   RISCVMCExpr::VariantKind VK = RISCVMCExpr::getVariantKindForName(Identifier);
 1142   if (VK == RISCVMCExpr::VK_RISCV_Invalid) {
 1159   const MCExpr *ModExpr = RISCVMCExpr::create(SubExpr, VK, getContext());
 1232   RISCVMCExpr::VariantKind Kind = RISCVMCExpr::VK_RISCV_CALL;
 1232   RISCVMCExpr::VariantKind Kind = RISCVMCExpr::VK_RISCV_CALL;
 1234     Kind = RISCVMCExpr::VK_RISCV_CALL_PLT;
 1238   Res = RISCVMCExpr::create(Res, Kind, getContext());
 1436                                        RISCVMCExpr::VariantKind &Kind,
 1438   Kind = RISCVMCExpr::VK_RISCV_None;
 1441   if (const RISCVMCExpr *RE = dyn_cast<RISCVMCExpr>(Expr)) {
 1441   if (const RISCVMCExpr *RE = dyn_cast<RISCVMCExpr>(Expr)) {
 1477   return Kind != RISCVMCExpr::VK_RISCV_Invalid;
 1617                                        RISCVMCExpr::VariantKind VKHi,
 1629   const RISCVMCExpr *SymbolHi = RISCVMCExpr::create(Symbol, VKHi, Ctx);
 1629   const RISCVMCExpr *SymbolHi = RISCVMCExpr::create(Symbol, VKHi, Ctx);
 1634       RISCVMCExpr::create(MCSymbolRefExpr::create(TmpLabel, Ctx),
 1635                           RISCVMCExpr::VK_RISCV_PCREL_LO, Ctx);
 1653   emitAuipcInstPair(DestReg, DestReg, Symbol, RISCVMCExpr::VK_RISCV_PCREL_HI,
 1671   RISCVMCExpr::VariantKind VKHi;
 1675     VKHi = RISCVMCExpr::VK_RISCV_GOT_HI;
 1678     VKHi = RISCVMCExpr::VK_RISCV_PCREL_HI;
 1694   emitAuipcInstPair(DestReg, DestReg, Symbol, RISCVMCExpr::VK_RISCV_TLS_GOT_HI,
 1708   emitAuipcInstPair(DestReg, DestReg, Symbol, RISCVMCExpr::VK_RISCV_TLS_GD_HI,
 1727   emitAuipcInstPair(DestReg, TmpReg, Symbol, RISCVMCExpr::VK_RISCV_PCREL_HI,
lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
   51     const MCFixup *T = cast<RISCVMCExpr>(Fixup.getValue())->getPCRelHiFixup();
lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
   93         cast<RISCVMCExpr>(Expr)->getKind() == RISCVMCExpr::VK_RISCV_32_PCREL)
   93         cast<RISCVMCExpr>(Expr)->getKind() == RISCVMCExpr::VK_RISCV_32_PCREL)
lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
   46   return RISCVMCExpr::create(ME, RISCVMCExpr::VK_RISCV_32_PCREL, Ctx);
   46   return RISCVMCExpr::create(ME, RISCVMCExpr::VK_RISCV_32_PCREL, Ctx);
lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
  152   const RISCVMCExpr *Expr = dyn_cast<RISCVMCExpr>(SrcSymbol.getExpr());
  152   const RISCVMCExpr *Expr = dyn_cast<RISCVMCExpr>(SrcSymbol.getExpr());
  265     const RISCVMCExpr *RVExpr = cast<RISCVMCExpr>(Expr);
  265     const RISCVMCExpr *RVExpr = cast<RISCVMCExpr>(Expr);
  268     case RISCVMCExpr::VK_RISCV_None:
  269     case RISCVMCExpr::VK_RISCV_Invalid:
  270     case RISCVMCExpr::VK_RISCV_32_PCREL:
  272     case RISCVMCExpr::VK_RISCV_TPREL_ADD:
  279     case RISCVMCExpr::VK_RISCV_LO:
  288     case RISCVMCExpr::VK_RISCV_HI:
  292     case RISCVMCExpr::VK_RISCV_PCREL_LO:
  302     case RISCVMCExpr::VK_RISCV_PCREL_HI:
  306     case RISCVMCExpr::VK_RISCV_GOT_HI:
  309     case RISCVMCExpr::VK_RISCV_TPREL_LO:
  319     case RISCVMCExpr::VK_RISCV_TPREL_HI:
  323     case RISCVMCExpr::VK_RISCV_TLS_GOT_HI:
  326     case RISCVMCExpr::VK_RISCV_TLS_GD_HI:
  329     case RISCVMCExpr::VK_RISCV_CALL:
  333     case RISCVMCExpr::VK_RISCV_CALL_PLT:
lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
   31 const RISCVMCExpr *RISCVMCExpr::create(const MCExpr *Expr, VariantKind Kind,
   33   return new (Ctx) RISCVMCExpr(Expr, Kind);
  184 RISCVMCExpr::VariantKind RISCVMCExpr::getVariantKindForName(StringRef name) {
lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
   56   static const RISCVMCExpr *create(const MCExpr *Expr, VariantKind Kind,
   86   static bool classof(const RISCVMCExpr *) { return true; }
lib/Target/RISCV/RISCVMCInstLower.cpp
   31   RISCVMCExpr::VariantKind Kind;
   37     Kind = RISCVMCExpr::VK_RISCV_None;
   40     Kind = RISCVMCExpr::VK_RISCV_CALL;
   43     Kind = RISCVMCExpr::VK_RISCV_CALL_PLT;
   46     Kind = RISCVMCExpr::VK_RISCV_LO;
   49     Kind = RISCVMCExpr::VK_RISCV_HI;
   52     Kind = RISCVMCExpr::VK_RISCV_PCREL_LO;
   55     Kind = RISCVMCExpr::VK_RISCV_PCREL_HI;
   58     Kind = RISCVMCExpr::VK_RISCV_GOT_HI;
   61     Kind = RISCVMCExpr::VK_RISCV_TPREL_LO;
   64     Kind = RISCVMCExpr::VK_RISCV_TPREL_HI;
   67     Kind = RISCVMCExpr::VK_RISCV_TPREL_ADD;
   70     Kind = RISCVMCExpr::VK_RISCV_TLS_GOT_HI;
   73     Kind = RISCVMCExpr::VK_RISCV_TLS_GD_HI;
   84   if (Kind != RISCVMCExpr::VK_RISCV_None)
   85     ME = RISCVMCExpr::create(ME, Kind, Ctx);