| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULateCodeGenPrepare.cpp | 81 bool visitLoadInst(LoadInst &LI); 114 unsigned AS = LI.getPointerAddressSpace(); in canWidenScalarExtLoad() 120 if (!LI.isSimple()) in canWidenScalarExtLoad() 122 auto *Ty = LI.getType(); in canWidenScalarExtLoad() 134 return UA->isUniform(&LI); in canWidenScalarExtLoad() 143 if (LI.getAlign() >= 4) in visitLoadInst() 146 if (!canWidenScalarExtLoad(LI)) in visitLoadInst() 161 LI.setAlignment(Align(4)); in visitLoadInst() 165 IRBuilder<> IRB(&LI); in visitLoadInst() 177 NewLd->copyMetadata(LI); in visitLoadInst() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | LiveIntervalCalc.cpp | 53 Register Reg = LI.reg(); in calculate() 64 if (!LI.hasSubRanges() && !LI.empty()) { in calculate() 66 LI.createSubRangeFrom(*Alloc, ClassMask, LI); in calculate() 69 LI.refineSubRanges( in calculate() 86 LI.removeEmptySubRanges(); in calculate() 92 if (LI.hasSubRanges()) { in calculate() 98 LI.clear(); in calculate() 99 constructMainRangeFromSubranges(LI); in calculate() 108 LiveRange &MainRange = LI; in constructMainRangeFromSubranges() 120 extendToUses(MainRange, LI.reg(), LaneBitmask::getAll(), &LI); in constructMainRangeFromSubranges() [all …]
|
| H A D | CalcSpillWeights.cpp | 86 Register Reg = LI.reg(); in isRematerializable() 88 for (LiveInterval::const_vni_iterator I = LI.vni_begin(), E = LI.vni_end(); in isRematerializable() 143 float Weight = weightCalcHelper(LI); in calculateSpillWeightAndHint() 147 LI.setWeight(Weight); in calculateSpillWeightAndHint() 173 if (LI.isSpillable()) { in weightCalcHelper() 174 Register Reg = LI.reg(); in weightCalcHelper() 181 LI.markNotSpillable(); in weightCalcHelper() 256 LI.markNotSpillable(); in weightCalcHelper() 300 MRI.clearSimpleHint(LI.reg()); in weightCalcHelper() 329 !isLiveAtStatepointVarArg(LI) && !canMemFoldInlineAsm(LI, MRI)) { in weightCalcHelper() [all …]
|
| H A D | RenameIndependentSubregs.cpp | 124 if (LI.valnos.size() < 2) in INITIALIZE_PASS_DEPENDENCY() 133 Register Reg = LI.reg(); in INITIALIZE_PASS_DEPENDENCY() 136 Intervals.push_back(&LI); in INITIALIZE_PASS_DEPENDENCY() 157 LiveInterval &LI) const { in findComponents() 178 Register Reg = LI.reg(); in findComponents() 307 Register 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 D | LiveRangeEdit.cpp | 42 LI.markNotSpillable(); in createEmptyIntervalFrom() 50 LI.createSubRange(Alloc, S.LaneMask); in createEmptyIntervalFrom() 52 return LI; in createEmptyIntervalFrom() 270 if (LI.Query(Idx).isKill()) in useIsKill() 358 ToShrink.insert(&LI); in eliminateDeadDef() 366 LIS.removeVRegDefAt(LI, Idx); in eliminateDeadDef() 367 if (LI.empty()) in eliminateDeadDef() 451 if (foldAsLoad(LI, Dead)) in eliminateDeadDefs() 453 Register VReg = LI->reg(); in eliminateDeadDefs() 456 if (!LIS.shrinkToUses(LI, &Dead)) in eliminateDeadDefs() [all …]
|
| H A D | InterleavedAccessPass.cpp | 103 bool lowerInterleavedLoad(LoadInst *LI, 134 LoadInst *LI); 276 if (!LI->isSimple() || isa<ScalableVectorType>(LI->getType())) in lowerInterleavedLoad() 290 for (auto *User : LI->users()) { in lowerInterleavedLoad() 376 DeadInsts.push_back(LI); in lowerInterleavedLoad() 404 if (NewSVI1->getOperand(0) == LI) in replaceBinOpShuffles() 406 if (NewSVI2->getOperand(0) == LI) in replaceBinOpShuffles() 507 if (!LI || !LI->hasOneUse() || !LI->isSimple()) in lowerDeinterleaveIntrinsic() 513 if (!TLI->lowerDeinterleaveIntrinsicToLoad(DI, LI)) in lowerDeinterleaveIntrinsic() 518 DeadInsts.push_back(LI); in lowerDeinterleaveIntrinsic() [all …]
|
| H A D | LiveIntervals.cpp | 192 LICalc->calculate(LI, MRI->shouldTrackSubRegLiveness(LI.reg())); in computeVirtRegInterval() 515 Register VReg = LI.reg(); in computeDeadValues() 528 LI.removeSegment(I); in computeDeadValues() 695 if (LI.empty()) in addKillFlags() 714 for (LiveInterval::const_iterator RI = LI.begin(), RE = LI.end(); RI != RE; in addKillFlags() 899 if (LI.empty()) in checkRegMaskInterference() 901 LiveInterval::const_iterator LiveI = LI.begin(), LiveE = LI.end(); in checkRegMaskInterference() 1042 LI.clear(); in updateAllRanges() 1716 LI.removeValNo(VNI); in removeVRegDefAt() 1725 LI.removeEmptySubRanges(); in removeVRegDefAt() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | FixIrreducible.cpp | 138 if (LI.getLoopFor(BB) != Child) in INITIALIZE_PASS_DEPENDENCY() 140 LI.changeLoopFor(BB, NewLoop); in INITIALIZE_PASS_DEPENDENCY() 150 LI.destroy(Child); in INITIALIZE_PASS_DEPENDENCY() 202 auto NewLoop = LI.AllocateLoop(); in createNaturalLoopInternal() 206 LI.addTopLevelLoop(NewLoop); in createNaturalLoopInternal() 225 LI.changeLoopFor(BB, NewLoop); in createNaturalLoopInternal() 240 LI.verify(DT); in createNaturalLoopInternal() 323 Changed |= makeReducible(LI, DT, &F); in FixIrreducibleImpl() 327 append_range(WorkList, LI); in FixIrreducibleImpl() 345 return FixIrreducibleImpl(F, LI, DT); in runOnFunction() [all …]
|
| H A D | MatrixUtils.cpp | 26 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 D | LoopSimplify.cpp | 280 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() 465 L->addBasicBlockToLoop(BEBlock, *LI); in insertUniqueBackedgeBlock() 673 LI->removeBlock(ExitingBlock); in simplifyOneLoop() 711 assert(LI && "LI not available."); in simplifyLoop() 814 for (auto *L : *LI) in runOnFunction() 820 *LI, [&](Loop *L) { return L->isRecursivelyLCSSAForm(*DT, *LI); }); in runOnFunction() 844 for (auto *L : *LI) in run() [all …]
|
| H A D | LCSSA.cpp | 98 Loop *L = LI.getLoopFor(InstBB); in formLCSSAForInstructions() 200 if (auto *OtherLoop = LI.getLoopFor(ExitBB)) in formLCSSAForInstructions() 396 if (LI->getLoopFor(BB) != &L) in formLCSSA() 433 Changed |= formLCSSA(L, DT, LI, SE); in formLCSSARecursively() 441 for (const auto &L : *LI) in formLCSSAOnAllLoops() 442 Changed |= formLCSSARecursively(*L, DT, LI, SE); in formLCSSAOnAllLoops() 455 LoopInfo *LI; member 465 assert(all_of(*LI, in verifyAnalysis() 516 return formLCSSAOnAllLoops(LI, *DT, SE); in runOnFunction() 520 auto &LI = AM.getResult<LoopAnalysis>(F); in run() local [all …]
|
| H A D | PromoteMemoryToRegister.cpp | 70 if (LI->isVolatile() || LI->getType() != AI->getAllocatedType()) in isAllocaPromotable() 446 LoadNotNull->insertAfter(LI); in addAssumeNonNull() 462 addAssumeNonNull(AC, LI); in convertMetadataToAssumes() 557 if (ReplVal == LI) in rewriteSingleStoreAlloca() 562 LI->eraseFromParent(); in rewriteSingleStoreAlloca() 563 LBI.deleteValue(LI); in rewriteSingleStoreAlloca() 644 if (!LI) in promoteSingleBlockAlloca() 673 if (ReplVal == LI) in promoteSingleBlockAlloca() 677 LI->eraseFromParent(); in promoteSingleBlockAlloca() 678 LBI.deleteValue(LI); in promoteSingleBlockAlloca() [all …]
|
| H A D | UnifyLoopExits.cpp | 158 auto SL = LI.getLoopFor(S); in unifyLoopExits() 204 ParentLoop->addBasicBlockToLoop(G, LI); in unifyLoopExits() 210 LI.verify(DT); in unifyLoopExits() 216 static bool runImpl(LoopInfo &LI, DominatorTree &DT) { in runImpl() argument 219 auto Loops = LI.getLoopsInPreorder(); in runImpl() 222 << LI.getLoopDepth(L->getHeader()) << ")\n"); in runImpl() 223 Changed |= unifyLoopExits(DT, LI, L); in runImpl() 231 auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); in runOnFunction() local 236 return runImpl(LI, DT); in runOnFunction() 243 auto &LI = AM.getResult<LoopAnalysis>(F); in run() local [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/tools/llvm-diff/lib/ |
| H A D | DifferenceEngine.cpp | 327 ++LI; in diff() 334 for (LI = L->begin(), RI = R->begin(); LI != LE; ++LI, ++RI) in diff() 782 LI != LE && RI != RE; ++LI, ++RI) in diff() 836 for (BasicBlock::const_iterator LI = LStart; LI != LE; ++LI, ++Index) { in runBlockDiff() local 873 unify(&*LI, &*RI); in runBlockDiff() 875 ++LI; in runBlockDiff() 888 ++LI; ++RI; in runBlockDiff() 894 ++LI; in runBlockDiff() 907 while (LI != LE) { in runBlockDiff() 909 unify(&*LI, &*RI); in runBlockDiff() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | BasicBlockUtils.h | 97 LoopInfo *LI = nullptr, 112 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr); 148 LoopInfo *LI; member 160 LoopInfo *LI = nullptr, 163 : DT(DT), PDT(PDT), LI(LI), MSSAU(MSSAU) {} in DT() 284 LoopInfo *LI = nullptr, 288 LoopInfo *LI = nullptr, 345 LoopInfo *LI = nullptr, 366 LoopInfo *LI = nullptr, 384 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr, [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | MachineLoopInfo.h | 101 LoopInfoBase<MachineBasicBlock, MachineLoop> LI; variable 130 inline iterator end() const { return LI.end(); } in end() 131 bool empty() const { return LI.empty(); } in empty() 136 return LI.getLoopFor(BB); in getLoopFor() 141 return LI.getLoopFor(BB); 146 return LI.getLoopDepth(BB); in getLoopDepth() 151 return LI.isLoopHeader(BB); in isLoopHeader() 170 LI.changeLoopFor(BB, L); in changeLoopFor() 176 LI.changeTopLevelLoop(OldLoop, NewLoop); in changeTopLevelLoop() 181 LI.addTopLevelLoop(New); in addTopLevelLoop() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXLowerAggrCopies.cpp | 71 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 …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineLoadStoreAlloca.cpp | 569 Builder.CreateAlignedLoad(NewTy, LI.getPointerOperand(), LI.getAlign(), in combineLoadToNewType() 570 LI.isVolatile(), LI.getName() + Suffix); in combineLoadToNewType() 571 NewLoad->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in combineLoadToNewType() 697 if (!LI.isSimple()) in unpackLoadToAggregate() 1009 if (Value *Res = simplifyLoadInst(&LI, Op, SQ.getWithInstruction(&LI))) in visitLoadInst() 1019 Op, DL.getPrefTypeAlign(LI.getType()), DL, &LI, &AC, &DT); in visitLoadInst() 1041 LI, Builder.CreateBitOrPointerCast(AvailableVal, LI.getType(), in visitLoadInst() 1054 return replaceInstUsesWith(LI, PoisonValue::get(LI.getType())); in visitLoadInst() 1083 V1->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in visitLoadInst() 1085 V2->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in visitLoadInst() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopSimplifyCFG.cpp | 94 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor() 113 LoopInfo &LI; member in __anon64818a000111::ConstantTerminatorFoldingImpl 205 DFS.perform(&LI); in analyze() 403 LI.addTopLevelLoop(&L); in handleDeadExits() 448 if (LI.isLoopHeader(BB)) { in deleteDeadLoopBlocks() 450 Loop *DL = LI.getLoopFor(BB); in deleteDeadLoopBlocks() 456 LI.addTopLevelLoop(DL); in deleteDeadLoopBlocks() 458 LI.erase(DL); in deleteDeadLoopBlocks() 466 LI.removeBlock(BB); in deleteDeadLoopBlocks() 532 : L(L), LI(LI), DT(DT), SE(SE), MSSAU(MSSAU), DFS(&L), in ConstantTerminatorFoldingImpl() [all …]
|
| H A D | Sink.cpp | 66 DominatorTree &DT, LoopInfo &LI) { in IsAcceptableTarget() argument 91 Loop *succ = LI.getLoopFor(SuccToSinkTo); in IsAcceptableTarget() 92 Loop *cur = LI.getLoopFor(Inst->getParent()); in IsAcceptableTarget() 156 !IsAcceptableTarget(Inst, SuccToSinkTo, DT, LI)) in SinkInstruction() 201 if (SinkInstruction(Inst, Stores, DT, LI, AA)) { in ProcessBlock() 213 LoopInfo &LI, AAResults &AA) { in iterativelySinkInstructions() argument 221 MadeChange |= ProcessBlock(I, DT, LI, AA); in iterativelySinkInstructions() 231 auto &LI = AM.getResult<LoopAnalysis>(F); in run() local 234 if (!iterativelySinkInstructions(F, DT, LI, AA)) in run() 252 auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); in runOnFunction() local [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
| H A D | LoopExtractor.cpp | 81 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 …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | CFG.cpp | 129 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 234 const LoopInfo *LI) { in isPotentiallyReachable() argument 248 if (LI && LI->getLoopFor(BB) != nullptr) in isPotentiallyReachable() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | LoopAnalysisManager.h | 55 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
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/TableGen/ |
| H A D | StringMatcher.cpp | 113 for (const auto &LI : MatchesByLetter) { in EmitStringMatcherForChar() local 115 OS << Indent << "case '" << LI.first << "':\t // " << LI.second.size() in EmitStringMatcherForChar() 117 if (LI.second.size() != 1) in EmitStringMatcherForChar() 120 if (EmitStringMatcherForChar(LI.second, CharNo + 1, IndentCount + 1, in EmitStringMatcherForChar() 146 for (const auto &LI : MatchesByLength) { in Emit() local 148 << "case " << LI.first << ":\t // " << LI.second.size() << " string" in Emit() 149 << (LI.second.size() == 1 ? "" : "s") << " to match.\n"; in Emit() 150 if (EmitStringMatcherForChar(LI.second, 0, Indent, IgnoreDuplicates)) in Emit()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/ |
| H A D | DebugLocStream.h | 60 const List &getList(size_t LI) const { return Lists[LI]; } in getList() argument 80 size_t LI = Lists.size(); in startList() local 82 return LI; in startList() 110 size_t LI = getIndex(L); in getEntries() local 111 return ArrayRef(Entries).slice(Lists[LI].EntryOffset, getNumEntries(LI)); in getEntries() 136 size_t getNumEntries(size_t LI) const { in getNumEntries() argument 137 if (LI + 1 == Lists.size()) in getNumEntries() 138 return Entries.size() - Lists[LI].EntryOffset; in getNumEntries() 139 return Lists[LI + 1].EntryOffset - Lists[LI].EntryOffset; in getNumEntries()
|