Home
last modified time | relevance | path

Searched refs:LI (Results 1 – 25 of 581) sorted by relevance

12345678910>>...24

/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DAMDGPULateCodeGenPrepare.cpp78 bool visitLoadInst(LoadInst &LI);
105 unsigned AS = LI.getPointerAddressSpace(); in canWidenScalarExtLoad()
111 if (!LI.isSimple()) in canWidenScalarExtLoad()
113 auto *Ty = LI.getType(); in canWidenScalarExtLoad()
125 return DA->isUniform(&LI); in canWidenScalarExtLoad()
134 if (LI.getAlign() >= 4) in visitLoadInst()
137 if (!canWidenScalarExtLoad(LI)) in visitLoadInst()
152 LI.setAlignment(Align(4)); in visitLoadInst()
156 IRBuilder<> IRB(&LI); in visitLoadInst()
172 NewLd->copyMetadata(LI); in visitLoadInst()
[all …]
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DLiveIntervalCalc.cpp54 unsigned Reg = LI.reg(); in calculate()
65 if (!LI.hasSubRanges() && !LI.empty()) { in calculate()
67 LI.createSubRangeFrom(*Alloc, ClassMask, LI); in calculate()
70 LI.refineSubRanges( in calculate()
87 LI.removeEmptySubRanges(); in calculate()
93 if (LI.hasSubRanges()) { in calculate()
99 LI.clear(); in calculate()
100 constructMainRangeFromSubranges(LI); in calculate()
109 LiveRange &MainRange = LI; in constructMainRangeFromSubranges()
121 extendToUses(MainRange, LI.reg(), LaneBitmask::getAll(), &LI); in constructMainRangeFromSubranges()
[all …]
H A DCalcSpillWeights.cpp84 Register Reg = LI.reg(); in isRematerializable()
86 for (LiveInterval::const_vni_iterator I = LI.vni_begin(), E = LI.vni_end(); in isRematerializable()
141 float Weight = weightCalcHelper(LI); in calculateSpillWeightAndHint()
145 LI.setWeight(Weight); in calculateSpillWeightAndHint()
162 if (LI.isSpillable()) { in weightCalcHelper()
163 Register Reg = LI.reg(); in weightCalcHelper()
170 LI.markNotSpillable(); in weightCalcHelper()
174 bool IsSpillable = LI.isSpillable(); in weightCalcHelper()
235 LI.markNotSpillable(); in weightCalcHelper()
279 MRI.clearSimpleHint(LI.reg()); in weightCalcHelper()
[all …]
H A DRenameIndependentSubregs.cpp124 if (LI.valnos.size() < 2) in INITIALIZE_PASS_DEPENDENCY()
133 unsigned Reg = LI.reg(); in INITIALIZE_PASS_DEPENDENCY()
136 Intervals.push_back(&LI); in INITIALIZE_PASS_DEPENDENCY()
157 LiveInterval &LI) const { in findComponents()
178 unsigned Reg = LI.reg(); in findComponents()
307 unsigned Reg = LI.reg(); in computeMainRangesFixFlags()
309 LI.removeEmptySubRanges(); in computeMainRangesFixFlags()
367 LI.clear(); in computeMainRangesFixFlags()
373 LIS->shrinkToUses(&LI); in computeMainRangesFixFlags()
398 if (!LI.hasSubRanges()) in runOnMachineFunction()
[all …]
H A DLiveRangeEdit.cpp41 LI.markNotSpillable(); in createEmptyIntervalFrom()
49 LI.createSubRange(Alloc, S.LaneMask); in createEmptyIntervalFrom()
51 return LI; in createEmptyIntervalFrom()
263 if (LI.Query(Idx).isKill()) in useIsKill()
346 ToShrink.insert(&LI); in eliminateDeadDef()
354 LIS.removeVRegDefAt(LI, Idx); in eliminateDeadDef()
355 if (LI.empty()) in eliminateDeadDef()
440 if (foldAsLoad(LI, Dead)) in eliminateDeadDefs()
442 unsigned VReg = LI->reg(); in eliminateDeadDefs()
445 if (!LIS.shrinkToUses(LI, &Dead)) in eliminateDeadDefs()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DFixIrreducible.cpp141 if (LI.getLoopFor(BB) != Child) in INITIALIZE_PASS_DEPENDENCY()
143 LI.changeLoopFor(BB, NewLoop); in INITIALIZE_PASS_DEPENDENCY()
153 LI.destroy(Child); in INITIALIZE_PASS_DEPENDENCY()
205 auto NewLoop = LI.AllocateLoop(); in createNaturalLoopInternal()
209 LI.addTopLevelLoop(NewLoop); in createNaturalLoopInternal()
228 LI.changeLoopFor(BB, NewLoop); in createNaturalLoopInternal()
243 LI.verify(DT); in createNaturalLoopInternal()
324 Changed |= makeReducible(LI, DT, &F); in FixIrreducibleImpl()
328 append_range(WorkList, LI); in FixIrreducibleImpl()
346 return FixIrreducibleImpl(F, LI, DT); in runOnFunction()
[all …]
H A DPromoteMemoryToRegister.cpp69 if (LI->isVolatile() || LI->getType() != AI->getAllocatedType()) in isAllocaPromotable()
306 LoadNotNull->insertAfter(LI); in addAssumeNonNull()
401 if (ReplVal == LI) in rewriteSingleStoreAlloca()
409 addAssumeNonNull(AC, LI); in rewriteSingleStoreAlloca()
412 LI->eraseFromParent(); in rewriteSingleStoreAlloca()
413 LBI.deleteValue(LI); in rewriteSingleStoreAlloca()
481 if (!LI) in promoteSingleBlockAlloca()
510 addAssumeNonNull(AC, LI); in promoteSingleBlockAlloca()
514 if (ReplVal == LI) in promoteSingleBlockAlloca()
518 LI->eraseFromParent(); in promoteSingleBlockAlloca()
[all …]
H A DMatrixUtils.cpp26 LoopInfo &LI) { in CreateLoop() argument
60 L->addBasicBlockToLoop(Header, LI); in CreateLoop()
61 L->addBasicBlockToLoop(Body, LI); in CreateLoop()
62 L->addBasicBlockToLoop(Latch, LI); in CreateLoop()
72 LoopInfo &LI) { in CreateTiledLoops() argument
73 Loop *ColumnLoopInfo = LI.AllocateLoop(); in CreateTiledLoops()
74 Loop *RowLoopInfo = LI.AllocateLoop(); in CreateTiledLoops()
75 Loop *KLoopInfo = LI.AllocateLoop(); in CreateTiledLoops()
78 if (Loop *ParentL = LI.getLoopFor(Start)) in CreateTiledLoops()
81 LI.addTopLevelLoop(ColumnLoopInfo); in CreateTiledLoops()
[all …]
H A DLCSSA.cpp100 Loop *L = LI.getLoopFor(InstBB); in formLCSSAForInstructions()
197 if (auto *OtherLoop = LI.getLoopFor(ExitBB)) in formLCSSAForInstructions()
368 if (LI->getLoopFor(BB) != &L) in formLCSSA()
412 Changed |= formLCSSA(L, DT, LI, SE); in formLCSSARecursively()
420 for (auto &L : *LI) in formLCSSAOnAllLoops()
421 Changed |= formLCSSARecursively(*L, DT, LI, SE); in formLCSSAOnAllLoops()
434 LoopInfo *LI; member
444 assert(all_of(*LI, in verifyAnalysis()
495 return formLCSSAOnAllLoops(LI, *DT, SE); in runOnFunction()
499 auto &LI = AM.getResult<LoopAnalysis>(F); in run() local
[all …]
H A DLoopSimplify.cpp280 Loop *NewOuter = LI->AllocateLoop(); in separateNestedLoop()
286 LI->changeTopLevelLoop(L, NewOuter); in separateNestedLoop()
324 if ((*LI)[BB] == L) { in separateNestedLoop()
343 formLCSSA(*L, *DT, LI, SE); in separateNestedLoop()
466 L->addBasicBlockToLoop(BEBlock, *LI); in insertUniqueBackedgeBlock()
679 LI->removeBlock(ExitingBlock); in simplifyOneLoop()
723 assert(LI && "LI not available."); in simplifyLoop()
819 for (auto *L : *LI) in runOnFunction()
825 *LI, [&](Loop *L) { return L->isRecursivelyLCSSAForm(*DT, *LI); }); in runOnFunction()
849 for (auto *L : *LI) in run()
[all …]
/llvm-project-15.0.7/llvm/tools/llvm-diff/lib/
H A DDifferenceEngine.cpp218 ++LI; in diff()
225 for (LI = L->begin(), RI = R->begin(); LI != LE; ++LI, ++RI) in diff()
622 LI != LE && RI != RE; ++LI, ++RI) in diff()
675 for (BasicBlock::const_iterator LI = LStart; LI != LE; ++LI, ++Index) { in runBlockDiff() local
712 unify(&*LI, &*RI); in runBlockDiff()
714 ++LI; in runBlockDiff()
727 ++LI; ++RI; in runBlockDiff()
733 ++LI; in runBlockDiff()
746 while (LI != LE) { in runBlockDiff()
748 unify(&*LI, &*RI); in runBlockDiff()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp474 NewTy, NewPtr, LI.getAlign(), LI.isVolatile(), LI.getName() + Suffix); in combineLoadToNewType()
475 NewLoad->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in combineLoadToNewType()
584 if (LI.use_empty()) in combineLoadToOperationType()
938 Op, DL.getPrefTypeAlign(LI.getType()), DL, &LI, &AC, &DT); in visitLoadInst()
945 return &LI; in visitLoadInst()
960 LI, Builder.CreateBitOrPointerCast(AvailableVal, LI.getType(), in visitLoadInst()
979 return replaceInstUsesWith(LI, PoisonValue::get(LI.getType())); in visitLoadInst()
1008 V1->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in visitLoadInst()
1010 V2->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in visitLoadInst()
1306 if (!all_of(LI->users(), [LI, LoadAddr](User *U) { in removeBitcastsFromLoadStoreOnMinMax()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/
H A DMachineLoopInfo.h92 LoopInfoBase<MachineBasicBlock, MachineLoop> LI; variable
121 inline iterator end() const { return LI.end(); } in end()
122 bool empty() const { return LI.empty(); } in empty()
127 return LI.getLoopFor(BB); in getLoopFor()
132 return LI.getLoopFor(BB);
137 return LI.getLoopDepth(BB); in getLoopDepth()
142 return LI.isLoopHeader(BB); in isLoopHeader()
161 LI.changeLoopFor(BB, L); in changeLoopFor()
167 LI.changeTopLevelLoop(OldLoop, NewLoop); in changeTopLevelLoop()
172 LI.addTopLevelLoop(New); in addTopLevelLoop()
[all …]
/llvm-project-15.0.7/llvm/unittests/Transforms/Utils/
H A DLoopUtilsTest.cpp31 ScalarEvolution &SE, LoopInfo &LI)> in run()
38 LoopInfo LI(DT); in run() local
39 ScalarEvolution SE(*F, TLI, AC, DT, LI); in run()
40 Test(*F, DT, SE, LI); in run()
73 [&](Function &F, DominatorTree &DT, ScalarEvolution &SE, LoopInfo &LI) { in TEST() argument
74 assert(LI.begin() != LI.end() && "Expecting loops in function F"); in TEST()
75 Loop *L = *LI.begin(); in TEST()
78 deleteDeadLoop(L, &DT, &SE, &LI); in TEST()
82 LI.verify(DT); in TEST()
83 assert(LI.begin() == LI.end() && in TEST()
/llvm-project-15.0.7/llvm/lib/Target/NVPTX/
H A DNVPTXLowerAggrCopies.cpp71 if (LoadInst *LI = dyn_cast<LoadInst>(&I)) { in runOnFunction() local
72 if (!LI->hasOneUse()) in runOnFunction()
75 if (DL.getTypeStoreSize(LI->getType()) < MaxAggrCopySize) in runOnFunction()
79 if (SI->getOperand(0) != LI) in runOnFunction()
81 AggrLoads.push_back(LI); in runOnFunction()
104 for (LoadInst *LI : AggrLoads) { in runOnFunction()
105 auto *SI = cast<StoreInst>(*LI->user_begin()); in runOnFunction()
106 Value *SrcAddr = LI->getOperand(0); in runOnFunction()
108 unsigned NumLoads = DL.getTypeStoreSize(LI->getType()); in runOnFunction()
115 /* SrcAlign */ LI->getAlign(), in runOnFunction()
[all …]
/llvm-project-15.0.7/llvm/unittests/CodeGen/GlobalISel/
H A DLegalizerInfoTest.cpp252 LegalizerInfo LI; in TEST() local
268 LegalizerInfo LI; in TEST() local
281 LegalizerInfo LI; in TEST() local
294 LegalizerInfo LI; in TEST() local
311 LegalizerInfo LI; in TEST() local
325 LegalizerInfo LI; in TEST() local
339 LegalizerInfo LI; in TEST() local
357 LegalizerInfo LI; in TEST() local
374 LegalizerInfo LI; in TEST() local
392 LegalizerInfo LI; in TEST() local
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DLoopSimplifyCFG.cpp95 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor()
114 LoopInfo &LI; member in __anon5fa539ba0111::ConstantTerminatorFoldingImpl
206 DFS.perform(&LI); in analyze()
403 LI.addTopLevelLoop(&L); in handleDeadExits()
447 if (LI.isLoopHeader(BB)) { in deleteDeadLoopBlocks()
449 Loop *DL = LI.getLoopFor(BB); in deleteDeadLoopBlocks()
455 LI.addTopLevelLoop(DL); in deleteDeadLoopBlocks()
457 LI.erase(DL); in deleteDeadLoopBlocks()
465 LI.removeBlock(BB); in deleteDeadLoopBlocks()
531 : L(L), LI(LI), DT(DT), SE(SE), MSSAU(MSSAU), DFS(&L), in ConstantTerminatorFoldingImpl()
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/
H A Dmi-peepholes-trap-opt.mir54 %0:gprc = LI 3
55 %1:gprc = LI 0
70 %0:gprc = LI 3
71 %1:gprc = LI 0
86 %0:gprc = LI 3
87 %1:gprc = LI 3
101 %0:gprc = LI 3
102 %1:gprc = LI 3
117 %0:gprc = LI 3
118 %1:gprc = LI 5
[all …]
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DSyncDependenceAnalysis.cpp165 auto *NestedLoop = LI.getLoopFor(NextBB); in computeStackPO()
186 computeLoopPO(LI, *NestedLoop, CallBack, Finalized); in computeStackPO()
218 computeStackPO(Stack, LI, nullptr, CallBack, Finalized); in computeTopLevelPO()
241 computeStackPO(Stack, LI, &Loop, CallBack, Finalized); in computeLoopPO()
253 : DT(DT), PDT(PDT), LI(LI) { in SyncDependenceAnalysis()
254 computeTopLevelPO(*DT.getRoot()->getParent(), LI, in SyncDependenceAnalysis()
265 const LoopInfo &LI; member
281 : LoopPOT(LoopPOT), DT(DT), PDT(PDT), LI(LI), DivTermBlock(DivTermBlock), in DivergencePropagator()
352 const auto *DivBlockLoop = LI.getLoopFor(&DivTermBlock); in computeJoinPoints()
373 const auto *BlockLoop = LI.getLoopFor(SuccBlock); in computeJoinPoints()
[all …]
H A DCFG.cpp129 const Loop *L = LI->getLoopFor(BB); in getOutermostLoop()
136 const LoopInfo *LI) { in isPotentiallyReachableFromMany() argument
151 if (LI && ExclusionSet) { in isPotentiallyReachableFromMany()
153 if (const Loop *L = getOutermostLoop(LI, BB)) in isPotentiallyReachableFromMany()
158 const Loop *StopLoop = LI ? getOutermostLoop(LI, StopBB) : nullptr; in isPotentiallyReachableFromMany()
174 if (LI) { in isPotentiallyReachableFromMany()
175 Outer = getOutermostLoop(LI, BB); in isPotentiallyReachableFromMany()
210 const LoopInfo *LI) { in isPotentiallyReachable() argument
235 const LoopInfo *LI) { in isPotentiallyReachable() argument
249 if (LI && LI->getLoopFor(BB) != nullptr) in isPotentiallyReachable()
[all …]
H A DMemDerefPrinter.cpp55 if (LoadInst *LI = dyn_cast<LoadInst>(&I)) { in runOnFunction() local
56 Value *PO = LI->getPointerOperand(); in runOnFunction()
57 if (isDereferenceablePointer(PO, LI->getType(), DL)) in runOnFunction()
59 if (isDereferenceableAndAlignedPointer(PO, LI->getType(), LI->getAlign(), in runOnFunction()
90 if (LoadInst *LI = dyn_cast<LoadInst>(&I)) { in run() local
91 Value *PO = LI->getPointerOperand(); in run()
92 if (isDereferenceablePointer(PO, LI->getType(), DL)) in run()
94 if (isDereferenceableAndAlignedPointer(PO, LI->getType(), LI->getAlign(), in run()
/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DLoopInfoTest.cpp29 LoopInfo LI(DT); in runWithLoopInfo() local
30 Test(*F, LI); in runWithLoopInfo()
44 LoopInfo LI(DT); in runWithLoopInfoPlus() local
46 Test(*F, LI, SE); in runWithLoopInfoPlus()
85 Loop *L = LI.getLoopFor(Header); in TEST()
135 Loop *L = LI.getLoopFor(Header); in TEST()
188 LoopInfo LI; in TEST() local
189 LI.analyze(DT); in TEST()
194 Loop &L_0 = *LI.getLoopFor(&*I++); in TEST()
202 Loop &L_1 = *LI.getLoopFor(&*I++); in TEST()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp81 bool extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT);
170 LoopInfo &LI = LookupLoopInfo(F); in runOnFunction() local
173 if (LI.empty()) in runOnFunction()
180 if (std::next(LI.begin()) != LI.end()) in runOnFunction()
181 return Changed | extractLoops(LI.begin(), LI.end(), LI, DT); in runOnFunction()
184 Loop *TLL = *LI.begin(); in runOnFunction()
210 return Changed | extractLoop(TLL, LI, DT); in runOnFunction()
217 return Changed | extractLoops(TLL->begin(), TLL->end(), LI, DT); in runOnFunction()
221 LoopInfo &LI, DominatorTree &DT) { in extractLoops() argument
232 Changed |= extractLoop(L, LI, DT); in extractLoops()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DLoopAnalysisManager.h55 LoopInfo &LI; member
88 explicit Result(LoopAnalysisManager &InnerAM, LoopInfo &LI) in Result() argument
89 : InnerAM(&InnerAM), LI(&LI) {} in Result()
91 : InnerAM(std::move(Arg.InnerAM)), LI(Arg.LI), MSSAUsed(Arg.MSSAUsed) { in Result()
99 LI = RHS.LI;
137 LoopInfo *LI; variable
/llvm-project-15.0.7/llvm/lib/TableGen/
H A DStringMatcher.cpp112 for (const auto &LI : MatchesByLetter) { in EmitStringMatcherForChar() local
114 OS << Indent << "case '" << LI.first << "':\t // " << LI.second.size() in EmitStringMatcherForChar()
116 if (LI.second.size() != 1) in EmitStringMatcherForChar()
119 if (EmitStringMatcherForChar(LI.second, CharNo + 1, IndentCount + 1, in EmitStringMatcherForChar()
145 for (const auto &LI : MatchesByLength) { in Emit() local
147 << "case " << LI.first << ":\t // " << LI.second.size() << " string" in Emit()
148 << (LI.second.size() == 1 ? "" : "s") << " to match.\n"; in Emit()
149 if (EmitStringMatcherForChar(LI.second, 0, Indent, IgnoreDuplicates)) in Emit()

12345678910>>...24