================
@@ -36,6 +36,8 @@ class CodeGenPGO {
unsigned NumRegionCounters;
uint64_t FunctionHash;
std::unique_ptr<llvm::DenseMap<const Stmt *, CounterPair>> RegionCounterMap;
+ std::unique_ptr<llvm::DenseMap<const Stmt *, unsigned>>
+ CallContinuationCounterMap;
----------------
evodius96 wrote:
Thanks -- I think that's what I'm trying to wrap my head around. Strictly
speaking, a continuation counter is still a counter, and therefore `Executed`
has meaning for it. However, I think your dilemma is finding an optimal way to
designate the counter appropriately. The baked-in way Clang does this is to use
regions to identify how counters are interpreted, and so the counters would
still be in `RegionCounterMap` and be referenced by the region, and then you
could visualize it and process it appropriately, and you therefore wouldn't
need to redefine `CounterPair`.
However, adding a special region for this may be overkill, so I need to think
about this a bit.
@chapuni implemented `CounterPair` to make verification easier. `Executed`
would be used, but `Skipped` can just be `None`.
https://github.com/llvm/llvm-project/pull/201079
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits