Lines Matching defs:CounterCoverageMappingBuilder
884 struct CounterCoverageMappingBuilder struct
888 llvm::DenseMap<const Stmt *, unsigned> &CounterMap;
890 MCDC::State &MCDCState;
893 llvm::SmallVector<SourceMappingRegion> RegionStack;
897 llvm::DenseSet<const Stmt *> LeafExprSet;
900 MCDCCoverageBuilder MCDCBuilder;
902 CounterExpressionBuilder Builder;
908 SourceLocation MostRecentLocation;
911 bool HasTerminateStmt = false;
914 Counter GapRegionCounter;
917 Counter subtractCounters(Counter LHS, Counter RHS, bool Simplify = true) { in subtractCounters()
924 Counter addCounters(Counter LHS, Counter RHS, bool Simplify = true) { in addCounters()
930 Counter addCounters(Counter C1, Counter C2, Counter C3, in addCounters()
940 Counter getRegionCounter(const Stmt *S) { in getRegionCounter()
948 size_t pushRegion(Counter Count, in pushRegion()
976 size_t pushRegion(const mcdc::DecisionParameters &DecisionParams, in pushRegion()
985 size_t locationDepth(SourceLocation Loc) { in locationDepth()
998 void popRegions(size_t ParentIndex) { in popRegions()
1076 SourceMappingRegion &getRegion() { in getRegion()
1083 Counter propagateCounts(Counter TopCount, const Stmt *S, in propagateCounts()
1102 bool ConditionFoldsToBool(const Expr *Cond) { in ConditionFoldsToBool()
1111 void createBranchRegion(const Expr *C, Counter TrueCnt, Counter FalseCnt, in createBranchRegion()
1149 void createDecisionRegion(const Expr *C, in createDecisionRegion()
1156 void createSwitchCaseRegion(const SwitchCase *SC, Counter TrueCnt, in createSwitchCaseRegion()
1166 bool isRegionAlreadyAdded(SourceLocation StartLoc, SourceLocation EndLoc, in isRegionAlreadyAdded()
1178 void adjustForOutOfOrderTraversal(SourceLocation EndLoc) { in adjustForOutOfOrderTraversal()
1197 void handleFileExit(SourceLocation NewLoc) { in handleFileExit()
1266 void extendRegion(const Stmt *S) { in extendRegion()
1276 void terminateRegion(const Stmt *S) { in terminateRegion()
1287 std::optional<SourceRange> findGapAreaBetween(SourceLocation AfterLoc, in findGapAreaBetween()
1340 void fillGapAreaWithCount(SourceLocation StartLoc, SourceLocation EndLoc, in fillGapAreaWithCount()
1354 std::optional<SourceRange> findAreaStartingFromTo(SourceLocation StartingLoc, in findAreaStartingFromTo()
1396 void markSkipped(SourceLocation StartLoc, SourceLocation BeforeLoc) { in markSkipped()
1416 struct BreakContinue {
1420 SmallVector<BreakContinue, 8> BreakContinueStack;
1422 CounterCoverageMappingBuilder( in CounterCoverageMappingBuilder() function
1430 void write(llvm::raw_ostream &OS) { in write()
1445 void VisitStmt(const Stmt *S) { in VisitStmt()
1472 void VisitDecl(const Decl *D) { in VisitDecl()
1504 void VisitReturnStmt(const ReturnStmt *S) { in VisitReturnStmt()
1511 void VisitCoroutineBodyStmt(const CoroutineBodyStmt *S) { in VisitCoroutineBodyStmt()
1516 void VisitCoreturnStmt(const CoreturnStmt *S) { in VisitCoreturnStmt()
1523 void VisitCoroutineSuspendExpr(const CoroutineSuspendExpr *E) { in VisitCoroutineSuspendExpr()
1527 void VisitCXXThrowExpr(const CXXThrowExpr *E) { in VisitCXXThrowExpr()
1534 void VisitGotoStmt(const GotoStmt *S) { terminateRegion(S); } in VisitGotoStmt()
1536 void VisitLabelStmt(const LabelStmt *S) { in VisitLabelStmt()
1545 void VisitBreakStmt(const BreakStmt *S) { in VisitBreakStmt()
1555 void VisitContinueStmt(const ContinueStmt *S) { in VisitContinueStmt()
1563 void VisitCallExpr(const CallExpr *E) { in VisitCallExpr()
1573 void VisitWhileStmt(const WhileStmt *S) { in VisitWhileStmt()
1622 void VisitDoStmt(const DoStmt *S) { in VisitDoStmt()
1669 void VisitForStmt(const ForStmt *S) { in VisitForStmt()
1741 void VisitCXXForRangeStmt(const CXXForRangeStmt *S) { in VisitCXXForRangeStmt()
1788 void VisitObjCForCollectionStmt(const ObjCForCollectionStmt *S) { in VisitObjCForCollectionStmt()
1815 void VisitSwitchStmt(const SwitchStmt *S) { in VisitSwitchStmt()
1894 void VisitSwitchCase(const SwitchCase *S) { in VisitSwitchCase()
1919 void coverIfConsteval(const IfStmt *S) { in coverIfConsteval()
1951 void coverIfConstexpr(const IfStmt *S) { in coverIfConstexpr()
2002 void VisitIfStmt(const IfStmt *S) { in VisitIfStmt()
2075 void VisitCXXTryStmt(const CXXTryStmt *S) { in VisitCXXTryStmt()
2090 void VisitCXXCatchStmt(const CXXCatchStmt *S) { in VisitCXXCatchStmt()
2094 void VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) { in VisitAbstractConditionalOperator()
2140 void createOrCancelDecision(const BinaryOperator *E, unsigned Since) { in createOrCancelDecision()
2183 void cancelDecision(const BinaryOperator *E, unsigned Since, int NumTVs, in cancelDecision()
2205 bool isExprInSystemHeader(const BinaryOperator *E) const { in isExprInSystemHeader()
2212 void VisitBinLAnd(const BinaryOperator *E) { in VisitBinLAnd()
2264 bool shouldVisitRHS(const Expr *LHS) { in shouldVisitRHS()
2273 void VisitBinLOr(const BinaryOperator *E) { in VisitBinLOr()
2328 void VisitLambdaExpr(const LambdaExpr *LE) { in VisitLambdaExpr()
2333 void VisitArrayInitLoopExpr(const ArrayInitLoopExpr *AILE) { in VisitArrayInitLoopExpr()
2337 void VisitPseudoObjectExpr(const PseudoObjectExpr *POE) { in VisitPseudoObjectExpr()
2342 void VisitOpaqueValueExpr(const OpaqueValueExpr* OVE) { in VisitOpaqueValueExpr()