Home
last modified time | relevance | path

Searched refs:TM (Results 1 – 25 of 618) sorted by relevance

12345678910>>...25

/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DTargetLoweringObjectFileImpl.h47 void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
64 const TargetMachine &TM) const override;
67 const TargetMachine &TM) const override;
70 const TargetMachine &TM) const override;
72 const TargetMachine &TM) const override;
77 const TargetMachine &TM) const override;
81 const TargetMachine &TM) const override;
90 const TargetMachine &TM,
96 const TargetMachine &TM,
107 const TargetMachine &TM) const override;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineModuleInfo.cpp58 : TM(std::move(MMI.TM)), in MachineModuleInfo()
59 Context(TM.getTargetTriple(), TM.getMCAsmInfo(), TM.getMCRegisterInfo(), in MachineModuleInfo()
60 TM.getMCSubtargetInfo(), nullptr, &TM.Options.MCOptions, false), in MachineModuleInfo()
62 Context.setObjectFileInfo(TM.getObjFileLowering()); in MachineModuleInfo()
69 MachineModuleInfo::MachineModuleInfo(const LLVMTargetMachine *TM) in MachineModuleInfo() argument
70 : TM(*TM), Context(TM->getTargetTriple(), TM->getMCAsmInfo(), in MachineModuleInfo()
71 TM->getMCRegisterInfo(), TM->getMCSubtargetInfo(), in MachineModuleInfo()
72 nullptr, &TM->Options.MCOptions, false) { in MachineModuleInfo()
73 Context.setObjectFileInfo(TM->getObjFileLowering()); in MachineModuleInfo()
77 MachineModuleInfo::MachineModuleInfo(const LLVMTargetMachine *TM, in MachineModuleInfo() argument
[all …]
H A DPseudoSourceValue.cpp27 PseudoSourceValue::PseudoSourceValue(unsigned Kind, const TargetMachine &TM) in PseudoSourceValue() argument
29 AddressSpace = TM.getAddressSpaceForPseudoSourceKind(Kind); in PseudoSourceValue()
82 const TargetMachine &TM) in CallEntryPseudoSourceValue() argument
83 : PseudoSourceValue(Kind, TM) {} in CallEntryPseudoSourceValue()
98 const GlobalValue *GV, const TargetMachine &TM) in GlobalValuePseudoSourceValue() argument
99 : CallEntryPseudoSourceValue(GlobalValueCallEntry, TM), GV(GV) {} in GlobalValuePseudoSourceValue()
101 const char *ES, const TargetMachine &TM) in ExternalSymbolPseudoSourceValue() argument
102 : CallEntryPseudoSourceValue(ExternalSymbolCallEntry, TM), ES(ES) {} in ExternalSymbolPseudoSourceValue()
105 : TM(TMInfo), StackPSV(PseudoSourceValue::Stack, TM), in PseudoSourceValueManager()
106 GOTPSV(PseudoSourceValue::GOT, TM), in PseudoSourceValueManager()
[all …]
H A DTargetLoweringObjectFileImpl.cpp351 TM->getFunctionSections() ? Name->getString() : StringRef()); in emitModuleMetadata()
404 const GlobalValue *GV, const TargetMachine &TM, in getCFIPersonalitySymbol() argument
409 TM.getSymbol(GV)->getName()); in getCFIPersonalitySymbol()
411 return TM.getSymbol(GV); in getCFIPersonalitySymbol()
438 const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM, in getTTypeGlobalReference() argument
443 MCSymbol *SSym = getSymbolWithGlobalValueBase(GV, ".DW.stub", TM); in getTTypeGlobalReference()
449 MCSymbol *Sym = TM.getSymbol(GV); in getTTypeGlobalReference()
458 return TargetLoweringObjectFile::getTTypeGlobalReference(GV, Encoding, TM, in getTTypeGlobalReference()
581 const TargetMachine &TM) { in getLinkedToSymbol() argument
588 return OtherGV ? dyn_cast<MCSymbolELF>(TM.getSymbol(OtherGV)) : nullptr; in getLinkedToSymbol()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPU.h61 createAMDGPULowerModuleLDSLegacyPass(const AMDGPUTargetMachine *TM = nullptr);
73 AMDGPUImageIntrinsicOptimizerPass(TargetMachine &TM) : TM(TM) {} in AMDGPUImageIntrinsicOptimizerPass()
77 TargetMachine &TM;
134 const AMDGPUTargetMachine &TM; member
135 AMDGPULowerModuleLDSPass(const AMDGPUTargetMachine &TM_) : TM(TM_) {} in AMDGPULowerModuleLDSPass()
145 AMDGPULowerBufferFatPointersPass(const TargetMachine &TM) : TM(TM) {} in AMDGPULowerBufferFatPointersPass()
149 const TargetMachine &TM;
228 AMDGPUPromoteAllocaPass(TargetMachine &TM) : TM(TM) {} in AMDGPUPromoteAllocaPass()
232 TargetMachine &TM;
237 AMDGPUPromoteAllocaToVectorPass(TargetMachine &TM) : TM(TM) {} in AMDGPUPromoteAllocaToVectorPass()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsTargetObjectFile.cpp45 void MipsTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM){ in Initialize() argument
46 TargetLoweringObjectFileELF::Initialize(Ctx, TM); in Initialize()
55 this->TM = &static_cast<const MipsTargetMachine &>(TM); in Initialize()
70 const GlobalObject *GO, const TargetMachine &TM) const { in IsGlobalInSmallSection()
75 return IsGlobalInSmallSectionImpl(GO, TM); in IsGlobalInSmallSection()
77 return IsGlobalInSmallSection(GO, TM, getKindForGlobal(GO, TM)); in IsGlobalInSmallSection()
83 IsGlobalInSmallSection(const GlobalObject *GO, const TargetMachine &TM, in IsGlobalInSmallSection() argument
85 return IsGlobalInSmallSectionImpl(GO, TM) && in IsGlobalInSmallSection()
95 const TargetMachine &TM) const { in IsGlobalInSmallSectionImpl()
97 *static_cast<const MipsTargetMachine &>(TM).getSubtargetImpl(); in IsGlobalInSmallSectionImpl()
[all …]
H A DMipsTargetObjectFile.h19 const MipsTargetMachine *TM; variable
21 bool IsGlobalInSmallSection(const GlobalObject *GO, const TargetMachine &TM,
24 const TargetMachine &TM) const;
27 void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
32 const TargetMachine &TM) const;
35 const TargetMachine &TM) const override;
39 const TargetMachine &TM) const;
H A DMipsSubtarget.cpp72 bool little, const MipsTargetMachine &TM, in MipsSubtarget() argument
86 StackAlignOverride(StackAlignOverride), TM(TM), TargetTriple(TT), in MipsSubtarget()
88 initializeSubtargetDependencies(CPU, FS, TM))), in MipsSubtarget()
90 TLInfo(MipsTargetLowering::create(TM, *this)) { in MipsSubtarget()
156 if (NoABICalls && TM.isPositionIndependent()) in MipsSubtarget()
159 if (isABI_N64() && !TM.isPositionIndependent() && !hasSym32()) in MipsSubtarget()
220 InstSelector.reset(createMipsInstructionSelector(TM, *this, *RBI)); in MipsSubtarget()
224 return TM.isPositionIndependent(); in isPositionIndependent()
242 const TargetMachine &TM) { in initializeSubtargetDependencies() argument
243 StringRef CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU); in initializeSubtargetDependencies()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/
H A DLanaiTargetObjectFile.cpp29 const TargetMachine &TM) { in Initialize() argument
30 TargetLoweringObjectFileELF::Initialize(Ctx, TM); in Initialize()
50 const GlobalObject *GO, const TargetMachine &TM) const { in isGlobalInSmallSection()
51 if (GO == nullptr) return TM.getCodeModel() == CodeModel::Small; in isGlobalInSmallSection()
57 return isGlobalInSmallSectionImpl(GO, TM); in isGlobalInSmallSection()
59 return isGlobalInSmallSection(GO, TM, getKindForGlobal(GO, TM)); in isGlobalInSmallSection()
65 const TargetMachine &TM, in isGlobalInSmallSection() argument
67 return isGlobalInSmallSectionImpl(GO, TM); in isGlobalInSmallSection()
74 const GlobalObject *GO, const TargetMachine &TM) const { in isGlobalInSmallSectionImpl()
78 if (!GVA) return TM.getCodeModel() == CodeModel::Small; in isGlobalInSmallSectionImpl()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/
H A DTargetLoweringObjectFile.h68 const TargetMachine *TM = nullptr; variable
82 virtual void Initialize(MCContext &ctx, const TargetMachine &TM);
84 virtual void emitPersonalityValue(MCStreamer &Streamer, const DataLayout &TM,
105 const TargetMachine &TM) const;
109 const TargetMachine &TM) const;
114 const TargetMachine &TM);
120 const TargetMachine &TM) const;
126 const TargetMachine &TM) const;
130 const TargetMachine &TM) const;
133 const TargetMachine &TM) const;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetObjectFile.cpp32 const TargetMachine &TM) { in Initialize() argument
33 const ARMBaseTargetMachine &ARM_TM = static_cast<const ARMBaseTargetMachine &>(TM); in Initialize()
38 TargetLoweringObjectFileELF::Initialize(Ctx, TM); in Initialize()
77 const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM, in getTTypeGlobalReference() argument
79 if (TM.getMCAsmInfo()->getExceptionHandlingType() != ExceptionHandling::ARM) in getTTypeGlobalReference()
81 GV, Encoding, TM, MMI, Streamer); in getTTypeGlobalReference()
85 return MCSymbolRefExpr::create(TM.getSymbol(GV), in getTTypeGlobalReference()
96 const TargetMachine &TM) { in isExecuteOnlyFunction() argument
98 if (TM.getSubtarget<ARMSubtarget>(*F).genExecuteOnly() && SK.isText()) in isExecuteOnlyFunction()
104 const GlobalObject *GO, SectionKind SK, const TargetMachine &TM) const { in getExplicitSectionGlobal()
[all …]
H A DARMSubtarget.cpp91 const ARMBaseTargetMachine &TM, bool IsLittle, in ARMSubtarget() argument
95 IsLittle(IsLittle), TargetTriple(TT), Options(TM.Options), TM(TM), in ARMSubtarget()
104 TLInfo(TM, *this) { in ARMSubtarget()
114 InstSelector.reset(createARMInstructionSelector(TM, *this, *RBI)); in ARMSubtarget()
147 assert((!TM.getMCAsmInfo() || in initializeEnvironment()
148 (TM.getMCAsmInfo()->getExceptionHandlingType() == in initializeEnvironment()
323 bool ARMSubtarget::isTargetHardFloat() const { return TM.isTargetHardFloat(); } in isTargetHardFloat()
326 assert(TM.TargetABI != ARMBaseTargetMachine::ARM_ABI_UNKNOWN); in isAPCS_ABI()
327 return TM.TargetABI == ARMBaseTargetMachine::ARM_ABI_APCS; in isAPCS_ABI()
330 assert(TM.TargetABI != ARMBaseTargetMachine::ARM_ABI_UNKNOWN); in isAAPCS_ABI()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/
H A DTargetLoweringObjectFile.cpp41 const TargetMachine &TM) { in Initialize() argument
45 initMCObjectFileInfo(ctx, TM.isPositionIndependent(), in Initialize()
46 TM.getCodeModel() == CodeModel::Large); in Initialize()
52 this->TM = &TM; in Initialize()
128 const GlobalValue *GV, StringRef Suffix, const TargetMachine &TM) const { in getSymbolWithGlobalValueBase()
133 TM.getNameWithPrefix(NameStr, GV, *Mang); in getSymbolWithGlobalValueBase()
139 const GlobalValue *GV, const TargetMachine &TM, in getCFIPersonalitySymbol() argument
141 return TM.getSymbol(GV); in getCFIPersonalitySymbol()
175 return TM->getSymbol(F); in emitCGProfileMetadata()
201 const TargetMachine &TM){ in getKindForGlobal() argument
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonTargetObjectFile.cpp113 const TargetMachine &TM) { in Initialize() argument
114 TargetLoweringObjectFileELF::Initialize(Ctx, TM); in Initialize()
127 const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const { in SelectSectionForGlobal()
145 return selectSectionForLookupTable(GO, TM, Fn); in SelectSectionForGlobal()
148 if (isGlobalInSmallSection(GO, TM)) in SelectSectionForGlobal()
149 return selectSmallSectionForGlobal(GO, Kind, TM); in SelectSectionForGlobal()
161 return TargetLoweringObjectFileELF::SelectSectionForGlobal(GO, Kind, TM); in SelectSectionForGlobal()
165 const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const { in getExplicitSectionGlobal()
188 if (isGlobalInSmallSection(GO, TM)) in getExplicitSectionGlobal()
189 return selectSmallSectionForGlobal(GO, Kind, TM); in getExplicitSectionGlobal()
[all …]
H A DHexagonTargetObjectFile.h20 void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
23 const TargetMachine &TM) const override;
27 const TargetMachine &TM) const override;
30 const TargetMachine &TM) const;
32 bool isSmallDataEnabled(const TargetMachine &TM) const;
46 const TargetMachine &TM) const;
50 const TargetMachine &TM) const;
53 const TargetMachine &TM,
/freebsd/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/
H A DCompileUtils.h41 SimpleCompiler(TargetMachine &TM, ObjectCache *ObjCache = nullptr)
42 : IRCompiler(irManglingOptionsFromTargetOptions(TM.Options)), TM(TM),
53 manglingOptionsForTargetMachine(const TargetMachine &TM);
58 TargetMachine &TM; variable
68 TMOwningSimpleCompiler(std::unique_ptr<TargetMachine> TM,
70 : SimpleCompiler(*TM, ObjCache), TM(std::move(TM)) {}
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kSubtarget.cpp52 const M68kTargetMachine &TM) in M68kSubtarget() argument
53 : M68kGenSubtargetInfo(TT, CPU, /*TuneCPU*/ CPU, FS), TM(TM), TSInfo(), in M68kSubtarget()
54 InstrInfo(initializeSubtargetDependencies(CPU, TT, FS, TM)), in M68kSubtarget()
55 FrameLowering(*this, this->getStackAlignment()), TLInfo(TM, *this), in M68kSubtarget()
62 InstSelector.reset(createM68kInstructionSelector(TM, *this, *RBI)); in M68kSubtarget()
82 return TM.isPositionIndependent(); in isPositionIndependent()
88 StringRef CPU, Triple TT, StringRef FS, const M68kTargetMachine &TM) { in initializeSubtargetDependencies() argument
151 switch (TM.getCodeModel()) { in classifyLocalReference()
178 if (TM.shouldAssumeDSOLocal(nullptr)) in classifyExternalReference()
194 if (TM.shouldAssumeDSOLocal(GV)) in classifyGlobalReference()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetObjectFile.cpp25 const TargetMachine &TM) { in Initialize() argument
26 TargetLoweringObjectFileELF::Initialize(Ctx, TM); in Initialize()
47 const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM, in getTTypeGlobalReference() argument
54 const MCSymbol *Sym = TM.getSymbol(GV); in getTTypeGlobalReference()
64 GV, Encoding, TM, MMI, Streamer); in getTTypeGlobalReference()
68 const GlobalValue *GV, const TargetMachine &TM, in getCFIPersonalitySymbol() argument
70 return TM.getSymbol(GV); in getCFIPersonalitySymbol()
90 const TargetMachine &TM) const { in getNameWithPrefix()
98 MCContext &Ctx, const TargetMachine &TM, MachineModuleInfo *MMI, in getAuthPtrSlotSymbolHelper() argument
122 const TargetMachine &TM, MachineModuleInfo *MMI, const MCSymbol *RawSym, in getAuthPtrSlotSymbol() argument
[all …]
H A DAArch64TargetMachine.cpp494 AArch64PassConfig(AArch64TargetMachine &TM, PassManagerBase &PM) in AArch64PassConfig() argument
495 : TargetPassConfig(TM, PM) { in AArch64PassConfig()
496 if (TM.getOptLevel() != CodeGenOptLevel::None) in AArch64PassConfig()
575 return getStandardCSEConfigForOpt(TM->getOptLevel()); in getCSEConfig()
585 TM->getOptLevel() == CodeGenOptLevel::Aggressive) in addIRPasses()
591 if (TM->getOptLevel() != CodeGenOptLevel::None && EnableAtomicTidy) in addIRPasses()
604 if (TM->getOptLevel() != CodeGenOptLevel::None) { in addIRPasses()
631 /*IsOptNone=*/TM->getOptLevel() == CodeGenOptLevel::None)); in addIRPasses()
634 if (TM->getOptLevel() >= CodeGenOptLevel::Default) in addIRPasses()
635 addPass(createComplexDeinterleavingPass(TM)); in addIRPasses()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/
H A DWholeProgramDevirt.h121 VirtualCallTarget(GlobalValue *Fn, const TypeMemberInfo *TM);
124 VirtualCallTarget(const TypeMemberInfo *TM, bool IsBigEndian) in VirtualCallTarget()
125 : Fn(nullptr), TM(TM), IsBigEndian(IsBigEndian), WasDevirt(false) {} in VirtualCallTarget()
132 const TypeMemberInfo *TM; member
148 uint64_t minBeforeBytes() const { return TM->Offset; } in minBeforeBytes()
155 uint64_t minAfterBytes() const { return TM->Bits->ObjectSize - TM->Offset; } in minAfterBytes()
160 return minBeforeBytes() + TM->Bits->Before.Bytes.size(); in allocatedBeforeBytes()
166 return minAfterBytes() + TM->Bits->After.Bytes.size(); in allocatedAfterBytes()
172 TM->Bits->Before.setBit(Pos - 8 * minBeforeBytes(), RetVal); in setBeforeBit()
178 TM->Bits->After.setBit(Pos - 8 * minAfterBytes(), RetVal); in setAfterBit()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86Subtarget.cpp73 CodeModel::Model CM = TM.getCodeModel(); in classifyLocalReference()
95 return TM.isLargeGlobalValue(GV) ? X86II::MO_GOTOFF : X86II::MO_NO_FLAG; in classifyLocalReference()
128 if (TM.getCodeModel() == CodeModel::Large && !isPositionIndependent()) in classifyGlobalReference()
144 if (TM.shouldAssumeDSOLocal(GV)) in classifyGlobalReference()
163 if (TM.getCodeModel() == CodeModel::Large) in classifyGlobalReference()
181 if (TM.getRelocationModel() == Reloc::Static) in classifyGlobalReference()
194 if (TM.shouldAssumeDSOLocal(GV)) in classifyGlobalFunctionReference()
223 if (!is64Bit() && !GV && TM.getRelocationModel() == Reloc::Static) in classifyGlobalFunctionReference()
247 return isTargetELF() || TM.getRelocationModel() == Reloc::Static; in isLegalToCallImmediateAddr()
324 StringRef FS, const X86TargetMachine &TM, in X86Subtarget() argument
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCSubtarget.cpp57 const PPCTargetMachine &TM) in PPCSubtarget() argument
61 TM(TM), FrameLowering(initializeSubtargetDependencies(CPU, TuneCPU, FS)), in PPCSubtarget()
62 InstrInfo(*this), TLInfo(TM, *this) { in PPCSubtarget()
68 InstSelector.reset(createPPCInstructionSelector(TM, *this, *RBI)); in PPCSubtarget()
121 IsLittleEndian = TM.isLittleEndian(); in initSubtargetFeatures()
134 if (!TM.getDataSections()) in initSubtargetFeatures()
197 if (TM.getCodeModel() == CodeModel::Large) in isGVIndirectSymbol()
200 if (TM.shouldAssumeDSOLocal(GV)) in isGVIndirectSymbol()
205 CodeModel::Model PPCSubtarget::getCodeModel(const TargetMachine &TM, in getCodeModel() argument
209 CodeModel::Model ModuleModel = TM.getCodeModel(); in getCodeModel()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Passes/
H A DCodeGenPassBuilder.h121 explicit CodeGenPassBuilder(TargetMachineT &TM, in CodeGenPassBuilder() argument
124 : TM(TM), Opt(Opts), PIC(PIC) { in CodeGenPassBuilder()
131 TM.Options.EnableIPRA = *Opt.EnableIPRA; in CodeGenPassBuilder()
134 TM.Options.GlobalISelAbort = *Opt.EnableGlobalISelAbort; in CodeGenPassBuilder()
257 TargetMachineT &TM; variable
261 template <typename TMC> TMC &getTM() const { return static_cast<TMC &>(TM); } in getTM()
262 CodeGenOptLevel getOptLevel() const { return TM.getOptLevel(); } in getOptLevel()
268 return TM.Options.GlobalISelAbort == GlobalISelAbortMode::Enable; in isGlobalISelAbortEnabled()
275 return TM.Options.GlobalISelAbort == GlobalISelAbortMode::DisableWithDiag; in reportDiagnosticWhenGlobalISelFallback()
552 return this->TM.createMCStreamer(Out, DwoOut, FileType, Ctx); in buildPipeline()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/LTO/
H A DUpdateCompilerUsed.cpp30 const TargetMachine &TM, in PreserveLibCallsAndAsmUsed() argument
32 : AsmUndefinedRefs(AsmUndefinedRefs), TM(TM), LLVMUsed(LLVMUsed) {} in PreserveLibCallsAndAsmUsed()
47 const TargetMachine &TM; member in __anon4c61787d0111::PreserveLibCallsAndAsmUsed
60 TargetLibraryInfoImpl TLII(Triple(TM.getTargetTriple())); in initializeLibCalls()
76 TM.getSubtargetImpl(F)->getTargetLowering(); in initializeLibCalls()
115 TM.getNameWithPrefix(Buffer, &GV, Mangler); in findLibCallsAndAsm()
123 void llvm::updateCompilerUsed(Module &TheModule, const TargetMachine &TM, in updateCompilerUsed() argument
126 PreserveLibCallsAndAsmUsed(AsmUndefinedRefs, TM, UsedValues) in updateCompilerUsed()
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/GISel/
H A DM68kInstructionSelector.cpp28 M68kInstructionSelector(const M68kTargetMachine &TM, const M68kSubtarget &STI,
37 const M68kTargetMachine &TM; member in __anond52f76870111::M68kInstructionSelector
58 const M68kTargetMachine &TM, const M68kSubtarget &STI, in M68kInstructionSelector() argument
60 : InstructionSelector(), TM(TM), TII(*STI.getInstrInfo()), in M68kInstructionSelector()
85 createM68kInstructionSelector(const M68kTargetMachine &TM, in createM68kInstructionSelector() argument
88 return new M68kInstructionSelector(TM, Subtarget, RBI); in createM68kInstructionSelector()

12345678910>>...25