Searched refs:LI (Results 1 - 25 of 162) sorted by relevance

1234567

/external/llvm/lib/CodeGen/
H A DLiveRangeCalc.h77 // LI - The live range that is live-in to this block. The algorithms can
79 LiveInterval *LI; member in struct:llvm::LiveRangeCalc::LiveInBlock
82 // Cleared when the final value has been determined and LI has been updated.
87 // determined, the range from the block start to Kill will be added to LI.
94 : LI(li), DomNode(node), Kill(kill), Value(0) {}
103 /// findReachingDefs - Assuming that LI is live-in to KillMBB and killed at
104 /// Kill, search for values that can reach KillMBB. All blocks that need LI
110 VNInfo *findReachingDefs(LiveInterval *LI,
147 /// and uses. LI must be empty with no values.
148 void calculate(LiveInterval *LI);
173 createDeadDefs(LiveInterval *LI) argument
184 extendToUses(LiveInterval *LI) argument
221 addLiveInBlock(LiveInterval *LI, MachineDomTreeNode *DomNode, SlotIndex Kill = SlotIndex()) argument
[all...]
H A DLiveRangeEdit.cpp40 LiveInterval &LI = LIS.getOrCreateInterval(VReg); local
41 NewRegs.push_back(&LI);
42 return LI;
153 bool LiveRangeEdit::foldAsLoad(LiveInterval *LI, argument
158 for (MachineRegisterInfo::reg_nodbg_iterator I = MRI.reg_nodbg_begin(LI->reg),
197 if (UseMI->readsWritesVirtualRegister(LI->reg, &Ops).second)
206 DefMI->addRegisterDead(LI->reg, 0);
256 LiveInterval &LI = LIS.getInterval(Reg); local
264 LI.killedAt(Idx)))
265 ToShrink.insert(&LI);
319 LiveInterval *LI = ToShrink.back(); local
350 DEBUG(dbgs() << NumComp << " components: " << *LI << '\\n'); local
374 LiveInterval &LI = **I; local
[all...]
H A DLiveIntervalAnalysis.cpp141 if (LiveInterval *LI = RegUnitIntervals[i])
142 OS << PrintRegUnit(i, TRI) << " = " << *LI << '\n';
465 void LiveIntervals::computeVirtRegInterval(LiveInterval *LI) { argument
467 assert(LI->empty() && "Should only compute empty intervals.");
469 LRCalc->createDeadDefs(LI);
470 LRCalc->extendToUses(LI);
478 LiveInterval *LI = createInterval(Reg); local
479 VirtRegIntervals[Reg] = LI;
480 computeVirtRegInterval(LI);
520 void LiveIntervals::computeRegUnitInterval(LiveInterval *LI) { argument
747 LiveInterval *LI = &getInterval(Reg); local
826 hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const argument
881 checkRegMaskInterference(LiveInterval &LI, BitVector &UsableRegs) argument
1060 const LiveInterval* LI = P.first; local
1123 collectRanges(const MachineOperand &MO, LiveInterval *LI, RangeSet &Entering, RangeSet &Internal, RangeSet &Exiting, SlotIndex OldIdx) argument
1148 LiveInterval* LI = EI->first; local
1155 LiveInterval* LI = II->first; local
1166 LiveInterval* LI = EI->first; local
1212 LiveInterval* LI = P.first; local
1224 LiveInterval* LI = P.first; local
1290 LiveInterval* LI = P.first; local
1328 LiveInterval* LI = P.first; local
[all...]
H A DLiveRangeCalc.cpp38 void LiveRangeCalc::createDeadDefs(LiveInterval *LI, unsigned Reg) { argument
42 // LI->createDeadDef() will deduplicate.
56 // Create the def in LI. This may find an existing def.
57 LI->createDeadDef(Idx, *Alloc);
62 void LiveRangeCalc::extendToUses(LiveInterval *LI, unsigned Reg) { argument
101 extend(LI, Idx, Reg);
121 I->LI->addRange(LiveRange(Start, I->Kill, VNI));
123 I->LI->addRange(LiveRange(Start, End, VNI));
134 void LiveRangeCalc::extend(LiveInterval *LI, argument
137 assert(LI
174 findReachingDefs(LiveInterval *LI, MachineBasicBlock *KillMBB, SlotIndex Kill, unsigned PhysReg) argument
[all...]
H A DMachineVerifier.cpp213 const LiveInterval &LI);
215 const LiveInterval &LI);
397 const LiveInterval &LI) {
400 if (TargetRegisterInfo::isVirtualRegister(LI.reg))
401 *OS << PrintReg(LI.reg, TRI);
403 *OS << PrintRegUnit(LI.reg, TRI);
404 *OS << ' ' << LI << '\n'; local
408 const LiveInterval &LI) {
411 if (TargetRegisterInfo::isVirtualRegister(LI.reg))
412 *OS << PrintReg(LI
396 report(const char *msg, const MachineFunction *MF, const LiveInterval &LI) argument
407 report(const char *msg, const MachineBasicBlock *MBB, const LiveInterval &LI) argument
415 *OS << ' ' << LI << '\\n'; local
939 LiveInterval &LI = LiveStks->getInterval(MO->getIndex()); local
943 *OS << "Live stack: " << LI << '\\n'; local
947 *OS << "Live stack: " << LI << '\\n'; local
1000 const LiveInterval &LI = LiveInts->getInterval(Reg); local
1004 *OS << UseIdx << " is not live in " << LI << '\\n'; local
1010 *OS << "Live range: " << LI << '\\n'; local
1058 const LiveInterval &LI = LiveInts->getInterval(Reg); local
1068 *OS << DefIdx << " is not live in " << LI << '\\n'; local
1309 const LiveInterval &LI = LiveInts->getInterval(Reg); local
1320 verifyLiveIntervalValue(const LiveInterval &LI, VNInfo *VNI) argument
1403 verifyLiveIntervalSegment(const LiveInterval &LI, LiveInterval::const_iterator I) argument
1501 *OS << " in " << LI << '\\n'; local
1506 *OS << *I << " in " << LI << '\\n'; local
1566 verifyLiveInterval(const LiveInterval &LI) argument
[all...]
H A DStrongPHIElimination.cpp147 LiveIntervals *LI; member in class:__anon8740::StrongPHIElimination
182 MIIndexCompare(LiveIntervals *LiveIntervals) : LI(LiveIntervals) { }
185 return LI->getInstructionIndex(LHS) < LI->getInstructionIndex(RHS);
188 LiveIntervals *LI; member in struct:__anon8740::MIIndexCompare
237 LI = &getAnalysis<LiveIntervals>();
327 LI->RemoveMachineInstrFromMaps(PHI);
344 LiveInterval &DestLI = LI->getInterval(DestReg);
345 LiveInterval &NewLI = LI->getInterval(NewReg);
353 NewVNI = NewLI.createValueCopy(DestLR->valno, LI
[all...]
H A DLiveInterval.cpp545 iterator LE = end(), LI = std::upper_bound(begin(), LE, *RI);
551 iterator ReplaceI = LI;
555 if (LI != begin()) {
556 ReplaceI = llvm::prior(LI);
562 while (LI != LE && RI != RE) {
571 LiveRange R = *LI;
578 ++LI;
602 assert(RI == RE || LI == LE);
606 for (; LI != LE && (LI
[all...]
H A DLiveDebugVariables.cpp220 /// @param LI Restrict liveness to where LI has the value VNI. May be null.
221 /// @param VNI When LI is not null, this is the value to restrict to.
226 LiveInterval *LI, const VNInfo *VNI,
231 /// addDefsFromCopies - The value in LI/LocNo may be copies to other
234 /// @param LI Scan for copies of the value in LI->reg.
235 /// @param LocNo Location number of LI->reg.
238 void addDefsFromCopies(LiveInterval *LI, unsigned LocNo,
486 LiveInterval *LI, cons
485 extendDef(SlotIndex Idx, unsigned LocNo, LiveInterval *LI, const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument
547 addDefsFromCopies(LiveInterval *LI, unsigned LocNo, const SmallVectorImpl<SlotIndex> &Kills, SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, MachineRegisterInfo &MRI, LiveIntervals &LIS) argument
645 LiveInterval *LI = 0; local
660 LiveInterval *LI = &LIS.getRegUnit(Unit); local
770 LiveInterval *LI = NewRegs[i]; local
[all...]
/external/llvm/include/llvm/CodeGen/
H A DMachineLoopInfo.h73 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 DLiveIntervalAnalysis.h113 LiveInterval *LI = VirtRegIntervals[Reg]; local
114 assert(LI && "Interval does not exist for virtual register");
115 return *LI;
244 /// intervalIsInOneMBB - If LI is confined to a single basic block, return
245 /// a pointer to that block. If LI is live in to or out of any block,
247 MachineBasicBlock *intervalIsInOneMBB(const LiveInterval &LI) const;
249 /// Returns true if VNI is killed by any PHI-def values in LI.
251 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
305 /// checkRegMaskInterference - Test if LI is live across any register mask
309 /// Returns false if LI does
328 LiveInterval *LI = RegUnitIntervals[Unit]; local
[all...]
/external/llvm/include/llvm/Transforms/Utils/
H A DUnrollLoop.h26 unsigned TripMultiple, LoopInfo* LI, LPPassManager* LPM);
28 bool UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
/external/llvm/lib/TableGen/
H A DStringMatcher.cpp106 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...]
/external/llvm/tools/llvm-diff/
H A DDifferenceEngine.cpp197 BasicBlock::iterator LI = L->begin(), LE = L->end(); local
203 assert(LI != LE && RI != R->end());
204 Instruction *LeftI = &*LI, *RightI = &*RI;
217 ++LI, ++RI;
218 } while (LI != LE); // This is sufficient: we can't get equality of
223 for (LI = L->begin(), RI = R->begin(); LI != LE; ++LI, ++RI)
224 unify(&*LI, &*RI);
228 void runBlockDiff(BasicBlock::iterator LI, BasicBloc
281 InvokeInst *LI = cast<InvokeInst>(L); local
293 BranchInst *LI = cast<BranchInst>(L); local
311 SwitchInst *LI = cast<SwitchInst>(L); local
549 BasicBlock::iterator LI = LStart, RI = RStart; local
[all...]
/external/llvm/lib/Transforms/Scalar/
H A DLoopDeletion.cpp112 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end();
113 LI != LE; ++LI) {
114 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end();
205 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end();
206 LI != LE; ++LI) {
209 ChildNodes.insert(ChildNodes.begin(), DT[*LI]->begin(), DT[*LI]
[all...]
H A DLowerAtomic.cpp98 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 DScalarReplAggregates.cpp182 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
2452 RewriteLoadUserOfWholeAlloca(LoadInst *LI, AllocaInst *AI, SmallVector<AllocaInst*, 32> &NewElts) argument
2459 DEBUG(dbgs() << "PROMOTING LOAD OF WHOLE ALLOCA: " << *AI << '\\n' << *LI local
[all...]
/external/llvm/lib/Analysis/
H A DLoopInfo.cpp324 LoopInfo *LI; member in class:__anon8606::UnloopUpdater
340 Unloop(UL), LI(LInfo), DFS(UL), FoundIB(false) {}
359 LoopBlocksTraversal Traversal(DFS, LI);
363 Loop *L = LI->getLoopFor(*POI);
370 LI->changeLoopFor(*POI, NL);
391 Loop *L = LI->getLoopFor(*POI);
396 LI->changeLoopFor(*POI, NL);
410 Loop *OuterParent = LI->getLoopFor(*BI);
437 LI->addTopLevelLoop(Subloop);
474 Loop *L = LI
621 perform(LoopInfo *LI) argument
[all...]
H A DIVUsers.cpp50 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 DLoopPass.cpp64 LI = NULL;
71 LI->updateUnloop(L);
102 LI->addTopLevelLoop(L);
180 LI = &getAnalysis<LoopInfo>();
191 for (LoopInfo::reverse_iterator I = LI->rbegin(), E = LI->rend(); I != E; ++I)
244 TimeRegion PassTimer(getPassTimer(LI));
/external/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp57 if (LoadInst *LI = dyn_cast<LoadInst>(U)) {
59 if (!LI->isSimple()) return false;
293 static Instruction *InstCombineLoadCast(InstCombiner &IC, LoadInst &LI, argument
295 User *CI = cast<User>(LI.getOperand(0));
317 Idxs[0] = Constant::getNullValue(Type::getInt32Ty(LI.getContext()));
329 (SrcPTy->isPointerTy() == LI.getType()->isPointerTy()) &&
337 IC.Builder->CreateLoad(CastOp, LI.isVolatile(), CI->getName());
338 NewLoad->setAlignment(LI.getAlignment());
339 NewLoad->setAtomic(LI.getOrdering(), LI
348 visitLoadInst(LoadInst &LI) argument
[all...]
/external/llvm/lib/Transforms/Utils/
H A DPromoteMemoryToRegister.cpp90 if (const LoadInst *LI = dyn_cast<LoadInst>(U)) {
93 if (LI->isVolatile())
333 LoadInst *LI = cast<LoadInst>(User); local
336 UsingBlocks.push_back(LI->getParent());
337 AllocaPointerVal = LI;
706 if (LoadInst *LI = dyn_cast<LoadInst>(I)) {
707 if (LI->getOperand(0) != AI) continue;
851 LoadInst *LI = cast<LoadInst>(UserInst); local
858 if (LI->getParent() == StoreBB) {
865 if (unsigned(StoreIndex) > LBI.getInstructionIndex(LI)) {
961 LoadInst *LI = dyn_cast<LoadInst>(*UI++); local
[all...]
H A DBreakCriticalEdges.cpp247 LoopInfo *LI = P->getAnalysisIfAvailable<LoopInfo>(); local
251 if (DT == 0 && LI == 0 && PI == 0)
310 if (LI) {
311 if (Loop *TIL = LI->getLoopFor(TIBB)) {
313 // either, and thus LI doesn't need to be updated.
314 if (Loop *DestLoop = LI->getLoopFor(DestBB)) {
317 DestLoop->addBasicBlockToLoop(NewBB, LI->getBase());
320 TIL->addBasicBlockToLoop(NewBB, LI->getBase());
323 DestLoop->addBasicBlockToLoop(NewBB, LI->getBase());
332 P->addBasicBlockToLoop(NewBB, LI
[all...]
/external/llvm/include/llvm/Analysis/
H A DLoopInfo.h244 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
550 LoopInfoBase<BasicBlock, Loop> LI; member in class:llvm::LoopInfo
562 LoopInfoBase<BasicBlock, Loop>& getBase() { return LI; }
569 inline iterator begin() const { return LI.begin(); }
570 inline iterator end() const { return LI.end(); }
571 inline reverse_iterator rbegin() const { return LI.rbegin(); }
572 inline reverse_iterator rend() const { return LI.rend(); }
573 bool empty() const { return LI.empty(); }
579 return LI.getLoopFor(BB);
585 return LI
[all...]
H A DLoopIterator.h65 void perform(LoopInfo *LI);
130 LoopInfo *LI; member in class:llvm::LoopBlocksTraversal
134 DFS(Storage), LI(LInfo) {}
155 if (!DFS.L->contains(LI->getLoopFor(BB)))
/external/clang/utils/TableGen/
H A DOptParserEmitter.cpp165 const ListInit *LI = R.getValueAsListInit("Flags"); local
166 if (LI->empty()) {
170 for (unsigned i = 0, e = LI->size(); i != e; ++i) {
173 OS << dynamic_cast<DefInit*>(LI->getElement(i))->getDef()->getName();

Completed in 257 milliseconds

1234567