aboutsummaryrefslogtreecommitdiff
path: root/qtmips_cli/reporter.cpp
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-04-05 20:07:10 +0200
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-04-05 20:07:10 +0200
commit299504df7e4882908e59fe7493fe133bf6271e8b (patch)
tree2bec45ffbbbaf252d0fbaa9a8889a97339f1a0fe /qtmips_cli/reporter.cpp
parent7becab88ae5287846299f22d291ccd44740fddbc (diff)
downloadqtmips-299504df7e4882908e59fe7493fe133bf6271e8b.tar.gz
qtmips-299504df7e4882908e59fe7493fe133bf6271e8b.tar.bz2
qtmips-299504df7e4882908e59fe7493fe133bf6271e8b.zip
qtmips_cli: add option to report number of required cycles and stalls.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_cli/reporter.cpp')
-rw-r--r--qtmips_cli/reporter.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/qtmips_cli/reporter.cpp b/qtmips_cli/reporter.cpp
index 74cbdc1..75d889b 100644
--- a/qtmips_cli/reporter.cpp
+++ b/qtmips_cli/reporter.cpp
@@ -53,6 +53,7 @@ Reporter::Reporter(QCoreApplication *app, QtMipsMachine *machine) : QObject() {
e_regs = false;
e_cache_stats = false;
+ e_cycles = false;
e_fail = (enum FailReason)0;
}
@@ -64,6 +65,10 @@ void Reporter::cache_stats() {
e_cache_stats = true;
}
+void Reporter::cycles() {
+ e_cycles = true;
+}
+
void Reporter::expect_fail(enum FailReason reason) {
e_fail = (enum FailReason)(e_fail | reason);
}
@@ -194,6 +199,10 @@ void Reporter::report() {
cout << "d-cache:stalled-cycles:" << machine->cache_data()->stalled_cycles() << endl;
cout << "d-cache:improved-speed:" << machine->cache_data()->speed_improvement() << endl;
}
+ if (e_cycles) {
+ cout << "cycles:" << machine->core()->cycles() << endl;
+ cout << "stalls:" << machine->core()->stalls() << endl;
+ }
foreach (DumpRange range, dump_ranges) {
ofstream out;
out.open(range.fname.toLocal8Bit().data(), ios::out | ios::trunc);