Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Counter

35 /// \brief A region of source code that can be mapped to a counter.
37 Counter Count;
46 SourceMappingRegion(Counter Count, Optional<SourceLocation> LocStart,
50 const Counter &getCounter() const { return Count; }
52 void setCounter(Counter C) { Count = C; }
240 /// \brief Generate the coverage counter mapping regions from collected
312 SourceRegions.emplace_back(Counter(), getStart(Body), getEnd(Body));
345 /// \brief Return a counter for the subtraction of \c RHS from \c LHS
346 Counter subtractCounters(Counter LHS, Counter RHS) {
350 /// \brief Return a counter for the sum of \c LHS and \c RHS.
351 Counter addCounters(Counter LHS, Counter RHS) {
355 Counter addCounters(Counter C1, Counter C2, Counter C3) {
359 Counter addCounters(Counter C1, Counter C2, Counter C3, Counter C4) {
363 /// \brief Return the region counter for the given statement.
365 /// This should only be called on statements that have a dedicated counter.
366 Counter getRegionCounter(const Stmt *S) {
367 return Counter::getCounter(CounterMap[S]);
374 size_t pushRegion(Counter Count, Optional<SourceLocation> StartLoc = None,
431 Counter propagateCounts(Counter TopCount, const Stmt *S) {
434 Counter ExitCount = getRegion().getCounter();
487 Optional<Counter> ParentCounter;
542 pushRegion(Counter::getZero());
547 Counter BreakCount;
548 Counter ContinueCount;
626 Counter ParentCount = getRegion().getCounter();
627 Counter BodyCount = getRegionCounter(S);
632 Counter BackedgeCount = propagateCounts(BodyCount, S->getBody());
636 Counter CondCount =
641 Counter OutCount =
650 Counter ParentCount = getRegion().getCounter();
651 Counter BodyCount = getRegionCounter(S);
655 Counter BackedgeCount =
659 Counter CondCount = addCounters(BackedgeCount, BC.ContinueCount);
662 Counter OutCount =
673 Counter ParentCount = getRegion().getCounter();
674 Counter BodyCount = getRegionCounter(S);
679 Counter BackedgeCount = propagateCounts(BodyCount, S->getBody());
688 Counter CondCount =
695 Counter OutCount =
706 Counter ParentCount = getRegion().getCounter();
707 Counter BodyCount = getRegionCounter(S);
711 Counter BackedgeCount = propagateCounts(BodyCount, S->getBody());
714 Counter LoopCount =
716 Counter OutCount =
726 Counter ParentCount = getRegion().getCounter();
727 Counter BodyCount = getRegionCounter(S);
731 Counter BackedgeCount = propagateCounts(BodyCount, S->getBody());
734 Counter LoopCount =
736 Counter OutCount =
757 pushRegion(Counter::getZero(), getStart(CS->body_front()),
764 propagateCounts(Counter::getZero(), Body);
771 Counter ExitCount = getRegionCounter(S);
780 Counter Count = addCounters(Parent.getCounter(), getRegionCounter(S));
802 Counter ParentCount = getRegion().getCounter();
803 Counter ThenCount = getRegionCounter(S);
805 // Emitting a counter for the condition makes it easier to interpret the
806 // counter for the body when looking at the coverage.
810 Counter OutCount = propagateCounts(ThenCount, S->getThen());
812 Counter ElseCount = subtractCounters(ParentCount, ThenCount);
829 Counter ExitCount = getRegionCounter(S);
840 Counter ParentCount = getRegion().getCounter();
841 Counter TrueCount = getRegionCounter(E);