Lines Matching defs:CounterCoverageMappingBuilder
529 struct CounterCoverageMappingBuilder struct
533 llvm::DenseMap<const Stmt *, unsigned> &CounterMap;
536 std::vector<SourceMappingRegion> RegionStack;
538 CounterExpressionBuilder Builder;
544 SourceLocation MostRecentLocation;
547 bool HasTerminateStmt = false;
550 Counter GapRegionCounter;
553 Counter subtractCounters(Counter LHS, Counter RHS) { in subtractCounters()
558 Counter addCounters(Counter LHS, Counter RHS) { in addCounters()
562 Counter addCounters(Counter C1, Counter C2, Counter C3) { in addCounters()
569 Counter getRegionCounter(const Stmt *S) { in getRegionCounter()
577 size_t pushRegion(Counter Count, Optional<SourceLocation> StartLoc = None, in pushRegion()
590 size_t locationDepth(SourceLocation Loc) { in locationDepth()
603 void popRegions(size_t ParentIndex) { in popRegions()
680 SourceMappingRegion &getRegion() { in getRegion()
687 Counter propagateCounts(Counter TopCount, const Stmt *S, in propagateCounts()
706 bool ConditionFoldsToBool(const Expr *Cond) { in ConditionFoldsToBool()
715 void createBranchRegion(const Expr *C, Counter TrueCnt, Counter FalseCnt) { in createBranchRegion()
742 void createSwitchCaseRegion(const SwitchCase *SC, Counter TrueCnt, in createSwitchCaseRegion()
752 bool isRegionAlreadyAdded(SourceLocation StartLoc, SourceLocation EndLoc, in isRegionAlreadyAdded()
766 void adjustForOutOfOrderTraversal(SourceLocation EndLoc) { in adjustForOutOfOrderTraversal()
785 void handleFileExit(SourceLocation NewLoc) { in handleFileExit()
853 void extendRegion(const Stmt *S) { in extendRegion()
863 void terminateRegion(const Stmt *S) { in terminateRegion()
874 Optional<SourceRange> findGapAreaBetween(SourceLocation AfterLoc, in findGapAreaBetween()
921 void fillGapAreaWithCount(SourceLocation StartLoc, SourceLocation EndLoc, in fillGapAreaWithCount()
934 struct BreakContinue {
938 SmallVector<BreakContinue, 8> BreakContinueStack;
940 CounterCoverageMappingBuilder( in CounterCoverageMappingBuilder() function
947 void write(llvm::raw_ostream &OS) { in write()
962 void VisitStmt(const Stmt *S) { in VisitStmt()
990 void VisitDecl(const Decl *D) { in VisitDecl()
1010 void VisitReturnStmt(const ReturnStmt *S) { in VisitReturnStmt()
1017 void VisitCoroutineBodyStmt(const CoroutineBodyStmt *S) { in VisitCoroutineBodyStmt()
1022 void VisitCoreturnStmt(const CoreturnStmt *S) { in VisitCoreturnStmt()
1029 void VisitCXXThrowExpr(const CXXThrowExpr *E) { in VisitCXXThrowExpr()
1036 void VisitGotoStmt(const GotoStmt *S) { terminateRegion(S); } in VisitGotoStmt()
1038 void VisitLabelStmt(const LabelStmt *S) { in VisitLabelStmt()
1047 void VisitBreakStmt(const BreakStmt *S) { in VisitBreakStmt()
1056 void VisitContinueStmt(const ContinueStmt *S) { in VisitContinueStmt()
1063 void VisitCallExpr(const CallExpr *E) { in VisitCallExpr()
1073 void VisitWhileStmt(const WhileStmt *S) { in VisitWhileStmt()
1113 void VisitDoStmt(const DoStmt *S) { in VisitDoStmt()
1146 void VisitForStmt(const ForStmt *S) { in VisitForStmt()
1203 void VisitCXXForRangeStmt(const CXXForRangeStmt *S) { in VisitCXXForRangeStmt()
1242 void VisitObjCForCollectionStmt(const ObjCForCollectionStmt *S) { in VisitObjCForCollectionStmt()
1269 void VisitSwitchStmt(const SwitchStmt *S) { in VisitSwitchStmt()
1338 void VisitSwitchCase(const SwitchCase *S) { in VisitSwitchCase()
1361 void VisitIfStmt(const IfStmt *S) { in VisitIfStmt()
1412 void VisitCXXTryStmt(const CXXTryStmt *S) { in VisitCXXTryStmt()
1427 void VisitCXXCatchStmt(const CXXCatchStmt *S) { in VisitCXXCatchStmt()
1431 void VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) { in VisitAbstractConditionalOperator()
1459 void VisitBinLAnd(const BinaryOperator *E) { in VisitBinLAnd()
1486 void VisitBinLOr(const BinaryOperator *E) { in VisitBinLOr()
1513 void VisitLambdaExpr(const LambdaExpr *LE) { in VisitLambdaExpr()