diff options
author | Roman Tereshin <rtereshin@apple.com> | 2018-04-26 20:22:17 +0000 |
---|---|---|
committer | Roman Tereshin <rtereshin@apple.com> | 2018-04-26 20:22:17 +0000 |
commit | 38489ed416b324e28fa49a24cc5324c98b6aa4a2 (patch) | |
tree | 54cd61e39c83b8766ae960790844b4715355a428 /llvm/lib/Support/CodeGenCoverage.cpp | |
parent | 51738f834ed9824f916296d12c67b73bd643cccc (diff) | |
download | bcm5719-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.cpp | 7 |
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(); |