[llvm] [llvm-exegesis] Add support for warmup iterations (PR #76895)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 21:22:01 PST 2024


boomanaiden154 wrote:

This is currently (and probably forever) only supported in the subprocess execution mode as everything is embedded into a single snippet and the in process executor starts the performance counters in the C++ rather than within the snippet. This should be fine because only the subprocess execution mode has support for memory annotations where this feature is really needed to warm the cache.

This patch additionally contains two refactorings that could be moved into separate patches if reviewers desire (or discussed on merit), mainly:
1. `generateSnippetSetupCode` is split into several different pieces so that the warmup code can inserted within the setup in `assembleToStream`.
2. The fields in `BasicBlockFiller` are changed to allow for assignment, including updating the MBB field to a pointer.

https://github.com/llvm/llvm-project/pull/76895


More information about the llvm-commits mailing list