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