Searched refs:LVI (Results 1 - 7 of 7) sorted by relevance

/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCorrelatedValuePropagation.cpp126 static bool processSelect(SelectInst *S, LazyValueInfo *LVI) { argument
130 Constant *C = LVI->getConstant(S->getCondition(), S->getParent(), S);
160 static bool simplifyCommonValuePhi(PHINode *P, LazyValueInfo *LVI, argument
193 if (C != LVI->getConstantOnEdge(CommonValue, IncomingBB, ToBB, P))
212 static bool processPHI(PHINode *P, LazyValueInfo *LVI, DominatorTree *DT, argument
221 Value *V = LVI->getConstantOnEdge(Incoming, P->getIncomingBlock(i), BB, P);
224 // LVI can tells us the value. In that case replace the incoming value with
233 if (Constant *C = LVI->getConstantOnEdge(
240 // Once LVI learns to handle vector types, we could also add support
245 // Look if the select has a constant but LVI tell
282 processMemAccess(Instruction *I, LazyValueInfo *LVI) argument
303 processCmp(CmpInst *Cmp, LazyValueInfo *LVI) argument
337 processSwitch(SwitchInst *I, LazyValueInfo *LVI, DominatorTree *DT) argument
435 willNotOverflow(BinaryOpIntrinsic *BO, LazyValueInfo *LVI) argument
495 processOverflowIntrinsic(WithOverflowInst *WO, LazyValueInfo *LVI) argument
519 processSaturatingInst(SaturatingInst *SI, LazyValueInfo *LVI) argument
538 processCallSite(CallSite CS, LazyValueInfo *LVI) argument
608 hasPositiveOperands(BinaryOperator *SDI, LazyValueInfo *LVI) argument
620 processUDivOrURem(BinaryOperator *Instr, LazyValueInfo *LVI) argument
660 processSRem(BinaryOperator *SDI, LazyValueInfo *LVI) argument
682 processSDiv(BinaryOperator *SDI, LazyValueInfo *LVI) argument
700 processAShr(BinaryOperator *SDI, LazyValueInfo *LVI) argument
720 processSExt(SExtInst *SDI, LazyValueInfo *LVI) argument
741 processBinOp(BinaryOperator *BinOp, LazyValueInfo *LVI) argument
784 processAnd(BinaryOperator *BinOp, LazyValueInfo *LVI) argument
807 getConstantAt(Value *V, Instruction *At, LazyValueInfo *LVI) argument
830 runImpl(Function &F, LazyValueInfo *LVI, DominatorTree *DT, const SimplifyQuery &SQ) argument
928 LazyValueInfo *LVI = &AM.getResult<LazyValueAnalysis>(F); local
[all...]
H A DJumpThreading.cpp301 // Get DT analysis before LVI. When LVI is initialized it conditionally adds
304 auto LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); local
315 bool Changed = Impl.runImpl(F, TLI, LVI, AA, &DTU, F.hasProfileData(),
318 dbgs() << "LVI for function '" << F.getName() << "':\n";
319 LVI->printLVI(F, *DT, dbgs());
327 // Get DT analysis before LVI. When LVI is initialized it conditionally adds
330 auto &LVI = AM.getResult<LazyValueAnalysis>(F); local
342 bool Changed = runImpl(F, &TLI, &LVI,
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerSwitch.cpp104 AssumptionCache *AC, LazyValueInfo *LVI);
148 LazyValueInfo *LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); local
153 // Currently the DominatorTree is only used by LowerSwitch indirectly via LVI
157 LVI->disableDT();
172 processSwitchInst(SI, DeleteList, AC, LVI);
177 LVI->eraseBlock(BB);
443 AssumptionCache *AC, LazyValueInfo *LVI) {
493 // switch, while LowerSwitch only needs to call LVI once per switch.
499 const ConstantRange LVIRange = LVI->getConstantRange(Val, OrigBlock, SI);
441 processSwitchInst(SwitchInst *SI, SmallPtrSetImpl<BasicBlock *> &DeleteList, AssumptionCache *AC, LazyValueInfo *LVI) argument
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DSplitKit.cpp217 LiveInterval::const_iterator LVI = CurLI->begin();
226 LIS.getMBBFromIndex(LVI->start)->getIterator();
241 if (LVI->end < Stop)
252 // LVI is the first live segment overlapping MBB.
253 BI.LiveIn = LVI->start <= Start;
257 assert(LVI->start == LVI->valno->def && "Dangling Segment start");
258 assert(LVI->start == BI.FirstInstr && "First instr should be a def");
264 while (LVI->end < Stop) {
265 SlotIndex LastStop = LVI
320 LiveInterval::iterator LVI = li->begin(); local
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h79 LazyValueInfo *LVI; member in class:llvm::JumpThreadingPass
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DLazyValueInfo.cpp93 /// not confuse the rest of LVI. Ideally, we'd always return Undefined, but
360 // information. Since this is an optional parameter in LVI, we require this
485 /// Disables use of the DominatorTree within LVI.
493 /// Enables use of the DominatorTree within LVI. Does nothing if the class
526 // PredicateInfo is used in LVI or CVP, we should be able to make the
1557 LLVM_DEBUG(dbgs() << "LVI Getting block end value " << *V << " at '"
1573 LLVM_DEBUG(dbgs() << "LVI Getting value " << *V << " at '" << CxtI->getName()
1591 LLVM_DEBUG(dbgs() << "LVI Getting edge value " << *V << " from '"
1873 // Note: The following bit of code is somewhat distinct from the rest of LVI;
1874 // LVI a
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DAttributor.cpp5175 /// Helper function to get a range from LVI for the associated value at
5183 LazyValueInfo *LVI =
5187 if (!LVI || !CtxI)
5189 return LVI->getConstantRange(&getAssociatedValue(),
5228 // Intersect a range given by LVI.

Completed in 415 milliseconds