Home
last modified time | relevance | path

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

12345678910

/NextBSD/contrib/llvm/lib/Transforms/InstCombine/
HDInstCombineLoadStoreAlloca.cpp68 if (LoadInst *LI = dyn_cast<LoadInst>(I)) { in isOnlyCopiedFromConstantGlobal() local
70 if (!LI->isSimple()) return false; in isOnlyCopiedFromConstantGlobal()
317 static LoadInst *combineLoadToNewType(InstCombiner &IC, LoadInst &LI, Type *NewTy, in combineLoadToNewType() argument
319 Value *Ptr = LI.getPointerOperand(); in combineLoadToNewType()
320 unsigned AS = LI.getPointerAddressSpace(); in combineLoadToNewType()
322 LI.getAllMetadata(MD); in combineLoadToNewType()
326 LI.getAlignment(), LI.getName() + Suffix); in combineLoadToNewType()
446 static Instruction *combineLoadToOperationType(InstCombiner &IC, LoadInst &LI) { in combineLoadToOperationType() argument
449 if (!LI.isSimple()) in combineLoadToOperationType()
452 if (LI.use_empty()) in combineLoadToOperationType()
[all …]
/NextBSD/contrib/groff/contrib/mm/examples/
HDML16 .LI "LOCALMARK"
28 .LI
34 .LI
46 .LI
50 .LI
58 .LI
67 .LI
74 .LI
83 .LI
93 .LI
[all …]
/NextBSD/contrib/llvm/lib/CodeGen/
HDLiveRangeEdit.cpp39 LiveInterval &LI = LIS.createEmptyInterval(VReg); in createEmptyIntervalFrom() local
40 return LI; in createEmptyIntervalFrom()
164 bool LiveRangeEdit::foldAsLoad(LiveInterval *LI, in foldAsLoad() argument
169 for (MachineOperand &MO : MRI.reg_nodbg_operands(LI->reg)) { in foldAsLoad()
206 if (UseMI->readsWritesVirtualRegister(LI->reg, &Ops).second) in foldAsLoad()
215 DefMI->addRegisterDead(LI->reg, nullptr); in foldAsLoad()
221 bool LiveRangeEdit::useIsKill(const LiveInterval &LI, in useIsKill() argument
225 if (LI.Query(Idx).isKill()) in useIsKill()
230 for (const LiveInterval::SubRange &S : LI.subranges()) { in useIsKill()
279 LiveInterval &LI = LIS.getInterval(Reg); in eliminateDeadDef() local
[all …]
HDAtomicExpandPass.cpp47 bool expandAtomicLoad(LoadInst *LI);
48 bool expandAtomicLoadToLL(LoadInst *LI);
49 bool expandAtomicLoadToCmpXchg(LoadInst *LI);
86 auto LI = dyn_cast<LoadInst>(I); in runOnFunction() local
90 assert((LI || SI || RMWI || CASI || isa<FenceInst>(I)) && in runOnFunction()
96 if (LI && isAtLeastAcquire(LI->getOrdering())) { in runOnFunction()
97 FenceOrdering = LI->getOrdering(); in runOnFunction()
98 LI->setOrdering(Monotonic); in runOnFunction()
129 if (LI && TLI->shouldExpandAtomicLoadInIR(LI)) { in runOnFunction()
130 MadeChange |= expandAtomicLoad(LI); in runOnFunction()
[all …]
HDInterleavedAccessPass.cpp83 bool lowerInterleavedLoad(LoadInst *LI,
179 LoadInst *LI, SmallVector<Instruction *, 32> &DeadInsts) { in lowerInterleavedLoad() argument
180 if (!LI->isSimple()) in lowerInterleavedLoad()
186 for (auto UI = LI->user_begin(), E = LI->user_end(); UI != E; UI++) { in lowerInterleavedLoad()
222 DEBUG(dbgs() << "IA: Found an interleaved load: " << *LI << "\n"); in lowerInterleavedLoad()
225 if (!TLI->lowerInterleavedLoad(LI, Shuffles, Indices, Factor)) in lowerInterleavedLoad()
231 DeadInsts.push_back(LI); in lowerInterleavedLoad()
275 if (LoadInst *LI = dyn_cast<LoadInst>(&I)) in runOnFunction() local
276 Changed |= lowerInterleavedLoad(LI, DeadInsts); in runOnFunction()
HDLiveRangeCalc.cpp53 void LiveRangeCalc::calculate(LiveInterval &LI, bool TrackSubRegs) { in calculate() argument
60 unsigned Reg = LI.reg; in calculate()
66 if (LI.hasSubRanges() || (SubReg != 0 && TrackSubRegs)) { in calculate()
72 if (!LI.hasSubRanges() && !LI.empty()) { in calculate()
74 LI.createSubRangeFrom(*Alloc, ClassMask, LI); in calculate()
77 for (LiveInterval::SubRange &S : LI.subranges()) { in calculate()
88 CommonRange = LI.createSubRangeFrom(*Alloc, Common, S); in calculate()
99 LiveInterval::SubRange *NewRange = LI.createSubRange(*Alloc, Mask); in calculate()
107 if (MO.isDef() && !LI.hasSubRanges()) in calculate()
108 createDeadDef(*Indexes, *Alloc, LI, MO); in calculate()
[all …]
HDLiveIntervalAnalysis.cpp198 void LiveIntervals::computeVirtRegInterval(LiveInterval &LI) { in computeVirtRegInterval() argument
200 assert(LI.empty() && "Should only compute empty intervals."); in computeVirtRegInterval()
202 LRCalc->calculate(LI, MRI->shouldTrackSubRegLiveness(LI.reg)); in computeVirtRegInterval()
203 computeDeadValues(LI, nullptr); in computeVirtRegInterval()
457 bool LiveIntervals::computeDeadValues(LiveInterval &LI, in computeDeadValues() argument
460 for (auto VNI : LI.valnos) { in computeDeadValues()
464 LiveRange::iterator I = LI.FindSegmentContaining(Def); in computeDeadValues()
465 assert(I != LI.end() && "Missing segment for VNI"); in computeDeadValues()
469 if (MRI->shouldTrackSubRegLiveness(LI.reg)) { in computeDeadValues()
470 if ((I == LI.begin() || std::prev(I)->end < Def) && !VNI->isPHIDef()) { in computeDeadValues()
[all …]
/NextBSD/contrib/llvm/tools/llvm-diff/
HDDifferenceEngine.cpp195 BasicBlock::iterator LI = L->begin(), LE = L->end(); in diff() local
199 assert(LI != LE && RI != R->end()); in diff()
200 Instruction *LeftI = &*LI, *RightI = &*RI; in diff()
213 ++LI, ++RI; in diff()
214 } while (LI != LE); // This is sufficient: we can't get equality of in diff()
219 for (LI = L->begin(), RI = R->begin(); LI != LE; ++LI, ++RI) in diff()
220 unify(&*LI, &*RI); in diff()
224 void runBlockDiff(BasicBlock::iterator LI, BasicBlock::iterator RI);
277 InvokeInst *LI = cast<InvokeInst>(L); in diff() local
279 if (diffCallSites(CallSite(LI), CallSite(RI), Complain)) in diff()
[all …]
/NextBSD/contrib/llvm/include/llvm/CodeGen/
HDMachineLoopInfo.h69 LoopInfoBase<MachineBasicBlock, MachineLoop> LI; variable
82 LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; } in getBase()
88 inline iterator begin() const { return LI.begin(); } in begin()
89 inline iterator end() const { return LI.end(); } in end()
90 bool empty() const { return LI.empty(); } in empty()
96 return LI.getLoopFor(BB); in getLoopFor()
102 return LI.getLoopFor(BB);
108 return LI.getLoopDepth(BB); in getLoopDepth()
113 return LI.isLoopHeader(BB); in isLoopHeader()
120 void releaseMemory() override { LI.releaseMemory(); } in releaseMemory()
[all …]
/NextBSD/contrib/llvm/lib/TableGen/
HDStringMatcher.cpp106 for (std::map<char, std::vector<const StringPair*> >::iterator LI = in EmitStringMatcherForChar() local
107 MatchesByLetter.begin(), E = MatchesByLetter.end(); LI != E; ++LI) { in EmitStringMatcherForChar()
109 OS << Indent << "case '" << LI->first << "':\t // " in EmitStringMatcherForChar()
110 << LI->second.size() << " string"; in EmitStringMatcherForChar()
111 if (LI->second.size() != 1) OS << 's'; in EmitStringMatcherForChar()
113 if (EmitStringMatcherForChar(LI->second, CharNo+1, IndentCount+1)) in EmitStringMatcherForChar()
139 for (std::map<unsigned, std::vector<const StringPair*> >::iterator LI = in Emit() local
140 MatchesByLength.begin(), E = MatchesByLength.end(); LI != E; ++LI) { in Emit()
141 OS.indent(Indent*2+2) << "case " << LI->first << ":\t // " in Emit()
142 << LI->second.size() in Emit()
[all …]
/NextBSD/contrib/llvm/lib/Analysis/
HDCFG.cpp112 static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) { in getOutermostLoop() argument
113 const Loop *L = LI->getLoopFor(BB); in getOutermostLoop()
122 static bool loopContainsBoth(const LoopInfo *LI, in loopContainsBoth() argument
124 const Loop *L1 = getOutermostLoop(LI, BB1); in loopContainsBoth()
125 const Loop *L2 = getOutermostLoop(LI, BB2); in loopContainsBoth()
131 const DominatorTree *DT, const LoopInfo *LI) { in isPotentiallyReachableFromMany() argument
149 if (LI && loopContainsBoth(LI, BB, StopBB)) in isPotentiallyReachableFromMany()
158 if (const Loop *Outer = LI ? getOutermostLoop(LI, BB) : nullptr) { in isPotentiallyReachableFromMany()
174 const DominatorTree *DT, const LoopInfo *LI) { in isPotentiallyReachable() argument
182 DT, LI); in isPotentiallyReachable()
[all …]
HDMemoryDependenceAnalysis.cpp123 if (const LoadInst *LI = dyn_cast<LoadInst>(Inst)) { in GetLocation() local
124 if (LI->isUnordered()) { in GetLocation()
125 Loc = MemoryLocation::get(LI); in GetLocation()
128 if (LI->getOrdering() == Monotonic) { in GetLocation()
129 Loc = MemoryLocation::get(LI); in GetLocation()
263 const LoadInst *LI) { in isLoadLoadClobberIfExtendedToFullWidth() argument
264 const DataLayout &DL = LI->getModule()->getDataLayout(); in isLoadLoadClobberIfExtendedToFullWidth()
271 MemLocBase, MemLocOffs, MemLoc.Size, LI); in isLoadLoadClobberIfExtendedToFullWidth()
284 const LoadInst *LI) { in getLoadLoadClobberFullWidthSize() argument
286 if (!isa<IntegerType>(LI->getType()) || !LI->isSimple()) return 0; in getLoadLoadClobberFullWidthSize()
[all …]
HDLoopInfo.cpp418 LoopInfo *LI; member in __anonaca126980211::UnloopUpdater
434 Unloop(UL), LI(LInfo), DFS(UL), FoundIB(false) {} in UnloopUpdater()
453 LoopBlocksTraversal Traversal(DFS, LI); in updateBlockParents()
457 Loop *L = LI->getLoopFor(*POI); in updateBlockParents()
464 LI->changeLoopFor(*POI, NL); in updateBlockParents()
485 Loop *L = LI->getLoopFor(*POI); in updateBlockParents()
490 LI->changeLoopFor(*POI, NL); in updateBlockParents()
504 Loop *OuterParent = LI->getLoopFor(*BI); in removeBlocksFromAncestors()
531 LI->addTopLevelLoop(Subloop); in updateSubloopParents()
568 Loop *L = LI->getLoopFor(*I); in getNearestLoop()
[all …]
/NextBSD/contrib/llvm/lib/Transforms/Scalar/
HDLoopDeletion.cpp115 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end(); in isLoopDead() local
116 LI != LE; ++LI) { in isLoopDead()
117 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end(); in isLoopDead()
211 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end(); in runOnLoop() local
212 LI != LE; ++LI) { in runOnLoop()
215 ChildNodes.insert(ChildNodes.begin(), DT[*LI]->begin(), DT[*LI]->end()); in runOnLoop()
222 DT.eraseNode(*LI); in runOnLoop()
226 (*LI)->dropAllReferences(); in runOnLoop()
233 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end(); in runOnLoop() local
234 LI != LE; ++LI) in runOnLoop()
[all …]
HDLICM.cpp74 static bool inSubLoop(BasicBlock *BB, Loop *CurLoop, LoopInfo *LI);
77 static bool sink(Instruction &I, const LoopInfo *LI, const DominatorTree *DT,
95 const LoopInfo *LI);
136 LoopInfo *LI; // Current LoopInfo member
185 LI = &getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); in runOnLoop()
222 if (LI->getLoopFor(BB) == L) // Ignore blocks in subloops. in runOnLoop()
241 Changed |= sinkRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, CurLoop, in runOnLoop()
244 Changed |= hoistRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, in runOnLoop()
258 PIC, LI, DT, CurLoop, in runOnLoop()
268 formLCSSARecursively(*L, *DT, LI, in runOnLoop()
[all …]
HDSROA.cpp747 void visitLoadInst(LoadInst &LI) { in visitLoadInst() argument
748 assert((!LI.isSimple() || LI.getType()->isSingleValueType()) && in visitLoadInst()
752 return PI.setAborted(&LI); in visitLoadInst()
754 const DataLayout &DL = LI.getModule()->getDataLayout(); in visitLoadInst()
755 uint64_t Size = DL.getTypeStoreSize(LI.getType()); in visitLoadInst()
756 return handleLoadOrStore(LI.getType(), LI, Offset, Size, LI.isVolatile()); in visitLoadInst()
912 if (LoadInst *LI = dyn_cast<LoadInst>(I)) { in hasUnsafePHIOrSelectUse() local
913 Size = std::max(Size, DL.getTypeStoreSize(LI->getType())); in hasUnsafePHIOrSelectUse()
1123 if (LoadInst *LI = dyn_cast<LoadInst>(I)) in isInstInList() local
1124 Ptr = LI->getOperand(0); in isInstInList()
[all …]
HDScalarReplAggregates.cpp184 void RewriteLoadUserOfWholeAlloca(LoadInst *LI, AllocaInst *AI,
479 if (LoadInst *LI = dyn_cast<LoadInst>(UI)) { in CanConvertToScalar() local
481 if (!LI->isSimple()) in CanConvertToScalar()
484 if (LI->getType()->isX86_MMXTy()) in CanConvertToScalar()
487 MergeInTypeForLoadOrStore(LI->getType(), Offset); in CanConvertToScalar()
634 if (LoadInst *LI = dyn_cast<LoadInst>(User)) { in ConvertUsesToScalar() local
638 = ConvertScalar_ExtractValue(LoadedVal, LI->getType(), Offset, in ConvertUsesToScalar()
640 LI->replaceAllUsesWith(NewLoadVal); in ConvertUsesToScalar()
641 LI->eraseFromParent(); in ConvertUsesToScalar()
1088 if (LoadInst *LI = dyn_cast<LoadInst>(I)) in isInstInList() local
[all …]
/NextBSD/contrib/llvm/include/llvm/Transforms/Utils/
HDBasicBlockUtils.h56 LoopInfo *LI = nullptr,
87 LoopInfo *LI; member
93 : AA(nullptr), DT(nullptr), LI(nullptr), MergeIdenticalEdges(false), in CriticalEdgeSplittingOptions()
98 LoopInfo *LI = nullptr)
99 : AA(AA), DT(DT), LI(LI), MergeIdenticalEdges(false), in AA()
104 CriticalEdgeSplittingOptions(DominatorTree *DT, LoopInfo *LI) in CriticalEdgeSplittingOptions()
105 : AA(nullptr), DT(DT), LI(LI), MergeIdenticalEdges(false), in CriticalEdgeSplittingOptions()
197 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr);
205 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr);
227 LoopInfo *LI = nullptr,
[all …]
/NextBSD/contrib/llvm/lib/Transforms/Utils/
HDPromoteMemoryToRegister.cpp58 if (const LoadInst *LI = dyn_cast<LoadInst>(U)) { in isAllocaPromotable() local
61 if (LI->isVolatile()) in isAllocaPromotable()
134 LoadInst *LI = cast<LoadInst>(User); in AnalyzeAlloca() local
137 UsingBlocks.push_back(LI->getParent()); in AnalyzeAlloca()
138 AllocaPointerVal = LI; in AnalyzeAlloca()
355 LoadInst *LI = cast<LoadInst>(UserInst); in rewriteSingleStoreAlloca() local
362 if (LI->getParent() == StoreBB) { in rewriteSingleStoreAlloca()
369 if (unsigned(StoreIndex) > LBI.getInstructionIndex(LI)) { in rewriteSingleStoreAlloca()
375 } else if (LI->getParent() != StoreBB && in rewriteSingleStoreAlloca()
376 !DT.dominates(StoreBB, LI->getParent())) { in rewriteSingleStoreAlloca()
[all …]
HDBreakCriticalEdges.cpp48 auto *LI = LIWP ? &LIWP->getLoopInfo() : nullptr; in runOnFunction() local
50 SplitAllCriticalEdges(F, CriticalEdgeSplittingOptions(DT, LI)); in runOnFunction()
202 auto *LI = Options.LI; in SplitCriticalEdge() local
203 if (!DT && !LI) in SplitCriticalEdge()
262 if (LI) { in SplitCriticalEdge()
263 if (Loop *TIL = LI->getLoopFor(TIBB)) { in SplitCriticalEdge()
266 if (Loop *DestLoop = LI->getLoopFor(DestBB)) { in SplitCriticalEdge()
269 DestLoop->addBasicBlockToLoop(NewBB, *LI); in SplitCriticalEdge()
272 TIL->addBasicBlockToLoop(NewBB, *LI); in SplitCriticalEdge()
275 DestLoop->addBasicBlockToLoop(NewBB, *LI); in SplitCriticalEdge()
[all …]
HDLCSSA.cpp64 PredIteratorCache &PredCache, LoopInfo *LI) { in processInstruction() argument
144 if (auto *OtherLoop = LI->getLoopFor(ExitBB)) in processInstruction()
180 Loop *OtherLoop = LI->getLoopFor(PHIBB); in processInstruction()
189 processInstruction(*OtherLoop, *I, DT, EBs, PredCache, LI); in processInstruction()
215 bool llvm::formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSA() argument
248 Changed |= processInstruction(L, *I, DT, ExitBlocks, PredCache, LI); in formLCSSA()
264 bool llvm::formLCSSARecursively(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSARecursively() argument
270 Changed |= formLCSSARecursively(**I, DT, LI, SE); in formLCSSARecursively()
272 Changed |= formLCSSA(L, DT, LI, SE); in formLCSSARecursively()
285 LoopInfo *LI; member
[all …]
HDLoopSimplify.cpp123 auto *LI = LIWP ? &LIWP->getLoopInfo() : nullptr; in InsertPreheaderForLoop() local
145 AA, DT, LI, PreserveLCSSA); in InsertPreheaderForLoop()
163 LoopInfo *LI, Pass *PP) { in rewriteLoopExitBlock() argument
181 LI, PreserveLCSSA); in rewriteLoopExitBlock()
255 LoopInfo *LI, ScalarEvolution *SE, Pass *PP, in separateNestedLoop() argument
293 AA, DT, LI, PreserveLCSSA); in separateNestedLoop()
306 LI->changeTopLevelLoop(L, NewOuter); in separateNestedLoop()
344 if ((*LI)[BB] == L) in separateNestedLoop()
345 LI->changeLoopFor(BB, NewOuter); in separateNestedLoop()
361 DominatorTree *DT, LoopInfo *LI) { in insertUniqueBackedgeBlock() argument
[all …]
/NextBSD/contrib/llvm/lib/CodeGen/AsmPrinter/
HDDebugLocStream.h65 const List &getList(size_t LI) const { return Lists[LI]; } in getList() argument
79 size_t LI = Lists.size(); in startList() local
81 return LI; in startList()
109 size_t LI = getIndex(L); in getEntries() local
111 .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()
/NextBSD/contrib/llvm/tools/llvm-cov/
HDSourceCoverageView.cpp171 for (line_iterator LI(File, /*SkipBlanks=*/false); !LI.is_at_eof(); ++LI) { in render() local
177 else if (LI.line_number() < FirstLine) in render()
185 while (NextSegment != EndSegment && NextSegment->Line == LI.line_number()) in render()
201 renderLineNumberColumn(OS, LI.line_number()); in render()
205 if (NextESV != EndESV && NextESV->getLine() == LI.line_number() && in render()
210 renderLine(OS, *LI, LI.line_number(), WrappedSegment, LineSegments, in render()
225 for (; NextESV != EndESV && NextESV->getLine() == LI.line_number(); in render()
235 renderLine(OS, *LI, LI.line_number(), WrappedSegment, LineSegments, in render()
248 for (; NextISV != EndISV && NextISV->Line == LI.line_number(); ++NextISV) { in render()
/NextBSD/contrib/llvm/lib/Target/NVPTX/
HDNVPTXLowerAlloca.cpp87 auto LI = dyn_cast<LoadInst>(AllocaUse.getUser()); in runOnBasicBlock() local
88 if (LI && LI->getPointerOperand() == allocaInst && !LI->isVolatile()) { in runOnBasicBlock()
89 LI->setOperand(LI->getPointerOperandIndex(), NewASCToGeneric); in runOnBasicBlock()

12345678910