about summary refs log tree commit diff
path: root/compiler/rustc_middle/src
diff options
context:
space:
mode:
authorDorian Péron <peron@adacore.com>2024-04-10 10:13:04 +0000
committerDorian Péron <peron@adacore.com>2024-04-29 09:13:40 +0000
commit60ca9b6e29975ab36e5460d761d99681bef0f130 (patch)
tree7845b93e279e3d957f4931f3a5e4ab0c80c793d6 /compiler/rustc_middle/src
parentae8c023983247044838a1a8b5f6fb5dd606fa68d (diff)
downloadrust-60ca9b6e29975ab36e5460d761d99681bef0f130.tar.gz
rust-60ca9b6e29975ab36e5460d761d99681bef0f130.zip
mcdc-coverage: Get decision_depth from THIR lowering
Use decision context stack to handle nested decisions:
- Introduce MCDCDecisionCtx
- Use a stack of MCDCDecisionCtx to handle nested decisions
Diffstat (limited to 'compiler/rustc_middle/src')
-rw-r--r--compiler/rustc_middle/src/mir/coverage.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/mir/coverage.rs b/compiler/rustc_middle/src/mir/coverage.rs
index 6383074742d..a3fa69160a7 100644
--- a/compiler/rustc_middle/src/mir/coverage.rs
+++ b/compiler/rustc_middle/src/mir/coverage.rs
@@ -275,6 +275,9 @@ pub struct FunctionCoverageInfo {
     pub mcdc_bitmap_bytes: u32,
     pub expressions: IndexVec<ExpressionId, Expression>,
     pub mappings: Vec<Mapping>,
+    /// The depth of the deepest decision is used to know how many
+    /// temp condbitmaps should be allocated for the function.
+    pub mcdc_max_decision_depth: u16,
 }
 
 /// Branch information recorded during THIR-to-MIR lowering, and stored in MIR.