• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/

Lines Matching refs:LVI

301   // Get DT analysis before LVI. When LVI is initialized it conditionally adds
304 auto LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI();
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);
342 bool Changed = runImpl(F, &TLI, &LVI, &AA, &DTU, F.hasProfileData(),
361 LVI = LVI_;
412 LVI->eraseBlock(&BB);
430 LVI->eraseBlock(&BB);
440 LVI->enableDT();
455 // strictly dominated by BB), since LVI information is true from the
632 LVI->disableDT();
634 LVI->enableDT();
638 Constant *PredCst = LVI->getConstantOnEdge(V, P, BB, CxtI);
649 LVI->disableDT();
651 LVI->enableDT();
657 Constant *CI = LVI->getConstantOnEdge(InVal,
783 LVI->disableDT();
785 LVI->enableDT();
807 ResT = LVI->getPredicateOnEdge(Pred, LHS,
830 LVI->disableDT();
832 LVI->enableDT();
837 LVI->getPredicateOnEdge(Pred, CmpLHS,
862 LVI->disableDT();
864 LVI->enableDT();
869 ConstantRange CR = LVI->getConstantRangeOnEdge(
945 // If all else fails, see if LVI can figure out a constant value for us.
947 LVI->disableDT();
949 LVI->enableDT();
950 Constant *CI = LVI->getConstant(V, BB, CxtI);
1097 // If we're branching on a conditional, LVI might be able to determine
1110 LVI->disableDT();
1112 LVI->enableDT();
1114 LVI->getPredicateAt(CondCmp->getPredicate(), CondCmp->getOperand(0),
1128 // exactly one value as returned by LVI. RAUW is incorrect in the
1663 // exactly one value as returned by LVI. RAUW is incorrect in the
1897 LVI->eraseBlock(SinglePred);
1901 // BB code within one basic block `BB`), we need to invalidate the LVI
1902 // information associated with BB, because the LVI information need not be
1904 // Before the merge, LVI info and code is as follows:
1905 // SinglePred: <LVI info1 for %p val>
1910 // BB: <LVI info2 for %p val, i.e. %p is true>
1914 // Note that this LVI info for blocks BB and SinglPred is correct for %p
1916 // LVI info1 for SinglePred. We have the following code:
1917 // BB: <LVI info2 for %p val>
1921 // %x = use of %p <-- LVI info2 is correct from here onwards.
1923 // LVI info2 for BB is incorrect at the beginning of BB.
1925 // Invalidate LVI information for BB if the LVI is not provably true for
1928 LVI->eraseBlock(BB);
2082 LVI->disableDT();
2084 LVI->enableDT();
2085 LVI->threadEdge(PredBB, BB, SuccBB);
2528 LVI->disableDT();
2530 LVI->enableDT();
2532 LVI->getPredicateOnEdge(CondCmp->getPredicate(), SI->getOperand(1),
2535 LVI->getPredicateOnEdge(CondCmp->getPredicate(), SI->getOperand(2),