Home
last modified time | relevance | path

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

12345678910>>...35

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/
DInstCombineLoadStoreAlloca.cpp73 if (auto *LI = dyn_cast<LoadInst>(I)) { in isOnlyCopiedFromConstantGlobal() local
75 if (!LI->isSimple()) return false; in isOnlyCopiedFromConstantGlobal()
452 LoadInst *InstCombiner::combineLoadToNewType(LoadInst &LI, Type *NewTy, in combineLoadToNewType() argument
454 assert((!LI.isAtomic() || isSupportedAtomicType(NewTy)) && in combineLoadToNewType()
457 Value *Ptr = LI.getPointerOperand(); in combineLoadToNewType()
458 unsigned AS = LI.getPointerAddressSpace(); in combineLoadToNewType()
465 unsigned Align = LI.getAlignment(); in combineLoadToNewType()
470 Align = getDataLayout().getABITypeAlignment(LI.getType()); in combineLoadToNewType()
473 NewTy, NewPtr, Align, LI.isVolatile(), LI.getName() + Suffix); in combineLoadToNewType()
474 NewLoad->setAtomic(LI.getOrdering(), LI.getSyncScopeID()); in combineLoadToNewType()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/
DMachineLoopInfo.h87 LoopInfoBase<MachineBasicBlock, MachineLoop> LI; variable
100 LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; } in getBase()
112 inline iterator begin() const { return LI.begin(); } in begin()
113 inline iterator end() const { return LI.end(); } in end()
114 bool empty() const { return LI.empty(); } in empty()
119 return LI.getLoopFor(BB); in getLoopFor()
124 return LI.getLoopFor(BB);
129 return LI.getLoopDepth(BB); in getLoopDepth()
134 return LI.isLoopHeader(BB); in isLoopHeader()
141 void releaseMemory() override { LI.releaseMemory(); } in releaseMemory()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/NVPTX/
DNVPTXLowerAggrCopies.cpp72 if (LoadInst *LI = dyn_cast<LoadInst>(II)) { in runOnFunction() local
73 if (!LI->hasOneUse()) in runOnFunction()
76 if (DL.getTypeStoreSize(LI->getType()) < MaxAggrCopySize) in runOnFunction()
79 if (StoreInst *SI = dyn_cast<StoreInst>(LI->user_back())) { in runOnFunction()
80 if (SI->getOperand(0) != LI) in runOnFunction()
82 AggrLoads.push_back(LI); in runOnFunction()
105 for (LoadInst *LI : AggrLoads) { in runOnFunction()
106 auto *SI = cast<StoreInst>(*LI->user_begin()); in runOnFunction()
107 Value *SrcAddr = LI->getOperand(0); in runOnFunction()
109 unsigned NumLoads = DL.getTypeStoreSize(LI->getType()); in runOnFunction()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DLiveRangeEdit.cpp39 LiveInterval &LI = LIS.createEmptyInterval(VReg); in createEmptyIntervalFrom() local
41 LI.markNotSpillable(); in createEmptyIntervalFrom()
49 LI.createSubRange(Alloc, S.LaneMask); in createEmptyIntervalFrom()
51 return LI; in createEmptyIntervalFrom()
185 bool LiveRangeEdit::foldAsLoad(LiveInterval *LI, in foldAsLoad() argument
190 for (MachineOperand &MO : MRI.reg_nodbg_operands(LI->reg)) { in foldAsLoad()
226 if (UseMI->readsWritesVirtualRegister(LI->reg, &Ops).second) in foldAsLoad()
237 DefMI->addRegisterDead(LI->reg, nullptr); in foldAsLoad()
243 bool LiveRangeEdit::useIsKill(const LiveInterval &LI, in useIsKill() argument
247 if (LI.Query(Idx).isKill()) in useIsKill()
[all …]
DRenameIndependentSubregs.cpp78 bool renameComponents(LiveInterval &LI) const;
85 LiveInterval &LI) const;
122 bool RenameIndependentSubregs::renameComponents(LiveInterval &LI) const { in INITIALIZE_PASS_DEPENDENCY()
124 if (LI.valnos.size() < 2) in INITIALIZE_PASS_DEPENDENCY()
129 if (!findComponents(Classes, SubRangeInfos, LI)) 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()
161 for (LiveInterval::SubRange &SR : LI.subranges()) { in findComponents()
178 unsigned Reg = LI.reg; in findComponents()
[all …]
DLiveRangeCalc.cpp74 void LiveRangeCalc::calculate(LiveInterval &LI, bool TrackSubRegs) { in calculate() argument
81 unsigned Reg = LI.reg; in calculate()
87 if (LI.hasSubRanges() || (SubReg != 0 && TrackSubRegs)) { in calculate()
92 if (!LI.hasSubRanges() && !LI.empty()) { in calculate()
94 LI.createSubRangeFrom(*Alloc, ClassMask, LI); in calculate()
97 LI.refineSubRanges(*Alloc, SubMask, in calculate()
107 if (MO.isDef() && !LI.hasSubRanges()) in calculate()
108 createDeadDef(*Indexes, *Alloc, LI, MO); in calculate()
113 LI.removeEmptySubRanges(); in calculate()
117 if (LI.hasSubRanges()) { in calculate()
[all …]
DLiveIntervals.cpp194 bool LiveIntervals::computeVirtRegInterval(LiveInterval &LI) { in computeVirtRegInterval() argument
196 assert(LI.empty() && "Should only compute empty intervals."); in computeVirtRegInterval()
198 LRCalc->calculate(LI, MRI->shouldTrackSubRegLiveness(LI.reg)); in computeVirtRegInterval()
199 return computeDeadValues(LI, nullptr); in computeVirtRegInterval()
207 LiveInterval &LI = createEmptyInterval(Reg); in computeVirtRegs() local
208 bool NeedSplit = computeVirtRegInterval(LI); in computeVirtRegs()
211 splitSeparateComponents(LI, SplitLIs); in computeVirtRegs()
332 for (const auto &LI : MBB.liveins()) { in computeLiveInRegUnits() local
333 for (MCRegUnitIterator Units(LI.PhysReg, TRI); Units.isValid(); ++Units) { in computeLiveInRegUnits()
386 const LiveInterval &LI = getInterval(Reg); in extendSegmentsToUses() local
[all …]
DRegAllocBasic.cpp91 void enqueue(LiveInterval *LI) override { in enqueue() argument
92 Queue.push(LI); in enqueue()
98 LiveInterval *LI = Queue.top(); in dequeue() local
100 return LI; in dequeue()
145 LiveInterval &LI = LIS->getInterval(VirtReg); in INITIALIZE_PASS_DEPENDENCY() local
147 Matrix->unassign(LI); in INITIALIZE_PASS_DEPENDENCY()
148 aboutToRemoveInterval(LI); in INITIALIZE_PASS_DEPENDENCY()
155 LI.clear(); in INITIALIZE_PASS_DEPENDENCY()
164 LiveInterval &LI = LIS->getInterval(VirtReg); in LRE_WillShrinkVirtReg() local
165 Matrix->unassign(LI); in LRE_WillShrinkVirtReg()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DLoopSimplifyCFG.cpp98 Loop &L, LoopInfo &LI) { in getInnermostLoopFor() argument
101 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor()
120 LoopInfo &LI; member in __anon89d58f750111::ConstantTerminatorFoldingImpl
200 if (L.contains(Succ) && !LI.isLoopHeader(Succ) && RPO[BB] > RPO[Succ]) in hasIrreducibleCFG()
212 DFS.perform(&LI); in analyze()
244 bool TakeFoldCandidate = TheOnlySucc && LI.getLoopFor(BB) == &L; in analyze()
278 return !TheOnlySucc || TheOnlySucc == To || LI.getLoopFor(From) != &L; in analyze()
358 Preheader, Preheader->getTerminator(), &DT, &LI, MSSAU); in handleDeadExits()
383 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits()
388 Loop *StillReachable = getInnermostLoopFor(LiveExitBlocks, L, LI); in handleDeadExits()
[all …]
DGVN.cpp195 static AvailableValue getLoad(LoadInst *LI, unsigned Offset = 0) { in getLoad()
197 Res.Val.setPointer(LI); in getLoad()
233 Value *MaterializeAdjustedValue(LoadInst *LI, Instruction *InsertPt,
264 Value *MaterializeAdjustedValue(LoadInst *LI, GVN &gvn) const { in MaterializeAdjustedValue()
265 return AV.MaterializeAdjustedValue(LI, BB->getTerminator(), gvn); in MaterializeAdjustedValue()
623 auto *LI = AM.getCachedResult<LoopAnalysis>(F); in run() local
625 bool Changed = runImpl(F, AC, DT, TLI, AA, &MemDep, LI, &ORE); in run()
632 if (LI) in run()
732 static Value *ConstructSSAForLoadSet(LoadInst *LI, in ConstructSSAForLoadSet() argument
739 LI->getParent())) { in ConstructSSAForLoadSet()
[all …]
DSimpleLoopUnswitch.cpp106 LoopInfo &LI) { in collectHomogenousInstGraphLoopInvariants() argument
267 DominatorTree &DT, LoopInfo &LI, in hoistLoopToNewParent() argument
278 if (Loop *ExitL = LI.getLoopFor(ExitBB)) in hoistLoopToNewParent()
292 assert(OldParentL == LI.getLoopFor(&Preheader) && in hoistLoopToNewParent()
294 LI.changeLoopFor(&Preheader, NewParentL); in hoistLoopToNewParent()
303 LI.addTopLevelLoop(&L); in hoistLoopToNewParent()
322 formLCSSA(*OldContainingL, DT, &LI, SE); in hoistLoopToNewParent()
329 formDedicatedExitBlocks(OldContainingL, &DT, &LI, MSSAU, in hoistLoopToNewParent()
337 static Loop *getTopMostExitingLoop(BasicBlock *ExitBB, LoopInfo &LI) { in getTopMostExitingLoop() argument
338 Loop *TopMost = LI.getLoopFor(ExitBB); in getTopMostExitingLoop()
[all …]
DSink.cpp96 DominatorTree &DT, LoopInfo &LI) { in IsAcceptableTarget() argument
126 Loop *succ = LI.getLoopFor(SuccToSinkTo); in IsAcceptableTarget()
127 Loop *cur = LI.getLoopFor(Inst->getParent()); in IsAcceptableTarget()
141 DominatorTree &DT, LoopInfo &LI, AAResults &AA) { in SinkInstruction() argument
174 if (IsAcceptableTarget(Inst, Candidate, DT, LI)) in SinkInstruction()
182 if (IsAcceptableTarget(Inst, *I, DT, LI)) in SinkInstruction()
199 static bool ProcessBlock(BasicBlock &BB, DominatorTree &DT, LoopInfo &LI, in ProcessBlock() argument
228 if (SinkInstruction(Inst, Stores, DT, LI, AA)) { in ProcessBlock()
240 LoopInfo &LI, AAResults &AA) { in iterativelySinkInstructions() argument
248 MadeChange |= ProcessBlock(I, DT, LI, AA); in iterativelySinkInstructions()
[all …]
DSROA.cpp780 void visitLoadInst(LoadInst &LI) { in visitLoadInst() argument
781 assert((!LI.isSimple() || LI.getType()->isSingleValueType()) && in visitLoadInst()
785 return PI.setAborted(&LI); in visitLoadInst()
787 if (LI.isVolatile() && in visitLoadInst()
788 LI.getPointerAddressSpace() != DL.getAllocaAddrSpace()) in visitLoadInst()
789 return PI.setAborted(&LI); in visitLoadInst()
791 uint64_t Size = DL.getTypeStoreSize(LI.getType()); in visitLoadInst()
792 return handleLoadOrStore(LI.getType(), LI, Offset, Size, LI.isVolatile()); in visitLoadInst()
962 if (LoadInst *LI = dyn_cast<LoadInst>(I)) { in hasUnsafePHIOrSelectUse() local
964 DL.getTypeStoreSize(LI->getType()).getFixedSize()); in hasUnsafePHIOrSelectUse()
[all …]
DLICM.cpp135 static bool inSubLoop(BasicBlock *BB, Loop *CurLoop, LoopInfo *LI);
143 static bool sink(Instruction &I, LoopInfo *LI, DominatorTree *DT,
159 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
172 bool runOnLoop(Loop *L, AliasAnalysis *AA, LoopInfo *LI, DominatorTree *DT,
189 collectAliasInfoForLoop(Loop *L, LoopInfo *LI, AliasAnalysis *AA);
292 if (!LICM.runOnLoop(&L, &AR.AA, &AR.LI, &AR.DT, &AR.TLI, &AR.TTI, &AR.SE, in run()
329 Loop *L, AliasAnalysis *AA, LoopInfo *LI, DominatorTree *DT, in runOnLoop() argument
349 CurAST = collectAliasInfoForLoop(L, LI, AA); in runOnLoop()
391 Changed |= sinkRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, TTI, L, in runOnLoop()
396 hoistRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, L, in runOnLoop()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/TableGen/
DStringMatcher.cpp113 for (std::map<char, std::vector<const StringPair*>>::iterator LI = in EmitStringMatcherForChar() local
114 MatchesByLetter.begin(), E = MatchesByLetter.end(); LI != E; ++LI) { in EmitStringMatcherForChar()
116 OS << Indent << "case '" << LI->first << "':\t // " in EmitStringMatcherForChar()
117 << LI->second.size() << " string"; in EmitStringMatcherForChar()
118 if (LI->second.size() != 1) OS << 's'; in EmitStringMatcherForChar()
120 if (EmitStringMatcherForChar(LI->second, CharNo + 1, IndentCount + 1, in EmitStringMatcherForChar()
146 for (std::map<unsigned, std::vector<const StringPair*>>::iterator LI = in Emit() local
147 MatchesByLength.begin(), E = MatchesByLength.end(); LI != E; ++LI) { in Emit()
148 OS.indent(Indent*2+2) << "case " << LI->first << ":\t // " in Emit()
149 << LI->second.size() in Emit()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DPromoteMemoryToRegister.cpp71 if (const LoadInst *LI = dyn_cast<LoadInst>(U)) { in isAllocaPromotable() local
74 if (LI->isVolatile()) in isAllocaPromotable()
143 LoadInst *LI = cast<LoadInst>(User); in AnalyzeAlloca() local
146 UsingBlocks.push_back(LI->getParent()); in AnalyzeAlloca()
304 static void addAssumeNonNull(AssumptionCache *AC, LoadInst *LI) { in addAssumeNonNull() argument
306 Intrinsic::getDeclaration(LI->getModule(), Intrinsic::assume); in addAssumeNonNull()
307 ICmpInst *LoadNotNull = new ICmpInst(ICmpInst::ICMP_NE, LI, in addAssumeNonNull()
308 Constant::getNullValue(LI->getType())); in addAssumeNonNull()
309 LoadNotNull->insertAfter(LI); in addAssumeNonNull()
362 LoadInst *LI = cast<LoadInst>(UserInst); in rewriteSingleStoreAlloca() local
[all …]
DLCSSA.cpp79 DominatorTree &DT, LoopInfo &LI, in formLCSSAForInstructions() argument
97 Loop *L = LI.getLoopFor(InstBB); in formLCSSAForInstructions()
185 if (auto *OtherLoop = LI.getLoopFor(ExitBB)) in formLCSSAForInstructions()
239 if (auto *OtherLoop = LI.getLoopFor(InsertedPN->getParent())) in formLCSSAForInstructions()
321 bool llvm::formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSA() argument
328 assert(SubLoop->isRecursivelyLCSSAForm(DT, *LI) && "Subloop not in LCSSA!"); in formLCSSA()
352 if (LI->getLoopFor(BB) != &L) in formLCSSA()
372 Changed = formLCSSAForInstructions(Worklist, DT, *LI, SE); in formLCSSA()
386 bool llvm::formLCSSARecursively(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSARecursively() argument
392 Changed |= formLCSSARecursively(*SubLoop, DT, LI, SE); in formLCSSARecursively()
[all …]
DLoopSimplify.cpp124 LoopInfo *LI, MemorySSAUpdater *MSSAU, in InsertPreheaderForLoop() argument
148 LI, MSSAU, PreserveLCSSA); in InsertPreheaderForLoop()
226 DominatorTree *DT, LoopInfo *LI, in separateNestedLoop() argument
262 DT, LI, MSSAU, PreserveLCSSA); in separateNestedLoop()
269 Loop *NewOuter = LI->AllocateLoop(); in separateNestedLoop()
275 LI->changeTopLevelLoop(L, NewOuter); in separateNestedLoop()
315 if ((*LI)[BB] == L) { in separateNestedLoop()
316 LI->changeLoopFor(BB, NewOuter); in separateNestedLoop()
325 formDedicatedExitBlocks(L, DT, LI, MSSAU, PreserveLCSSA); in separateNestedLoop()
334 formLCSSA(*L, *DT, LI, SE); in separateNestedLoop()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DCFG.cpp121 static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) { in getOutermostLoop() argument
122 const Loop *L = LI->getLoopFor(BB); in getOutermostLoop()
133 const LoopInfo *LI) { in isPotentiallyReachableFromMany() argument
148 if (LI && ExclusionSet) { in isPotentiallyReachableFromMany()
150 if (const Loop *L = getOutermostLoop(LI, BB)) in isPotentiallyReachableFromMany()
155 const Loop *StopLoop = LI ? getOutermostLoop(LI, StopBB) : nullptr; in isPotentiallyReachableFromMany()
173 if (LI) { in isPotentiallyReachableFromMany()
174 Outer = getOutermostLoop(LI, BB); in isPotentiallyReachableFromMany()
207 const DominatorTree *DT, const LoopInfo *LI) { in isPotentiallyReachable() argument
215 nullptr, DT, LI); in isPotentiallyReachable()
[all …]
DIVUsers.cpp42 return IVUsers(&L, &AR.AC, &AR.LI, &AR.DT, &AR.SE); in run()
61 ScalarEvolution *SE, LoopInfo *LI) { in isInteresting() argument
69 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR); in isInteresting()
73 return isInteresting(AR->getStart(), I, L, SE, LI) && in isInteresting()
74 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI); in isInteresting()
81 if (isInteresting(Op, I, L, SE, LI)) { in isInteresting()
96 const LoopInfo *LI, in isSimplifiedLoopNest() argument
102 Loop *DomLoop = LI->getLoopFor(DomBB); in isSimplifiedLoopNest()
203 if (!isInteresting(ISE, I, L, SE, LI)) in AddUsersImpl()
225 if (!isSimplifiedLoopNest(UseBB, DT, LI, SimpleLoopNests)) in AddUsersImpl()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DLoopAnalysisManager.h57 LoopInfo &LI; member
88 explicit Result(LoopAnalysisManager &InnerAM, LoopInfo &LI) in Result() argument
89 : InnerAM(&InnerAM), LI(&LI), MSSAUsed(false) {} in Result()
91 : InnerAM(std::move(Arg.InnerAM)), LI(Arg.LI), MSSAUsed(Arg.MSSAUsed) { in Result()
99 LI = RHS.LI;
137 LoopInfo *LI; variable
DLazyBlockFrequencyInfo.h38 : Calculated(false), F(nullptr), BPIPass(nullptr), LI(nullptr) {} in LazyBlockFrequencyInfo()
42 const LoopInfoT *LI) { in setAnalysis() argument
45 this->LI = LI; in setAnalysis()
51 assert(F && BPIPass && LI && "call setAnalysis"); in getCalculated()
53 *F, BPIPassTrait<BranchProbabilityInfoPassT>::getBPI(BPIPass), *LI); in getCalculated()
74 const LoopInfoT *LI; variable
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/AsmPrinter/
DDebugLocStream.h61 const List &getList(size_t LI) const { return Lists[LI]; } in getList() argument
81 size_t LI = Lists.size(); in startList() local
83 return LI; in startList()
111 size_t LI = getIndex(L); in getEntries() local
113 .slice(Lists[LI].EntryOffset, getNumEntries(LI)); in getEntries()
138 size_t getNumEntries(size_t LI) const { in getNumEntries() argument
139 if (LI + 1 == Lists.size()) in getNumEntries()
140 return Entries.size() - Lists[LI].EntryOffset; in getNumEntries()
141 return Lists[LI + 1].EntryOffset - Lists[LI].EntryOffset; in getNumEntries()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/
DWebAssemblyRegColoring.cpp108 LiveInterval *LI = &Liveness->getInterval(VReg); in runOnMachineFunction() local
109 assert(LI->weight == 0.0f); in runOnMachineFunction()
110 LI->weight = computeWeight(MRI, MBFI, VReg); in runOnMachineFunction()
111 LLVM_DEBUG(LI->dump()); in runOnMachineFunction()
112 SortedIntervals.push_back(LI); in runOnMachineFunction()
137 LiveInterval *LI = SortedIntervals[I]; in runOnMachineFunction() local
138 unsigned Old = LI->reg; in runOnMachineFunction()
148 if (!OtherLI->empty() && OtherLI->overlaps(*LI)) in runOnMachineFunction()
159 Assignments[Color].push_back(LI); in runOnMachineFunction()
160 LLVM_DEBUG(dbgs() << "Assigning vreg" << Register::virtReg2Index(LI->reg) in runOnMachineFunction()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AArch64/
DAArch64FalkorHWPFFix.cpp71 FalkorMarkStridedAccesses(LoopInfo &LI, ScalarEvolution &SE) in FalkorMarkStridedAccesses() argument
72 : LI(LI), SE(SE) {} in FalkorMarkStridedAccesses()
79 LoopInfo &LI; member in __anon2ab6d00d0111::FalkorMarkStridedAccesses
130 LoopInfo &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); in runOnFunction() local
133 FalkorMarkStridedAccesses LDP(LI, SE); in runOnFunction()
140 for (Loop *L : LI) in run()
650 LoadInfo LI; in getLoadInfo() local
651 LI.DestReg = DestRegIdx == -1 ? Register() : MI.getOperand(DestRegIdx).getReg(); in getLoadInfo()
652 LI.BaseReg = BaseReg; in getLoadInfo()
653 LI.BaseRegIdx = BaseRegIdx; in getLoadInfo()
[all …]

12345678910>>...35