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

Declarations

include/llvm/LTO/LTO.h
   40 class Target;
include/llvm/LTO/LTOBackend.h
   32 class Target;
include/llvm/Target/TargetMachine.h
   41 class Target;
lib/MC/MCDisassembler/Disassembler.h
   33 class Target;
lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
   22 class Target;
lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
   34 class Target;
lib/Target/AArch64/TargetInfo/AArch64TargetInfo.h
   14 class Target;
lib/Target/AMDGPU/AMDGPU.h
   22 class Target;
lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
   32 class Target;
lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.h
   18 class Target;
lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.h
   20 class Target;
lib/Target/ARC/TargetInfo/ARCTargetInfo.h
   14 class Target;
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
   37 class Target;
lib/Target/ARM/TargetInfo/ARMTargetInfo.h
   14 class Target;
lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h
   31 class Target;
lib/Target/AVR/TargetInfo/AVRTargetInfo.h
   13 class Target;
lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
   20 class Target;
lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h
   31 class Target;
lib/Target/BPF/TargetInfo/BPFTargetInfo.h
   14 class Target;
lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
   60 class Target;
lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.h
   14 class Target;
lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h
   29 class Target;
lib/Target/Lanai/TargetInfo/LanaiTargetInfo.h
   14 class Target;
lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h
   20 class Target;
lib/Target/MSP430/TargetInfo/MSP430TargetInfo.h
   14 class Target;
lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
   28 class Target;
lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
   30 class Target;
lib/Target/Mips/TargetInfo/MipsTargetInfo.h
   14 class Target;
lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h
   19 class Target;
lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
   19 class Target;
lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h
   14 class Target;
lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
   34 class Target;
lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.h
   14 class Target;
lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
   30 class Target;
lib/Target/RISCV/TargetInfo/RISCVTargetInfo.h
   14 class Target;
lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h
   29 class Target;
lib/Target/Sparc/TargetInfo/SparcTargetInfo.h
   14 class Target;
lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
   27 class Target;
lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.h
   14 class Target;
lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
   32 class Target;
lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
   19 class Target;
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
   32 class Target;
lib/Target/X86/TargetInfo/X86TargetInfo.h
   14 class Target;
lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h
   18 class Target;
lib/Target/XCore/TargetInfo/XCoreTargetInfo.h
   14 class Target;
tools/llvm-mc/Disassembler.h
   22 class Target;

References

include/llvm/LTO/legacy/LTOCodeGenerator.h
  233   const Target *MArch = nullptr;
