Greg McGary <g...@rivosinc.com> writes: > Tally icounts for basic blocks. The data is useful for producing > human-readable topblocks reports, and for creating simpoints to guide > accurate & efficient machine simulation runs. > > QEMU's The Tiny Code Generator creates TCG blocks in a way that is > expedient for JIT translation but does not conform to the model of CFG > basic blocks. TCG greedily translates straight-line code until it must > end the block for one of four reasons: (1) page boundary, or (2) > maximum TCG block length, or (3) CSR-hacking insn, or (4) jump/branch > insn. A single TCG block can span multiple CFG blocks when there are > internal branch targets. Multiple TCG blocks can constitute a single > CFG block when the component TCG blocks terminate at page boundary, > max block length, or CSR-hacking insn. > > The bbvgen plugin normalizes TCG blocks into CFG blocks.
Are there any tools that consume this data? <snip> -- Alex Bennée Virtualisation Tech Lead @ Linaro