Do not divide by zero in analyze_brprob.py
authorMartin Liska <mliska@suse.cz>
Thu, 21 Jul 2016 12:53:24 +0000 (14:53 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Thu, 21 Jul 2016 12:53:24 +0000 (12:53 +0000)
* analyze_brprob.py: If there's no loop, do not calculate
average number of loop iterations.

From-SVN: r238590

contrib/ChangeLog
contrib/analyze_brprob.py

index d5f194af4d3c066148c6b7861626f23edfe1f1b1..aff5df803141fbf15dd365f49e9656c62a4b5a8b 100644 (file)
@@ -1,3 +1,8 @@
+2016-07-21  Martin Liska  <mliska@suse.cz>
+
+       * analyze_brprob.py: If there's no loop, do not calculate
+       average number of loop iterations.
+
 2016-06-24  Martin Liska  <mliska@suse.cz>
 
        * analyze_brprob.py: Parse and display average number
index c276d810a4f6ddd2ed948b169dbdd21a0a1efe82..c083d2bffb0a2eb7f67dbb1eef6f7580b7371f52 100755 (executable)
@@ -149,12 +149,13 @@ class Profile:
              percentage(v.hits, v.count), percentage(v.fits, v.count),
              v.count, v.count_formatted(), percentage(v.count, self.count_max()) ))
 
-        print ('\nLoop count: %d' % len(self.niter_vector)),
-        print('  avg. # of iter: %.2f' % average(self.niter_vector))
-        print('  median # of iter: %.2f' % median(self.niter_vector))
-        for v in [1, 5, 10, 20, 30]:
-            cut = 0.01 * v
-            print('  avg. (%d%% cutoff) # of iter: %.2f' % (v, average_cutoff(self.niter_vector, cut)))
+        if len(self.niter_vector) > 0:
+            print ('\nLoop count: %d' % len(self.niter_vector)),
+            print('  avg. # of iter: %.2f' % average(self.niter_vector))
+            print('  median # of iter: %.2f' % median(self.niter_vector))
+            for v in [1, 5, 10, 20, 30]:
+                cut = 0.01 * v
+                print('  avg. (%d%% cutoff) # of iter: %.2f' % (v, average_cutoff(self.niter_vector, cut)))
 
 parser = argparse.ArgumentParser()
 parser.add_argument('dump_file', metavar = 'dump_file', help = 'IPA profile dump file')