/freebsd-9.3-release/contrib/llvm/include/llvm/CodeGen/ |
H A D | MachineLoopInfo.h | 73 LoopInfoBase<MachineBasicBlock, MachineLoop> LI; member in class:llvm::MachineLoopInfo 86 LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; } 92 inline iterator begin() const { return LI.begin(); } 93 inline iterator end() const { return LI.end(); } 94 bool empty() const { return LI.empty(); } 100 return LI.getLoopFor(BB); 106 return LI.getLoopFor(BB); 112 return LI.getLoopDepth(BB); 117 return LI.isLoopHeader(BB); 124 virtual void releaseMemory() { LI [all...] |
H A D | LiveIntervalAnalysis.h | 129 LiveInterval &LI = createEmptyInterval(Reg); local 130 computeVirtRegInterval(LI); 131 return LI; 155 /// extendToIndices - Extend the live range of LI to reach all points in 157 /// existing defs in LI. PHI-defs are added as needed to maintain SSA form. 159 /// If a SlotIndex in Indices is the end index of a basic block, LI will be 165 /// pruneValue - If an LI value is live at Kill, prune its live range by 167 /// EndPoints such that extendToIndices(LI, EndPoints) will reconstruct the 172 void pruneValue(LiveInterval *LI, SlotIndex Kill, 264 /// intervalIsInOneMBB - If LI i [all...] |
/freebsd-9.3-release/contrib/llvm/include/llvm/Transforms/Utils/ |
H A D | UnrollLoop.h | 26 unsigned TripMultiple, LoopInfo* LI, LPPassManager* LPM); 28 bool UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
|
/freebsd-9.3-release/contrib/llvm/lib/TableGen/ |
H A D | StringMatcher.cpp | 106 for (std::map<char, std::vector<const StringPair*> >::iterator LI = 107 MatchesByLetter.begin(), E = MatchesByLetter.end(); LI != E; ++LI) { 109 OS << Indent << "case '" << LI->first << "':\t // " 110 << LI->second.size() << " string"; 111 if (LI->second.size() != 1) OS << 's'; 113 if (EmitStringMatcherForChar(LI->second, CharNo+1, IndentCount+1)) 139 for (std::map<unsigned, std::vector<const StringPair*> >::iterator LI = 140 MatchesByLength.begin(), E = MatchesByLength.end(); LI != E; ++LI) { [all...] |
/freebsd-9.3-release/contrib/llvm/lib/CodeGen/ |
H A D | LiveRangeCalc.h | 83 // Cleared when the final value has been determined and LI has been updated. 88 // determined, the range from the block start to Kill will be added to LI. 104 /// Assuming that LI is live-in to KillMBB and killed at Kill, find the set 108 /// to LI, and the function returns true. 110 /// If multiple values can reach Kill, the blocks that need LI to be live in 154 /// extend - Extend the live range of LI to reach Kill. 156 /// The existing values in LI must be live so they jointly dominate Kill. If 164 /// createDeadDefs - Create a dead def in LI for every def operand of Reg. 169 /// createDeadDefs - Create a dead def in LI for every def of LI 170 createDeadDefs(LiveInterval &LI) argument 181 extendToUses(LiveInterval &LI) argument [all...] |
H A D | LiveRangeEdit.cpp | 38 LiveInterval &LI = LIS.createEmptyInterval(VReg); local 39 return LI; 165 bool LiveRangeEdit::foldAsLoad(LiveInterval *LI, argument 170 for (MachineRegisterInfo::reg_nodbg_iterator I = MRI.reg_nodbg_begin(LI->reg), 209 if (UseMI->readsWritesVirtualRegister(LI->reg, &Ops).second) 218 DefMI->addRegisterDead(LI->reg, 0); 273 LiveInterval &LI = LIS.getInterval(Reg); local 281 LI.Query(Idx).isKill())) 282 ToShrink.insert(&LI); 286 if (VNInfo *VNI = LI 345 LiveInterval *LI = ToShrink.back(); local 376 DEBUG(dbgs() << NumComp << " components: " << *LI << '\\n'); local 413 LiveInterval &LI = LIS.getInterval(get(I)); local [all...] |
H A D | LiveIntervalAnalysis.cpp | 181 void LiveIntervals::computeVirtRegInterval(LiveInterval &LI) { argument 183 assert(LI.empty() && "Should only compute empty intervals."); 185 LRCalc->createDeadDefs(LI); 186 LRCalc->extendToUses(LI); 452 void LiveIntervals::pruneValue(LiveInterval *LI, SlotIndex Kill, argument 454 LiveQueryResult LRQ = LI->Query(Kill); 465 LI->removeSegment(Kill, LRQ.endPoint()); 471 LI->removeSegment(Kill, MBBEnd); 489 LiveQueryResult LRQ = LI->Query(MBBStart); 498 LI 524 LiveInterval *LI = &getInterval(Reg); local 604 hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const argument 647 checkRegMaskInterference(LiveInterval &LI, BitVector &UsableRegs) argument 753 LiveInterval &LI = LIS.getInterval(Reg); local 1089 LiveInterval &LI = getInterval(Reg); local [all...] |
H A D | RegisterCoalescer.cpp | 1047 LiveInterval &LI = LIS->getInterval(CP.getSrcReg()); local 1048 DEBUG(dbgs() << "\tCopy already coalesced: " << LI << '\n'); 1049 LiveQueryResult LRQ = LI.Query(LIS->getInstructionIndex(CopyMI)); 1054 LI.MergeValueNumberInto(DefVNI, ReadVNI); 1055 DEBUG(dbgs() << "\tMerged values: " << LI << '\n'); 1279 LiveInterval &LI; member in class:__anon2173::JoinVals 1293 // Value number assignments. Maps value numbers in LI to entries in NewVNInfo. 1325 // Per-value info for LI. The lane bit masks are all relative to the final 1338 // Value in LI being redefined by this def. 1371 // One entry per value number in LI 1914 << Def << ": " << LI << '\\n'); local 1941 DEBUG(dbgs() << "\\t\\tremoved " << i << '@' << Def << ": " << LI << '\\n'); local [all...] |
/freebsd-9.3-release/contrib/llvm/include/llvm/Analysis/ |
H A D | CFG.h | 61 /// Using DT or LI allows us to answer more quickly. LI reduces the cost of 65 /// on branchy code but not loops, and LI is most useful on code with loops but 69 const LoopInfo *LI = 0); 79 const LoopInfo *LI = 0);
|
H A D | LoopInfo.h | 241 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI); 590 LoopInfoBase<BasicBlock, Loop> LI; member in class:llvm::LoopInfo 602 LoopInfoBase<BasicBlock, Loop>& getBase() { return LI; } 609 inline iterator begin() const { return LI.begin(); } 610 inline iterator end() const { return LI.end(); } 611 inline reverse_iterator rbegin() const { return LI.rbegin(); } 612 inline reverse_iterator rend() const { return LI.rend(); } 613 bool empty() const { return LI.empty(); } 619 return LI.getLoopFor(BB); 625 return LI [all...] |
H A D | LoopIterator.h | 64 void perform(LoopInfo *LI); 129 LoopInfo *LI; member in class:llvm::LoopBlocksTraversal 133 DFS(Storage), LI(LInfo) {} 154 if (!DFS.L->contains(LI->getLoopFor(BB)))
|
/freebsd-9.3-release/contrib/llvm/tools/llvm-diff/ |
H A D | DifferenceEngine.cpp | 195 BasicBlock::iterator LI = L->begin(), LE = L->end(); local 199 assert(LI != LE && RI != R->end()); 200 Instruction *LeftI = &*LI, *RightI = &*RI; 213 ++LI, ++RI; 214 } while (LI != LE); // This is sufficient: we can't get equality of 219 for (LI = L->begin(), RI = R->begin(); LI != LE; ++LI, ++RI) 220 unify(&*LI, &*RI); 224 void runBlockDiff(BasicBlock::iterator LI, BasicBloc 277 InvokeInst *LI = cast<InvokeInst>(L); local 289 BranchInst *LI = cast<BranchInst>(L); local 307 SwitchInst *LI = cast<SwitchInst>(L); local 545 BasicBlock::iterator LI = LStart, RI = RStart; local [all...] |
/freebsd-9.3-release/contrib/llvm/lib/Analysis/ |
H A D | CFG.cpp | 119 static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) { argument 120 const Loop *L = LI->getLoopFor(BB); 129 static bool loopContainsBoth(const LoopInfo *LI, argument 131 const Loop *L1 = getOutermostLoop(LI, BB1); 132 const Loop *L2 = getOutermostLoop(LI, BB2); 139 const LoopInfo *LI) { 157 if (LI && loopContainsBoth(LI, BB, StopBB)) 166 if (const Loop *Outer = LI ? getOutermostLoop(LI, B 136 isPotentiallyReachableInner(SmallVectorImpl<BasicBlock *> &Worklist, BasicBlock *StopBB, const DominatorTree *DT, const LoopInfo *LI) argument 182 isPotentiallyReachable(const BasicBlock *A, const BasicBlock *B, const DominatorTree *DT, const LoopInfo *LI) argument 194 isPotentiallyReachable(const Instruction *A, const Instruction *B, const DominatorTree *DT, const LoopInfo *LI) argument [all...] |
H A D | Loads.cpp | 113 if (LoadInst *LI = dyn_cast<LoadInst>(BBI)) { 114 if (AreEquivalentAddressValues(LI->getOperand(0), V)) return true; 170 if (LoadInst *LI = dyn_cast<LoadInst>(Inst)) 171 if (AreEquivalentAddressValues(LI->getOperand(0), Ptr)) { 172 if (TBAATag) *TBAATag = LI->getMetadata(LLVMContext::MD_tbaa); 173 return LI;
|
H A D | IVUsers.cpp | 50 ScalarEvolution *SE, LoopInfo *LI) { 58 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR); 62 return isInteresting(AR->getStart(), I, L, SE, LI) && 63 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI); 71 if (isInteresting(*OI, I, L, SE, LI)) { 86 const LoopInfo *LI, 92 Loop *DomLoop = LI->getLoopFor(DomBB); 142 if (!isInteresting(ISE, I, L, SE, LI)) 165 if (!isSimplifiedLoopNest(UseBB, DT, LI, SimpleLoopNests)) 175 if (LI 49 isInteresting(const SCEV *S, const Instruction *I, const Loop *L, ScalarEvolution *SE, LoopInfo *LI) argument 85 isSimplifiedLoopNest(BasicBlock *BB, const DominatorTree *DT, const LoopInfo *LI, SmallPtrSet<Loop*,16> &SimpleLoopNests) argument [all...] |
H A D | LoopInfo.cpp | 425 LoopInfo *LI; member in class:__anon2072::UnloopUpdater 441 Unloop(UL), LI(LInfo), DFS(UL), FoundIB(false) {} 460 LoopBlocksTraversal Traversal(DFS, LI); 464 Loop *L = LI->getLoopFor(*POI); 471 LI->changeLoopFor(*POI, NL); 492 Loop *L = LI->getLoopFor(*POI); 497 LI->changeLoopFor(*POI, NL); 511 Loop *OuterParent = LI->getLoopFor(*BI); 538 LI->addTopLevelLoop(Subloop); 575 Loop *L = LI 722 perform(LoopInfo *LI) argument [all...] |
H A D | LoopPass.cpp | 64 LI = NULL; 71 LI->updateUnloop(L); 102 LI->addTopLevelLoop(L); 180 LI = &getAnalysis<LoopInfo>(); 195 for (LoopInfo::reverse_iterator I = LI->rbegin(), E = LI->rend(); I != E; ++I) 248 TimeRegion PassTimer(getPassTimer(LI));
|
H A D | Delinearization.cpp | 43 LoopInfo *LI; member in class:__anon2057::Delinearization 68 LI = &getAnalysis<LoopInfo>(); 95 for (Loop *L = LI->getLoopFor(BB); L != NULL; L = L->getParentLoop()) {
|
/freebsd-9.3-release/contrib/llvm/lib/Transforms/Scalar/ |
H A D | LoopDeletion.cpp | 114 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end(); 115 LI != LE; ++LI) { 116 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end(); 207 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end(); 208 LI != LE; ++LI) { 211 ChildNodes.insert(ChildNodes.begin(), DT[*LI]->begin(), DT[*LI] [all...] |
H A D | LowerAtomic.cpp | 98 static bool LowerLoadInst(LoadInst *LI) { argument 99 LI->setAtomic(NotAtomic); 124 else if (LoadInst *LI = dyn_cast<LoadInst>(Inst)) { 125 if (LI->isAtomic()) 126 LowerLoadInst(LI);
|
H A D | ScalarReplAggregates.cpp | 182 void RewriteLoadUserOfWholeAlloca(LoadInst *LI, AllocaInst *AI, 472 if (LoadInst *LI = dyn_cast<LoadInst>(User)) { 474 if (!LI->isSimple()) 477 if (LI->getType()->isX86_MMXTy()) 480 MergeInTypeForLoadOrStore(LI->getType(), Offset); 627 if (LoadInst *LI = dyn_cast<LoadInst>(User)) { 631 = ConvertScalar_ExtractValue(LoadedVal, LI->getType(), Offset, 633 LI->replaceAllUsesWith(NewLoadVal); 634 LI->eraseFromParent(); 1083 if (LoadInst *LI 1143 LoadInst *LI = dyn_cast<LoadInst>(*UI); local 1184 LoadInst *LI = dyn_cast<LoadInst>(*UI); local 1329 LoadInst *LI = cast<LoadInst>(SI->use_back()); local 1376 LoadInst *LI = cast<LoadInst>(PN->use_back()); local 2446 RewriteLoadUserOfWholeAlloca(LoadInst *LI, AllocaInst *AI, SmallVectorImpl<AllocaInst *> &NewElts) argument 2453 DEBUG(dbgs() << "PROMOTING LOAD OF WHOLE ALLOCA: " << *AI << '\\n' << *LI local [all...] |
/freebsd-9.3-release/contrib/llvm/lib/CodeGen/AsmPrinter/ |
H A D | ErlangGCPrinter.cpp | 112 for (GCFunctionInfo::live_iterator LI = MD.live_begin(PI), 114 LI != LE; ++LI) { 117 AP.EmitInt16(LI->StackOffset / IntPtrSize);
|
/freebsd-9.3-release/contrib/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineLoadStoreAlloca.cpp | 57 if (LoadInst *LI = dyn_cast<LoadInst>(U)) { 59 if (!LI->isSimple()) return false; 283 static Instruction *InstCombineLoadCast(InstCombiner &IC, LoadInst &LI, argument 285 User *CI = cast<User>(LI.getOperand(0)); 322 LI.getType()->isPtrOrPtrVectorTy()) && 330 IC.Builder->CreateLoad(CastOp, LI.isVolatile(), CI->getName()); 331 NewLoad->setAlignment(LI.getAlignment()); 332 NewLoad->setAtomic(LI.getOrdering(), LI.getSynchScope()); 334 return new BitCastInst(NewLoad, LI 341 visitLoadInst(LoadInst &LI) argument [all...] |
/freebsd-9.3-release/contrib/llvm/lib/Transforms/Utils/ |
H A D | PromoteMemoryToRegister.cpp | 67 if (const LoadInst *LI = dyn_cast<LoadInst>(U)) { 70 if (LI->isVolatile()) 144 LoadInst *LI = cast<LoadInst>(User); local 147 UsingBlocks.push_back(LI->getParent()); 148 AllocaPointerVal = LI; 368 LoadInst *LI = cast<LoadInst>(UserInst); local 375 if (LI->getParent() == StoreBB) { 382 if (unsigned(StoreIndex) > LBI.getInstructionIndex(LI)) { 388 } else if (LI->getParent() != StoreBB && 389 !DT.dominates(StoreBB, LI 471 LoadInst *LI = dyn_cast<LoadInst>(*UI++); local [all...] |
H A D | BreakCriticalEdges.cpp | 213 LoopInfo *LI = P->getAnalysisIfAvailable<LoopInfo>(); local 216 if (DT == 0 && LI == 0) 275 if (LI) { 276 if (Loop *TIL = LI->getLoopFor(TIBB)) { 278 // either, and thus LI doesn't need to be updated. 279 if (Loop *DestLoop = LI->getLoopFor(DestBB)) { 282 DestLoop->addBasicBlockToLoop(NewBB, LI->getBase()); 285 TIL->addBasicBlockToLoop(NewBB, LI->getBase()); 288 DestLoop->addBasicBlockToLoop(NewBB, LI->getBase()); 297 P->addBasicBlockToLoop(NewBB, LI [all...] |