Lines Matching defs:CounterCoverageMappingBuilder
539 struct CounterCoverageMappingBuilder struct
543 llvm::DenseMap<const Stmt *, unsigned> &CounterMap;
546 std::vector<SourceMappingRegion> RegionStack;
548 CounterExpressionBuilder Builder;
554 SourceLocation MostRecentLocation;
557 bool HasTerminateStmt = false;
560 Counter GapRegionCounter;
563 Counter subtractCounters(Counter LHS, Counter RHS, bool Simplify = true) { in subtractCounters()
568 Counter addCounters(Counter LHS, Counter RHS, bool Simplify = true) { in addCounters()
572 Counter addCounters(Counter C1, Counter C2, Counter C3, in addCounters()
580 Counter getRegionCounter(const Stmt *S) { in getRegionCounter()
588 size_t pushRegion(Counter Count, in pushRegion()
602 size_t locationDepth(SourceLocation Loc) { in locationDepth()
615 void popRegions(size_t ParentIndex) { in popRegions()
692 SourceMappingRegion &getRegion() { in getRegion()
699 Counter propagateCounts(Counter TopCount, const Stmt *S, in propagateCounts()
718 bool ConditionFoldsToBool(const Expr *Cond) { in ConditionFoldsToBool()
727 void createBranchRegion(const Expr *C, Counter TrueCnt, Counter FalseCnt) { in createBranchRegion()
754 void createSwitchCaseRegion(const SwitchCase *SC, Counter TrueCnt, in createSwitchCaseRegion()
764 bool isRegionAlreadyAdded(SourceLocation StartLoc, SourceLocation EndLoc, in isRegionAlreadyAdded()
776 void adjustForOutOfOrderTraversal(SourceLocation EndLoc) { in adjustForOutOfOrderTraversal()
795 void handleFileExit(SourceLocation NewLoc) { in handleFileExit()
863 void extendRegion(const Stmt *S) { in extendRegion()
873 void terminateRegion(const Stmt *S) { in terminateRegion()
884 std::optional<SourceRange> findGapAreaBetween(SourceLocation AfterLoc, in findGapAreaBetween()
931 void fillGapAreaWithCount(SourceLocation StartLoc, SourceLocation EndLoc, in fillGapAreaWithCount()
944 struct BreakContinue {
948 SmallVector<BreakContinue, 8> BreakContinueStack;
950 CounterCoverageMappingBuilder( in CounterCoverageMappingBuilder() argument
957 void write(llvm::raw_ostream &OS) { in write()
972 void VisitStmt(const Stmt *S) { in VisitStmt()
1000 void VisitDecl(const Decl *D) { in VisitDecl()
1020 void VisitReturnStmt(const ReturnStmt *S) { in VisitReturnStmt()
1027 void VisitCoroutineBodyStmt(const CoroutineBodyStmt *S) { in VisitCoroutineBodyStmt()
1032 void VisitCoreturnStmt(const CoreturnStmt *S) { in VisitCoreturnStmt()
1039 void VisitCXXThrowExpr(const CXXThrowExpr *E) { in VisitCXXThrowExpr()
1046 void VisitGotoStmt(const GotoStmt *S) { terminateRegion(S); } in VisitGotoStmt()
1048 void VisitLabelStmt(const LabelStmt *S) { in VisitLabelStmt()
1057 void VisitBreakStmt(const BreakStmt *S) { in VisitBreakStmt()
1066 void VisitContinueStmt(const ContinueStmt *S) { in VisitContinueStmt()
1073 void VisitCallExpr(const CallExpr *E) { in VisitCallExpr()
1083 void VisitWhileStmt(const WhileStmt *S) { in VisitWhileStmt()
1123 void VisitDoStmt(const DoStmt *S) { in VisitDoStmt()
1156 void VisitForStmt(const ForStmt *S) { in VisitForStmt()
1213 void VisitCXXForRangeStmt(const CXXForRangeStmt *S) { in VisitCXXForRangeStmt()
1252 void VisitObjCForCollectionStmt(const ObjCForCollectionStmt *S) { in VisitObjCForCollectionStmt()
1279 void VisitSwitchStmt(const SwitchStmt *S) { in VisitSwitchStmt()
1353 void VisitSwitchCase(const SwitchCase *S) { in VisitSwitchCase()
1376 void VisitIfStmt(const IfStmt *S) { in VisitIfStmt()
1433 void VisitCXXTryStmt(const CXXTryStmt *S) { in VisitCXXTryStmt()
1448 void VisitCXXCatchStmt(const CXXCatchStmt *S) { in VisitCXXCatchStmt()
1452 void VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) { in VisitAbstractConditionalOperator()
1480 void VisitBinLAnd(const BinaryOperator *E) { in VisitBinLAnd()
1507 void VisitBinLOr(const BinaryOperator *E) { in VisitBinLOr()
1534 void VisitLambdaExpr(const LambdaExpr *LE) { in VisitLambdaExpr()