Modify split_benchmark_by_function() so that it returns an extra "benchmark", which is a single module containing no executable instructions, but all global variable definitions. This is needed to make the result of merging the split benchmarks compilable.
Fig a buf in split_benchmark_by_function() whereby the definitions for functions marked with available_externally linkage were dropped.
Identify two passes, -strip and -strip-nondebug, which are unsafe to run before split+merge.
Add end-to-end tests that benchmark semantics are unchanged by splitting and merging.
split_benchmark_by_function()
so that it returns an extra "benchmark", which is a single module containing no executable instructions, but all global variable definitions. This is needed to make the result of merging the split benchmarks compilable.split_benchmark_by_function()
whereby the definitions for functions marked withavailable_externally
linkage were dropped.-strip
and-strip-nondebug
, which are unsafe to run before split+merge.Follow up to #772.