mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-19 16:15:07 +00:00
- "Scylla_BUILD_INSTRUMENTED" option Scylla_BUILD_INSTRUMENTED allows us to instrument the code at different level, namely, IR, and CSIR. this option mirrors "--pgo" and "--cspgo" options in `configure.py` . please note, the instrumentation at the frontend is not supported, as the IR based instrumentation is better when it comes to the use case of optimization for performance. see https://lists.llvm.org/pipermail/llvm-dev/2015-August/089044.html for the rationales. - "Scylla_PROFDATA_FILE" option this option allows us to specify the profile data previous generated with the "Scylla_BUILD_INSTRUMENTED" option. this option mirrors the `--use-profile` option in `configure.py`, but it does not take the empty option as a special case and consider it as a file fetched from Git LFS. that will be handled by another option in a follow-up change. please note, one cannot use -DScylla_BUILD_INSTRUMENTED=PGO and -DScylla_PROFDATA_FILE=... at the same time. clang just does not allow this. but CSPGO is fine. - "Scylla_PROFDATA_COMPRESSED_FILE" option this option allows us to specify the compressed profile data previouly generated with the "Scylla_BUILD_INSTRUMENTED" option. along with "Scylla_PROFDATA_FILE", this option mirros the functionality of `--use-profile` in `configure.py`. the goal is to ensure user always gets the result with the specified options. if anything goes wrong, we just error out. Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>