How to compute the number of times each instruction, basic block, or region called at run time?

I used llvm-cov to compute how many times each high level instruction is called at runtime.
I need to insert a code at mcjit to do the similar job. I searched at instrumentation pass.
Is there a function returns bool that indicates current instruction is called or not ?and how many times is it called?