include/llvm/Support/TargetRegistry.h
  140       *(*)(const Target &T, const Triple &TT, StringRef CPU, StringRef Features,
  148   using MCAsmBackendCtorTy = MCAsmBackend *(*)(const Target &T,
  155   using MCDisassemblerCtorTy = MCDisassembler *(*)(const Target &T,
  202   Target *Next;
  301   const Target *getNext() const { return Next; }
  605       : public std::iterator<std::forward_iterator_tag, Target, ptrdiff_t> {
  608     const Target *Current = nullptr;
  610     explicit iterator(Target *T) : Current(T) {}
  630     const Target &operator*() const {
  635     const Target *operator->() const { return &operator*(); }
  652   static const Target *lookupTarget(const std::string &Triple,
  666   static const Target *lookupTarget(const std::string &ArchName,
  691   static void RegisterTarget(Target &T, const char *Name, const char *ShortDesc,
  693                              Target::ArchMatchFnTy ArchMatchFn,
  705   static void RegisterMCAsmInfo(Target &T, Target::MCAsmInfoCtorFnTy Fn) {
  705   static void RegisterMCAsmInfo(Target &T, Target::MCAsmInfoCtorFnTy Fn) {
  718   static void RegisterMCInstrInfo(Target &T, Target::MCInstrInfoCtorFnTy Fn) {
  718   static void RegisterMCInstrInfo(Target &T, Target::MCInstrInfoCtorFnTy Fn) {
  724   static void RegisterMCInstrAnalysis(Target &T,
  725                                       Target::MCInstrAnalysisCtorFnTy Fn) {
  738   static void RegisterMCRegInfo(Target &T, Target::MCRegInfoCtorFnTy Fn) {
  738   static void RegisterMCRegInfo(Target &T, Target::MCRegInfoCtorFnTy Fn) {
  751   static void RegisterMCSubtargetInfo(Target &T,
  752                                       Target::MCSubtargetInfoCtorFnTy Fn) {
  765   static void RegisterTargetMachine(Target &T, Target::TargetMachineCtorTy Fn) {
  765   static void RegisterTargetMachine(Target &T, Target::TargetMachineCtorTy Fn) {
  778   static void RegisterMCAsmBackend(Target &T, Target::MCAsmBackendCtorTy Fn) {
  778   static void RegisterMCAsmBackend(Target &T, Target::MCAsmBackendCtorTy Fn) {
  791   static void RegisterMCAsmParser(Target &T, Target::MCAsmParserCtorTy Fn) {
  791   static void RegisterMCAsmParser(Target &T, Target::MCAsmParserCtorTy Fn) {
  804   static void RegisterAsmPrinter(Target &T, Target::AsmPrinterCtorTy Fn) {
  804   static void RegisterAsmPrinter(Target &T, Target::AsmPrinterCtorTy Fn) {
  817   static void RegisterMCDisassembler(Target &T,
  818                                      Target::MCDisassemblerCtorTy Fn) {
  831   static void RegisterMCInstPrinter(Target &T, Target::MCInstPrinterCtorTy Fn) {
  831   static void RegisterMCInstPrinter(Target &T, Target::MCInstPrinterCtorTy Fn) {
  844   static void RegisterMCCodeEmitter(Target &T, Target::MCCodeEmitterCtorTy Fn) {
  844   static void RegisterMCCodeEmitter(Target &T, Target::MCCodeEmitterCtorTy Fn) {
  848   static void RegisterCOFFStreamer(Target &T, Target::COFFStreamerCtorTy Fn) {
  848   static void RegisterCOFFStreamer(Target &T, Target::COFFStreamerCtorTy Fn) {
  852   static void RegisterMachOStreamer(Target &T, Target::MachOStreamerCtorTy Fn) {
  852   static void RegisterMachOStreamer(Target &T, Target::MachOStreamerCtorTy Fn) {
  856   static void RegisterELFStreamer(Target &T, Target::ELFStreamerCtorTy Fn) {
  856   static void RegisterELFStreamer(Target &T, Target::ELFStreamerCtorTy Fn) {
  860   static void RegisterWasmStreamer(Target &T, Target::WasmStreamerCtorTy Fn) {
  860   static void RegisterWasmStreamer(Target &T, Target::WasmStreamerCtorTy Fn) {
  864   static void RegisterNullTargetStreamer(Target &T,
  865                                          Target::NullTargetStreamerCtorTy Fn) {
  869   static void RegisterAsmTargetStreamer(Target &T,
  870                                         Target::AsmTargetStreamerCtorTy Fn) {
  875   RegisterObjectTargetStreamer(Target &T,
  876                                Target::ObjectTargetStreamerCtorTy Fn) {
  889   static void RegisterMCRelocationInfo(Target &T,
  890                                        Target::MCRelocationInfoCtorTy Fn) {
  903   static void RegisterMCSymbolizer(Target &T, Target::MCSymbolizerCtorTy Fn) {
  903   static void RegisterMCSymbolizer(Target &T, Target::MCSymbolizerCtorTy Fn) {
  927   RegisterTarget(Target &T, const char *Name, const char *Desc,
  947   RegisterMCAsmInfo(Target &T) {
  967   RegisterMCAsmInfoFn(Target &T, Target::MCAsmInfoCtorFnTy Fn) {
  967   RegisterMCAsmInfoFn(Target &T, Target::MCAsmInfoCtorFnTy Fn) {
  981   RegisterMCInstrInfo(Target &T) {
  998   RegisterMCInstrInfoFn(Target &T, Target::MCInstrInfoCtorFnTy Fn) {
  998   RegisterMCInstrInfoFn(Target &T, Target::MCInstrInfoCtorFnTy Fn) {
 1012   RegisterMCInstrAnalysis(Target &T) {
 1031   RegisterMCInstrAnalysisFn(Target &T, Target::MCInstrAnalysisCtorFnTy Fn) {
 1031   RegisterMCInstrAnalysisFn(Target &T, Target::MCInstrAnalysisCtorFnTy Fn) {
 1045   RegisterMCRegInfo(Target &T) {
 1064   RegisterMCRegInfoFn(Target &T, Target::MCRegInfoCtorFnTy Fn) {
 1064   RegisterMCRegInfoFn(Target &T, Target::MCRegInfoCtorFnTy Fn) {
 1078   RegisterMCSubtargetInfo(Target &T) {
 1098   RegisterMCSubtargetInfoFn(Target &T, Target::MCSubtargetInfoCtorFnTy Fn) {
 1098   RegisterMCSubtargetInfoFn(Target &T, Target::MCSubtargetInfoCtorFnTy Fn) {
 1112   RegisterTargetMachine(Target &T) {
 1118   Allocator(const Target &T, const Triple &TT, StringRef CPU, StringRef FS,
 1133   RegisterMCAsmBackend(Target &T) {
 1138   static MCAsmBackend *Allocator(const Target &T, const MCSubtargetInfo &STI,
 1154   RegisterMCAsmParser(Target &T) {
 1175   RegisterAsmPrinter(Target &T) {
 1195   RegisterMCCodeEmitter(Target &T) {
include/llvm/Target/TargetMachine.h
   67   TargetMachine(const Target &T, StringRef DataLayoutString,
   72   const Target &TheTarget;
  109   const Target &getTarget() const { return TheTarget; }
  325   LLVMTargetMachine(const Target &T, StringRef DataLayoutString,
lib/Bitcode/Writer/BitcodeWriter.cpp
 4390     const Target *T = TargetRegistry::lookupTarget(TT.str(), Err);
lib/CodeGen/LLVMTargetMachine.cpp
   76 LLVMTargetMachine::LLVMTargetMachine(const Target &T,
lib/DebugInfo/DWARF/DWARFContext.cpp
 1839   const Target *TheTarget =
lib/ExecutionEngine/TargetSelect.cpp
   48   const Target *TheTarget = nullptr;
lib/LTO/LTOBackend.cpp
  128 createTargetMachine(Config &Conf, const Target *TheTarget, Module &M) {
  358   const Target *T = &TM->getTarget();
  401 Expected<const Target *> initAndLookupTarget(Config &C, Module &Mod) {
  408   const Target *T = TargetRegistry::lookupTarget(Mod.getTargetTriple(), Msg);
  431   Expected<const Target *> TOrErr = initAndLookupTarget(C, *Mod);
  486   Expected<const Target *> TOrErr = initAndLookupTarget(Conf, Mod);
lib/LTO/LTOModule.cpp
  208   const Target *march = TargetRegistry::lookupTarget(TripleStr, errMsg);
lib/LTO/ThinLTOCodeGenerator.cpp
  545   const Target *TheTarget =
lib/MC/MCDisassembler/Disassembler.cpp
   52   const Target *TheTarget = TargetRegistry::lookupTarget(TT, Error);
lib/MC/MCDisassembler/Disassembler.h
   60   const Target *TheTarget;
   88                     const Target *TheTarget,
  108   const Target *getTarget() const { return TheTarget; }
lib/Object/ELFObjectFile.cpp
  386   const auto *T = TargetRegistry::lookupTarget(Triple.str(), Err);
lib/Object/ModuleSymbolTable.cpp
   79   const Target *T = TargetRegistry::lookupTarget(TT.str(), Err);
lib/Support/TargetRegistry.cpp
   18 static Target *FirstTarget = nullptr;
   24 const Target *TargetRegistry::lookupTarget(const std::string &ArchName,
   30   const Target *TheTarget = nullptr;
   62 const Target *TargetRegistry::lookupTarget(const std::string &TT,
   88 void TargetRegistry::RegisterTarget(Target &T, const char *Name,
   91                                     Target::ArchMatchFnTy ArchMatchFn,
  112 static int TargetArraySortFn(const std::pair<StringRef, const Target *> *LHS,
  113                              const std::pair<StringRef, const Target *> *RHS) {
  118   std::vector<std::pair<StringRef, const Target*> > Targets;
  120   for (const auto &T : TargetRegistry::targets()) {
lib/Target/AArch64/AArch64TargetMachine.cpp
  258 AArch64TargetMachine::AArch64TargetMachine(const Target &T, const Triple &TT,
  332     const Target &T, const Triple &TT, StringRef CPU, StringRef FS,
  340     const Target &T, const Triple &TT, StringRef CPU, StringRef FS,
lib/Target/AArch64/AArch64TargetMachine.h
   31   AArch64TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   61   AArch64leTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   73   AArch64beTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
  245 static MCDisassembler *createAArch64Disassembler(const Target &T,
lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
   39   AArch64AsmBackend(const Target &T, const Triple &TT, bool IsLittleEndian)
  541   DarwinAArch64AsmBackend(const Target &T, const Triple &TT,
  704   ELFAArch64AsmBackend(const Target &T, const Triple &TT, uint8_t OSABI,
  720   COFFAArch64AsmBackend(const Target &T, const Triple &TheTriple)
  730 MCAsmBackend *llvm::createAArch64leAsmBackend(const Target &T,
  751 MCAsmBackend *llvm::createAArch64beAsmBackend(const Target &T,
lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  370   for (Target *T : {&getTheAArch64leTarget(), &getTheAArch64beTarget(),
  408   for (Target *T : {&getTheAArch64leTarget(), &getTheAArch64_32Target(),
lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
   42 MCAsmBackend *createAArch64leAsmBackend(const Target &T,
   46 MCAsmBackend *createAArch64beAsmBackend(const Target &T,
lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
   13 Target &llvm::getTheAArch64leTarget() {
   14   static Target TheAArch64leTarget;
   17 Target &llvm::getTheAArch64beTarget() {
   18   static Target TheAArch64beTarget;
   21 Target &llvm::getTheAArch64_32Target() {
   22   static Target TheAArch64leTarget;
   25 Target &llvm::getTheARM64Target() {
   26   static Target TheARM64Target;
   29 Target &llvm::getTheARM64_32Target() {
   30   static Target TheARM64_32Target;
lib/Target/AArch64/TargetInfo/AArch64TargetInfo.h
   16 Target &getTheAArch64leTarget();
   17 Target &getTheAArch64beTarget();
   18 Target &getTheAArch64_32Target();
   19 Target &getTheARM64Target();
   20 Target &getTheARM64_32Target();
lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  353 AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, const Triple &TT,
  458 R600TargetMachine::R600TargetMachine(const Target &T, const Triple &TT,
  502 GCNTargetMachine::GCNTargetMachine(const Target &T, const Triple &TT,
lib/Target/AMDGPU/AMDGPUTargetMachine.h
   43   AMDGPUTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   74   R600TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   99   GCNTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
 1259 static MCDisassembler *createAMDGPUDisassembler(const Target &T,
lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
   30   AMDGPUAsmBackend(const Target &T) : MCAsmBackend(support::little) {}
  206   ELFAMDGPUAsmBackend(const Target &T, const Triple &TT, uint8_t ABIVersion) :
  234 MCAsmBackend *llvm::createAMDGPUAsmBackend(const Target &T,
lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
  141   for (Target *T : {&getTheAMDGPUTarget(), &getTheGCNTarget()}) {
lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
   45 MCAsmBackend *createAMDGPUAsmBackend(const Target &T,
lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
   20 Target &llvm::getTheAMDGPUTarget() {
   21   static Target TheAMDGPUTarget;
   25 Target &llvm::getTheGCNTarget() {
   26   static Target TheGCNTarget;
lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.h
   22 Target &getTheAMDGPUTarget();
   25 Target &getTheGCNTarget();
lib/Target/ARC/ARCTargetMachine.cpp
   30 ARCTargetMachine::ARCTargetMachine(const Target &T, const Triple &TT,
lib/Target/ARC/ARCTargetMachine.h
   28   ARCTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/ARC/Disassembler/ARCDisassembler.cpp
  362 static MCDisassembler *createARCDisassembler(const Target &T,
lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp
   87   Target &TheARCTarget = getTheARCTarget();
lib/Target/ARC/TargetInfo/ARCTargetInfo.cpp
   14 Target &llvm::getTheARCTarget() {
   15   static Target TheARCTarget;
lib/Target/ARC/TargetInfo/ARCTargetInfo.h
   16 Target &getTheARCTarget();
lib/Target/ARM/ARMTargetMachine.cpp
  207 ARMBaseTargetMachine::ARMBaseTargetMachine(const Target &T, const Triple &TT,
  303 ARMLETargetMachine::ARMLETargetMachine(const Target &T, const Triple &TT,
  311 ARMBETargetMachine::ARMBETargetMachine(const Target &T, const Triple &TT,
lib/Target/ARM/ARMTargetMachine.h
   42   ARMBaseTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   79   ARMLETargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   89   ARMBETargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  571 static MCDisassembler *createARMDisassembler(const Target &T,
lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
 1309 static MCAsmBackend *createARMAsmBackend(const Target &T,
 1332 MCAsmBackend *llvm::createARMLEAsmBackend(const Target &T,
 1339 MCAsmBackend *llvm::createARMBEAsmBackend(const Target &T,
lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
   27   ARMAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
   21   ARMAsmBackendDarwin(const Target &T, const MCSubtargetInfo &STI,
lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h
   22   ARMAsmBackendELF(const Target &T, const MCSubtargetInfo &STI, uint8_t OSABI,
lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
   19   ARMAsmBackendWinCOFF(const Target &T, const MCSubtargetInfo &STI)
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  320   for (Target *T : {&getTheARMLETarget(), &getTheARMBETarget(),
  357   for (Target *T : {&getTheARMLETarget(), &getTheARMBETarget()})
  359   for (Target *T : {&getTheThumbLETarget(), &getTheThumbBETarget()})
  362   for (Target *T : {&getTheARMLETarget(), &getTheThumbLETarget()}) {
  366   for (Target *T : {&getTheARMBETarget(), &getTheThumbBETarget()}) {
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
   67 MCAsmBackend *createARMLEAsmBackend(const Target &T, const MCSubtargetInfo &STI,
   71 MCAsmBackend *createARMBEAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
   13 Target &llvm::getTheARMLETarget() {
   14   static Target TheARMLETarget;
   17 Target &llvm::getTheARMBETarget() {
   18   static Target TheARMBETarget;
   21 Target &llvm::getTheThumbLETarget() {
   22   static Target TheThumbLETarget;
   25 Target &llvm::getTheThumbBETarget() {
   26   static Target TheThumbBETarget;
lib/Target/ARM/TargetInfo/ARMTargetInfo.h
   16 Target &getTheARMLETarget();
   17 Target &getTheARMBETarget();
   18 Target &getTheThumbLETarget();
   19 Target &getTheThumbBETarget();
lib/Target/AVR/AVRTargetMachine.cpp
   43 AVRTargetMachine::AVRTargetMachine(const Target &T, const Triple &TT,
lib/Target/AVR/AVRTargetMachine.h
   30   AVRTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/AVR/Disassembler/AVRDisassembler.cpp
   48 static MCDisassembler *createAVRDisassembler(const Target &T,
lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h
   43 MCAsmBackend *createAVRAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp
   12 Target &getTheAVRTarget() {
   13   static Target TheAVRTarget;
lib/Target/AVR/TargetInfo/AVRTargetInfo.h
   15 Target &getTheAVRTarget();
lib/Target/BPF/BPFTargetMachine.cpp
   56 BPFTargetMachine::BPFTargetMachine(const Target &T, const Triple &TT,
lib/Target/BPF/BPFTargetMachine.h
   25   BPFTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/BPF/Disassembler/BPFDisassembler.cpp
   80 static MCDisassembler *createBPFDisassembler(const Target &T,
lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
  101   for (Target *T :
lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h
   43 MCAsmBackend *createBPFAsmBackend(const Target &T, const MCSubtargetInfo &STI,
   46 MCAsmBackend *createBPFbeAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
   14 Target &llvm::getTheBPFleTarget() {
   15   static Target TheBPFleTarget;
   18 Target &llvm::getTheBPFbeTarget() {
   19   static Target TheBPFbeTarget;
   22 Target &llvm::getTheBPFTarget() {
   23   static Target TheBPFTarget;
lib/Target/BPF/TargetInfo/BPFTargetInfo.h
   16 Target &getTheBPFleTarget();
   17 Target &getTheBPFbeTarget();
   18 Target &getTheBPFTarget();
lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
  155 static MCDisassembler *createHexagonDisassembler(const Target &T,
lib/Target/Hexagon/HexagonTargetMachine.cpp
  204 HexagonTargetMachine::HexagonTargetMachine(const Target &T, const Triple &TT,
lib/Target/Hexagon/HexagonTargetMachine.h
   30   HexagonTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
   61   HexagonAsmBackend(const Target &T, const Triple &TT, uint8_t OSABI,
  765 MCAsmBackend *llvm::createHexagonAsmBackend(Target const &T,
lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
   88 MCAsmBackend *createHexagonAsmBackend(const Target &T,
lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp
   13 Target &llvm::getTheHexagonTarget() {
   14   static Target TheHexagonTarget;
lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.h
   16 Target &getTheHexagonTarget();
lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
   30 Target &getTheLanaiTarget();
   33 static MCDisassembler *createLanaiDisassembler(const Target & /*T*/,
lib/Target/Lanai/LanaiTargetMachine.cpp
   56 LanaiTargetMachine::LanaiTargetMachine(const Target &T, const Triple &TT,
lib/Target/Lanai/LanaiTargetMachine.h
   32   LanaiTargetMachine(const Target &TheTarget, const Triple &TargetTriple,
lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h
   38 MCAsmBackend *createLanaiAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp
   14 Target &llvm::getTheLanaiTarget() {
   15   static Target TheLanaiTarget;
lib/Target/Lanai/TargetInfo/LanaiTargetInfo.h
   16 Target &getTheLanaiTarget();
lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
   59 static MCDisassembler *createMSP430Disassembler(const Target &T,
lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
   61   Target &T = getTheMSP430Target();
lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h
   37 MCAsmBackend *createMSP430MCAsmBackend(const Target &T,
lib/Target/MSP430/MSP430TargetMachine.cpp
   40 MSP430TargetMachine::MSP430TargetMachine(const Target &T, const Triple &TT,
lib/Target/MSP430/MSP430TargetMachine.h
   30   MSP430TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp
   13 Target &llvm::getTheMSP430Target() {
   14   static Target TheMSP430Target;
lib/Target/MSP430/TargetInfo/MSP430TargetInfo.h
   16 Target &getTheMSP430Target();
lib/Target/Mips/Disassembler/MipsDisassembler.cpp
  552                        const Target &T,
  559                        const Target &T,
lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
   35   MipsAsmBackend(const Target &T, const MCRegisterInfo &MRI, const Triple &TT,
lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
  170   for (Target *T : {&getTheMipsTarget(), &getTheMipselTarget(),
  207   for (Target *T : {&getTheMipsTarget(), &getTheMips64Target()})
  210   for (Target *T : {&getTheMipselTarget(), &getTheMips64elTarget()})
lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
   42 MCAsmBackend *createMipsAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/Mips/MipsTargetMachine.cpp
  110 MipsTargetMachine::MipsTargetMachine(const Target &T, const Triple &TT,
  139 MipsebTargetMachine::MipsebTargetMachine(const Target &T, const Triple &TT,
  149 MipselTargetMachine::MipselTargetMachine(const Target &T, const Triple &TT,
lib/Target/Mips/MipsTargetMachine.h
   40   MipsTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   76   MipsebTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   88   MipselTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
   13 Target &llvm::getTheMipsTarget() {
   14   static Target TheMipsTarget;
   17 Target &llvm::getTheMipselTarget() {
   18   static Target TheMipselTarget;
   21 Target &llvm::getTheMips64Target() {
   22   static Target TheMips64Target;
   25 Target &llvm::getTheMips64elTarget() {
   26   static Target TheMips64elTarget;
lib/Target/Mips/TargetInfo/MipsTargetInfo.h
   16 Target &getTheMipsTarget();
   17 Target &getTheMipselTarget();
   18 Target &getTheMips64Target();
   19 Target &getTheMips64elTarget();
lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
   70   for (Target *T : {&getTheNVPTXTarget32(), &getTheNVPTXTarget64()}) {
lib/Target/NVPTX/NVPTXTargetMachine.cpp
  107 NVPTXTargetMachine::NVPTXTargetMachine(const Target &T, const Triple &TT,
  134 NVPTXTargetMachine32::NVPTXTargetMachine32(const Target &T, const Triple &TT,
  144 NVPTXTargetMachine64::NVPTXTargetMachine64(const Target &T, const Triple &TT,
lib/Target/NVPTX/NVPTXTargetMachine.h
   38   NVPTXTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   78   NVPTXTargetMachine32(const Target &T, const Triple &TT, StringRef CPU,
   87   NVPTXTargetMachine64(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp
   13 Target &llvm::getTheNVPTXTarget32() {
   14   static Target TheNVPTXTarget32;
   17 Target &llvm::getTheNVPTXTarget64() {
   18   static Target TheNVPTXTarget64;
lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h
   16 Target &getTheNVPTXTarget32();
   17 Target &getTheNVPTXTarget64();
lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
   42 static MCDisassembler *createPPCDisassembler(const Target &T,
   48 static MCDisassembler *createPPCLEDisassembler(const Target &T,
lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
   82   PPCAsmBackend(const Target &T, const Triple &TT)
  205   DarwinPPCAsmBackend(const Target &T, const Triple &TT)
  220   ELFPPCAsmBackend(const Target &T, const Triple &TT) : PPCAsmBackend(T, TT) {}
  234   XCOFFPPCAsmBackend(const Target &T, const Triple &TT)
  256 MCAsmBackend *llvm::createPPCAsmBackend(const Target &T,
lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
  290   for (Target *T :
lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
   43 MCAsmBackend *createPPCAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/PowerPC/PPCTargetMachine.cpp
  294 PPCTargetMachine::PPCTargetMachine(const Target &T, const Triple &TT,
lib/Target/PowerPC/PPCTargetMachine.h
   35   PPCTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
   13 Target &llvm::getThePPC32Target() {
   14   static Target ThePPC32Target;
   17 Target &llvm::getThePPC64Target() {
   18   static Target ThePPC64Target;
   21 Target &llvm::getThePPC64LETarget() {
   22   static Target ThePPC64LETarget;
lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.h
   16 Target &getThePPC32Target();
   17 Target &getThePPC64Target();
   18 Target &getThePPC64LETarget();
lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
   46 static MCDisassembler *createRISCVDisassembler(const Target &T,
lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
   97   for (Target *T : {&getTheRISCV32Target(), &getTheRISCV64Target()}) {
lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
   39 MCAsmBackend *createRISCVAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/RISCV/RISCVTargetMachine.cpp
   57 RISCVTargetMachine::RISCVTargetMachine(const Target &T, const Triple &TT,
lib/Target/RISCV/RISCVTargetMachine.h
   28   RISCVTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
   13 Target &llvm::getTheRISCV32Target() {
   14   static Target TheRISCV32Target;
   18 Target &llvm::getTheRISCV64Target() {
   19   static Target TheRISCV64Target;
lib/Target/RISCV/TargetInfo/RISCVTargetInfo.h
   16 Target &getTheRISCV32Target();
   17 Target &getTheRISCV64Target();
lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
   44 static MCDisassembler *createSparcDisassembler(const Target &T,
lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
  119     const Target &TheTarget;
  123     SparcAsmBackend(const Target &T)
  295     ELFSparcAsmBackend(const Target &T, Triple::OSType OSType) :
  326 MCAsmBackend *llvm::createSparcAsmBackend(const Target &T,
lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
  100   for (Target *T :
lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h
   38 MCAsmBackend *createSparcAsmBackend(const Target &T, const MCSubtargetInfo &STI,
lib/Target/Sparc/SparcTargetMachine.cpp
   93     const Target &T, const Triple &TT, StringRef CPU, StringRef FS,
  192 SparcV8TargetMachine::SparcV8TargetMachine(const Target &T, const Triple &TT,
  202 SparcV9TargetMachine::SparcV9TargetMachine(const Target &T, const Triple &TT,
  212 SparcelTargetMachine::SparcelTargetMachine(const Target &T, const Triple &TT,
lib/Target/Sparc/SparcTargetMachine.h
   28   SparcTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   49   SparcV8TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   60   SparcV9TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
   70   SparcelTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
   13 Target &llvm::getTheSparcTarget() {
   14   static Target TheSparcTarget;
   17 Target &llvm::getTheSparcV9Target() {
   18   static Target TheSparcV9Target;
   21 Target &llvm::getTheSparcelTarget() {
   22   static Target TheSparcelTarget;
lib/Target/Sparc/TargetInfo/SparcTargetInfo.h
   16 Target &getTheSparcTarget();
   17 Target &getTheSparcV9Target();
   18 Target &getTheSparcelTarget();
lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
   43 static MCDisassembler *createSystemZDisassembler(const Target &T,
lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
   88 MCAsmBackend *createSystemZMCAsmBackend(const Target &T,
lib/Target/SystemZ/SystemZTargetMachine.cpp
  146 SystemZTargetMachine::SystemZTargetMachine(const Target &T, const Triple &TT,
lib/Target/SystemZ/SystemZTargetMachine.h
   32   SystemZTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp
   14 Target &llvm::getTheSystemZTarget() {
   15   static Target TheSystemZTarget;
lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.h
   16 Target &getTheSystemZTarget();
lib/Target/TargetMachineC.cpp
   37 static Target *unwrap(LLVMTargetRef P) {
   43 static LLVMTargetRef wrap(const Target * P) {
   52   const Target *target = &*TargetRegistry::targets().begin();
  157   const Target* target = &(unwrap(T)->getTarget());
lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
   62 static MCDisassembler *createWebAssemblyDisassembler(const Target &T,
lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
   70 static MCAsmBackend *createAsmBackend(const Target & /*T*/,
  100   for (Target *T :
lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
   20 Target &llvm::getTheWebAssemblyTarget32() {
   21   static Target TheWebAssemblyTarget32;
   24 Target &llvm::getTheWebAssemblyTarget64() {
   25   static Target TheWebAssemblyTarget64;
lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
   21 Target &getTheWebAssemblyTarget32();
   22 Target &getTheWebAssemblyTarget64();
lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
  108     const Target &T, const Triple &TT, StringRef CPU, StringRef FS,
lib/Target/WebAssembly/WebAssemblyTargetMachine.h
   28   WebAssemblyTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/X86/Disassembler/X86Disassembler.cpp
  840 static MCDisassembler *createX86Disassembler(const Target &T,
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
  559   for (Target *T : {&getTheX86_32Target(), &getTheX86_64Target()}) {
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
   75 MCAsmBackend *createX86_32AsmBackend(const Target &T,
   79 MCAsmBackend *createX86_64AsmBackend(const Target &T,
lib/Target/X86/TargetInfo/X86TargetInfo.cpp
   13 Target &llvm::getTheX86_32Target() {
   14   static Target TheX86_32Target;
   17 Target &llvm::getTheX86_64Target() {
   18   static Target TheX86_64Target;
lib/Target/X86/TargetInfo/X86TargetInfo.h
   16 Target &getTheX86_32Target();
   17 Target &getTheX86_64Target();
lib/Target/X86/X86TargetMachine.cpp
  214 X86TargetMachine::X86TargetMachine(const Target &T, const Triple &TT,
lib/Target/X86/X86TargetMachine.h
   35   X86TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
  771 static MCDisassembler *createXCoreDisassembler(const Target &T,
lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp
   13 Target &llvm::getTheXCoreTarget() {
   14   static Target TheXCoreTarget;
lib/Target/XCore/TargetInfo/XCoreTargetInfo.h
   16 Target &getTheXCoreTarget();
lib/Target/XCore/XCoreTargetMachine.cpp
   46 XCoreTargetMachine::XCoreTargetMachine(const Target &T, const Triple &TT,
lib/Target/XCore/XCoreTargetMachine.h
   31   XCoreTargetMachine(const Target &T, const Triple &TT, StringRef CPU,
tools/clang/lib/CodeGen/BackendUtil.cpp
  759   const llvm::Target *TheTarget = TargetRegistry::lookupTarget(Triple, Error);
tools/clang/lib/Parse/ParseStmtAsm.cpp
  552   const llvm::Target *TheTarget = nullptr;
tools/clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
  105   const Target *TheTarget = TargetRegistry::lookupTarget(MArch, ModuleTriple, E);
tools/clang/tools/driver/cc1_main.cpp
  175   const llvm::Target *TheTarget =
tools/clang/tools/driver/cc1as_main.cpp
  332   const Target *TheTarget = TargetRegistry::lookupTarget(Opts.Triple, Error);
tools/clang/unittests/Tooling/ToolingTest.cpp
  516   for (const auto &Target : llvm::TargetRegistry::targets()) {
tools/dsymutil/DwarfStreamer.cpp
   53   const Target *TheTarget =
tools/llc/llc.cpp
  428   const Target *TheTarget = TargetRegistry::lookupTarget(MArch, TheTriple,
tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
  933   const llvm::Target *curr_target =
tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
   66   const llvm::Target *target =
tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
   66   const llvm::Target *target =
tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
   88   const llvm::Target *target_info =
tools/lldb/source/Target/ABI.cpp
  219   const llvm::Target *target =
tools/llvm-cfi-verify/lib/FileAnalysis.h
  202   const Target *ObjectTarget = nullptr;
tools/llvm-dwp/llvm-dwp.cpp
  668   const Target *TheTarget =
tools/llvm-exegesis/lib/Analysis.cpp
  154 Analysis::Analysis(const Target &Target, std::unique_ptr<MCInstrInfo> InstrInfo,
tools/llvm-exegesis/lib/Analysis.h
   39   Analysis(const Target &Target, std::unique_ptr<MCInstrInfo> InstrInfo,
tools/llvm-exegesis/lib/LlvmState.cpp
   27   const Target *const TheTarget = TargetRegistry::lookupTarget(Triple, Error);
tools/llvm-exegesis/llvm-exegesis.cpp
  343   const auto *TheTarget =
tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
  135   const Target *TheTarget =
tools/llvm-jitlink/llvm-jitlink.cpp
  677   const Target *TheTarget = TargetRegistry::lookupTarget("", S.TT, ErrorStr);
tools/llvm-mc/Disassembler.cpp
  133 int Disassembler::disassemble(const Target &T, const std::string &Triple,
tools/llvm-mc/Disassembler.h
   32   static int disassemble(const Target &T, const std::string &Triple,
tools/llvm-mc/llvm-mc.cpp
  192 static const Target *GetTarget(const char *ProgName) {
  200   const Target *TheTarget = TargetRegistry::lookupTarget(ArchName, TheTriple,
  280 static int AssembleInput(const char *ProgName, const Target *TheTarget,
  326   const Target *TheTarget = GetTarget(ProgName);
tools/llvm-mca/CodeRegionGenerator.h
   48   const Target &TheTarget;
   56   AsmCodeRegionGenerator(const Target &T, SourceMgr &SM, MCContext &C,
tools/llvm-mca/llvm-mca.cpp
  218 const Target *getTarget(const char *ProgName) {
  225   const Target *TheTarget =
  308   const Target *TheTarget = getTarget(ProgName);
tools/llvm-objdump/MachODump.cpp
  198 static const Target *GetTarget(const MachOObjectFile *MachOObj,
  200                                const Target **ThumbTarget) {
  219   const Target *TheTarget = TargetRegistry::lookupTarget(TripleName, Error);
 7186   const Target *ThumbTarget = nullptr;
 7187   const Target *TheTarget = GetTarget(MachOOF, &McpuDefault, &ThumbTarget);
tools/llvm-objdump/llvm-objdump.cpp
  466 static const Target *getTarget(const ObjectFile *Obj) {
  480   const Target *TheTarget = TargetRegistry::lookupTarget(ArchName, TheTriple,
 1113 static void disassembleObject(const Target *TheTarget, const ObjectFile *Obj,
 1528   const Target *TheTarget = getTarget(Obj);
tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
  215   const Target *TheTarget =
tools/llvm-rtdyld/llvm-rtdyld.cpp
  737   const Target *TheTarget =
tools/opt/opt.cpp
  467   const Target *TheTarget = TargetRegistry::lookupTarget(MArch, TheTriple,
tools/sancov/sancov.cpp
  710   const Target *TheTarget = TargetRegistry::lookupTarget(TripleName, Error);
unittests/CodeGen/AArch64SelectionDAGTest.cpp
   36     const Target *T = TargetRegistry::lookupTarget("", TargetTriple, Error);
unittests/CodeGen/GlobalISel/GISelMITest.h
   60   const Target *T = TargetRegistry::lookupTarget("", TargetTriple, Error);
unittests/CodeGen/TargetOptionsTest.cpp
   34   const Target *T = TargetRegistry::lookupTarget("", TargetTriple, Error);
unittests/DebugInfo/DWARF/DwarfGenerator.cpp
  398   const Target *TheTarget =
unittests/ExecutionEngine/JITLink/JITLinkTestCommon.h
   59     const Target *TheTarget = nullptr;
unittests/MC/DwarfLineTables.cpp
   36     const Target *TheTarget = TargetRegistry::lookupTarget(Triple, Error);
unittests/MC/MCInstPrinter.cpp
   36     const Target *TheTarget =
unittests/MC/TargetRegistry.cpp
   28   for (const Target &T : TargetRegistry::targets()) {
unittests/MI/LiveIntervalTest.cpp
   41   const Target *T = TargetRegistry::lookupTarget("", TargetTriple, Error);
unittests/Target/AArch64/InstSizes.cpp
   23   const Target *TheTarget = TargetRegistry::lookupTarget(TT, Error);
unittests/Target/ARM/MachineInstrTest.cpp
  473   const Target *T = TargetRegistry::lookupTarget(TT, Error);
unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
   34   const Target *TheTarget = TargetRegistry::lookupTarget(TT, Error);
unittests/Target/X86/MachineSizeOptsTest.cpp
   32   const Target *TheTarget = TargetRegistry::lookupTarget(TT, Error);
unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp
   57   const Target *Target_;
unittests/tools/llvm-exegesis/Common/AssemblerUtils.h
   65     const Target *TheTarget = TargetRegistry::lookupTarget(TT, Error);
unittests/tools/llvm-exegesis/PowerPC/AnalysisTest.cpp
   31     const Target *const TheTarget = TargetRegistry::lookupTarget(TT, error);
unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp
   49   const Target *Target_;
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  123       typedef _Tp        value_type;