Improve implementation of cycle subcounting
commit6f356a704e369e3f9fc6cd360399819cffa9f3fe
authorMark Abraham <mark.j.abraham@gmail.com>
Sat, 17 Oct 2015 10:43:19 +0000 (17 12:43 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Fri, 23 Oct 2015 17:24:00 +0000 (23 19:24 +0200)
tree928671be7c31b8254a0b10c644c9539e288fc62c
parent6302f1a0bd2840ed609feb24900a756db4d53423
Improve implementation of cycle subcounting

Configuring with GMX_CYCLE_SUBCOUNTERS on is intended to make active
some counters that show finer-grained timing details, but its
implementation with the preprocessor was more complex and more bug
prone than this one. Static analysis now finds the bug where we
over-run buf (fixed here and in release-5-1).

The only place we care about performance of the subcounter
implementation is that it doesn't do work when GMX_CYCLE_SUBCOUNTERS
is off, and constant propagation and dead code elimination will handle
that.

Also moved some declarations into the blocks where they are used.

Change-Id: I3d7a06a65c636c11557a094997a7a81f86a1ed8a
src/config.h.cmakein
src/gromacs/timing/wallcycle.cpp