I was checking on the Intel compiler suite.
There is a sophisticated profiler that allows the user to use the profile
information to dynamically update the code (eg. Profile Guided
Optimizations).
In addition there is a code coverage tool that provides a visual
presentation such as the execution count of a basic block. Note that a
"basic block" is a small number of instructions with a single entry and
exit point.
I suggest that you download the compiler user manual from:
http://www.intel.com/support/performancetools/c/linux/sb/CS-007729.htm#v8_us...
I think you will find that the Intel compiler and tools may meet or come
close to your needs. However, it is a commercial product.
--
Jerry Feldman