[llvm] [Coverage] Rework Decision/Expansion/Branch (PR #78969)

Jessica Paquette via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 23 17:49:05 PST 2024


================
@@ -582,6 +583,87 @@ static unsigned getMaxBitmapSize(const CounterMappingContext &Ctx,
   return MaxBitmapID + (SizeInBits / CHAR_BIT);
 }
 
+/// This holds the DecisionRegion and MCDCBranch(es) under it.
+/// Also traverses Expansion(s).
+struct DecisionRow {
+  /// The subject
+  const CounterMappingRegion *DecisionRegion;
+
+  /// They are reflected from `DecisionRegion` for convenience.
+  LineColPair DecisionStartLoc;
+  LineColPair DecisionEndLoc;
+
+  /// This is passed to `MCDCRecordProcessor`, so this should be compatible to
+  /// `ArrayRef<const CounterMappingRegion *>`.
+  SmallVector<const CounterMappingRegion *, 6> Branches;
+
+  /// Each `ID` in `Branches` should be unique.
----------------
ornata wrote:

I think this comment needs to be updated

https://github.com/llvm/llvm-project/pull/78969


More information about the llvm-commits mailing list