| /NextBSD/contrib/llvm/lib/Transforms/InstCombine/ |
| HD | InstCombineLoadStoreAlloca.cpp | 68 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/ |
| HD | ML | 16 .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/ |
| HD | LiveRangeEdit.cpp | 39 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 …]
|
| HD | AtomicExpandPass.cpp | 47 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 …]
|
| HD | InterleavedAccessPass.cpp | 83 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()
|
| HD | LiveRangeCalc.cpp | 53 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 …]
|
| HD | LiveIntervalAnalysis.cpp | 198 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/ |
| HD | DifferenceEngine.cpp | 195 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/ |
| HD | MachineLoopInfo.h | 69 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/ |
| HD | StringMatcher.cpp | 106 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/ |
| HD | CFG.cpp | 112 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 …]
|
| HD | MemoryDependenceAnalysis.cpp | 123 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 …]
|
| HD | LoopInfo.cpp | 418 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/ |
| HD | LoopDeletion.cpp | 115 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 …]
|
| HD | LICM.cpp | 74 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 …]
|
| HD | SROA.cpp | 747 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 …]
|
| HD | ScalarReplAggregates.cpp | 184 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/ |
| HD | BasicBlockUtils.h | 56 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/ |
| HD | PromoteMemoryToRegister.cpp | 58 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 …]
|
| HD | BreakCriticalEdges.cpp | 48 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 …]
|
| HD | LCSSA.cpp | 64 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 …]
|
| HD | LoopSimplify.cpp | 123 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/ |
| HD | DebugLocStream.h | 65 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/ |
| HD | SourceCoverageView.cpp | 171 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/ |
| HD | NVPTXLowerAlloca.cpp | 87 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()
|