summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/CodeGenCoverage.cpp
diff options
context:
space:
mode:
authorRoman Tereshin <rtereshin@apple.com>2018-04-26 20:22:17 +0000
committerRoman Tereshin <rtereshin@apple.com>2018-04-26 20:22:17 +0000
commit38489ed416b324e28fa49a24cc5324c98b6aa4a2 (patch)
tree54cd61e39c83b8766ae960790844b4715355a428 /llvm/lib/Support/CodeGenCoverage.cpp
parent51738f834ed9824f916296d12c67b73bd643cccc (diff)
downloadbcm5719-llvm-38489ed416b324e28fa49a24cc5324c98b6aa4a2.tar.gz
bcm5719-llvm-38489ed416b324e28fa49a24cc5324c98b6aa4a2.zip
[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
Diffstat (limited to 'llvm/lib/Support/CodeGenCoverage.cpp')
-rw-r--r--llvm/lib/Support/CodeGenCoverage.cpp7
1 files changed, 6 insertions, 1 deletions
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::const_covered_iterator>
+CodeGenCoverage::covered() const {
+ return RuleCoverage.set_bits();
+}
+
bool CodeGenCoverage::parse(MemoryBuffer &Buffer, StringRef BackendName) {
const char *CurPtr = Buffer.getBufferStart();
OpenPOWER on IntegriCloud