CPU: O3-PipeView.py doesn't display the end of timelines.
authorDjordje Kovacevic <Djordje.Kovacevic@arm.com>
Fri, 7 Sep 2012 19:20:53 +0000 (14:20 -0500)
committerDjordje Kovacevic <Djordje.Kovacevic@arm.com>
Fri, 7 Sep 2012 19:20:53 +0000 (14:20 -0500)
Insts' timeline that stretches over multiple lines doesn't always get printed.

util/o3-pipeview.py

index 95fd2aac36769e13a55fe805fbded07111847076..faaeec431ff80971292c3c7b49321688bec08fe1 100755 (executable)
@@ -133,7 +133,13 @@ def print_inst(outfile, inst, cycle_time, width, color, timestamps):
     # Print
     time_width = width * cycle_time
     base_tick = (inst['fetch'] / time_width) * time_width
-    num_lines = ((inst['retire'] - inst['fetch']) / time_width) + 1
+    # Timeline shorter then time_width is printed in compact form where
+    # the print continues at the start of the same line.
+    if ((inst['retire'] - inst['fetch']) < time_width):
+        num_lines = 1 # compact form
+    else:
+        num_lines = ((inst['retire'] - base_tick) / time_width) + 1
+
     curr_color = termcap.Normal
     for i in range(num_lines):
         start_tick = base_tick + i * time_width