From 38489ed416b324e28fa49a24cc5324c98b6aa4a2 Mon Sep 17 00:00:00 2001 From: Roman Tereshin Date: Thu, 26 Apr 2018 20:22:17 +0000 Subject: [GlobalISel] Reporting rules covered as part of the InstructionSelect's debug-only printing The main goal of this change is to make it much easier to track which rules are actually covered by Testgen'erated regression tests. Reviewers: aemerson, dsanders Differential Revision: https://reviews.llvm.org/D46095 llvm-svn: 330988 --- llvm/lib/Support/CodeGenCoverage.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Support/CodeGenCoverage.cpp') diff --git a/llvm/lib/Support/CodeGenCoverage.cpp b/llvm/lib/Support/CodeGenCoverage.cpp index ebfe65a398c..4948f1348fc 100644 --- a/llvm/lib/Support/CodeGenCoverage.cpp +++ b/llvm/lib/Support/CodeGenCoverage.cpp @@ -38,12 +38,17 @@ void CodeGenCoverage::setCovered(uint64_t RuleID) { RuleCoverage[RuleID] = true; } -bool CodeGenCoverage::isCovered(uint64_t RuleID) { +bool CodeGenCoverage::isCovered(uint64_t RuleID) const { if (RuleCoverage.size() <= RuleID) return false; return RuleCoverage[RuleID]; } +iterator_range +CodeGenCoverage::covered() const { + return RuleCoverage.set_bits(); +} + bool CodeGenCoverage::parse(MemoryBuffer &Buffer, StringRef BackendName) { const char *CurPtr = Buffer.getBufferStart(); -- cgit v1.2.3