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

Lines Matching refs:PInfo

446 setStateForVarOrTmp(ConsumedStateMap *StateMap, const PropagationInfo &PInfo,
448 assert(PInfo.isVar() || PInfo.isTmp());
450 if (PInfo.isVar())
451 StateMap->setState(PInfo.getVar(), State);
453 StateMap->setState(PInfo.getTmp(), State);
494 void checkCallability(const PropagationInfo &PInfo,
548 PropagationInfo& PInfo = Entry->second;
549 ConsumedState CS = PInfo.getAsState(StateMap);
552 if (NS != CS_None && PInfo.isPointerToValue())
553 setStateForVarOrTmp(StateMap, PInfo, NS);
561 PropagationInfo& PInfo = Entry->second;
562 return PInfo.getAsState(StateMap);
571 PropagationInfo& PInfo = Entry->second;
572 if (PInfo.isPointerToValue())
573 setStateForVarOrTmp(StateMap, PInfo, NS);
579 void ConsumedStmtVisitor::checkCallability(const PropagationInfo &PInfo,
582 assert(!PInfo.isTest());
588 if (PInfo.isVar()) {
589 ConsumedState VarState = StateMap->getState(PInfo.getVar());
595 FunDecl->getNameAsString(), PInfo.getVar()->getNameAsString(),
598 ConsumedState TmpState = PInfo.getAsState(StateMap);
630 PropagationInfo PInfo = Entry->second;
634 ConsumedState ParamState = PInfo.getAsState(StateMap);
648 setStateForVarOrTmp(StateMap, PInfo, mapReturnTypestateAttrState(RT));
650 setStateForVarOrTmp(StateMap, PInfo, consumed::CS_Consumed);
654 setStateForVarOrTmp(StateMap, PInfo, consumed::CS_Unknown);
663 PropagationInfo PInfo = Entry->second;
664 checkCallability(PInfo, FunD, Call->getExprLoc());
667 if (PInfo.isVar()) {
668 StateMap->setState(PInfo.getVar(), mapSetTypestateAttrState(STA));
671 else if (PInfo.isTmp()) {
672 StateMap->setState(PInfo.getTmp(), mapSetTypestateAttrState(STA));
676 else if (isTestingFunction(FunD) && PInfo.isVar()) {
678 PropagationInfo(PInfo.getVar(), testsFor(FunD))));
921 PropagationInfo PInfo = VIT->second;
922 ConsumedState St = PInfo.getAsState(StateMap);
950 static void splitVarStateForIfBinOp(const PropagationInfo &PInfo,
953 const VarTestResult &LTest = PInfo.getLTest(),
954 &RTest = PInfo.getRTest();
960 if (PInfo.testEffectiveOp() == EO_And) {
988 if (PInfo.testEffectiveOp() == EO_And) {
1232 PropagationInfo PInfo;
1238 PInfo = Visitor.getInfo(Cond);
1239 if (!PInfo.isValid() && isa<BinaryOperator>(Cond))
1240 PInfo = Visitor.getInfo(cast<BinaryOperator>(Cond)->getRHS());
1242 if (PInfo.isVarTest()) {
1245 splitVarStateForIf(IfNode, PInfo.getVarTest(), CurrStates.get(),
1247 } else if (PInfo.isBinTest()) {
1248 CurrStates->setSource(PInfo.testSourceNode());
1249 FalseStates->setSource(PInfo.testSourceNode());
1250 splitVarStateForIfBinOp(PInfo, CurrStates.get(), FalseStates.get());
1256 PInfo = Visitor.getInfo(BinOp->getLHS());
1257 if (!PInfo.isVarTest()) {
1259 PInfo = Visitor.getInfo(BinOp->getRHS());
1261 if (!PInfo.isVarTest())
1271 const VarTestResult &Test = PInfo.getVarTest();