approaches to profiling jitted code?

Can anyone comment on how they are approaching profiling of jitted
code in their llvm backends? For linux and windows, I'm wondering
which tools are best integrated with (be it gprof or callgrind on
linux, or vtune on either platform).

Thanks
b.