parameters: (env, out_dir, include_debug_info)
docstring: The 'benchmark' we run to generate profile data.
docstring_summary: The 'benchmark' we run to generate profile data.
docstring_tokens: The benchmark we run to generate profile data .
function: def _run_benchmark(env, out_dir, include_debug_info):
      """The 'benchmark' we run to generate profile data."""
      target_dir = env.output_subdir('instrumentation_run')
  
      # `check-llvm` and `check-clang` are cheap ways to increase coverage. The
      # former lets us touch on the non-x86 backends a bit if configured, and the
      # latter gives us more C to chew on (and will send us through diagnostic
      # paths a fair amount, though the `if (stuff_is_broken) { diag() ... }`
      # branches should still heavily be weighted in the not-taken direction,
      # since we built all of LLVM/etc).
      _build_things_in(env, out_dir, what=['check-llvm', 'check-clang'])
  
      # Building tblgen gets us coverage; don't skip it. (out_dir may also not
      # have them anyway, but that's less of an issue)
      cmake = _get_cmake_invocation_for_bootstrap_from(
          env, out_dir, skip_tablegens=False)
  
      if include_debug_info:
          cmake.add_flag('CMAKE_BUILD_TYPE', 'RelWithDebInfo')
  
      _run_fresh_cmake(env, cmake, target_dir)
  
      # Just build all the things. The more data we have, the better.
      _build_things_in(env, target_dir, what=['all'])
function_tokens: def _run_benchmark ( env , out_dir , include_debug_info ) : target_dir = env . output_subdir ( 'instrumentation_run' ) # `check-llvm` and `check-clang` are cheap ways to increase coverage. The # former lets us touch on the non-x86 backends a bit if configured, and the # latter gives us more C to chew on (and will send us through diagnostic # paths a fair amount, though the `if (stuff_is_broken) { diag() ... }` # branches should still heavily be weighted in the not-taken direction, # since we built all of LLVM/etc). _build_things_in ( env , out_dir , what = [ 'check-llvm' , 'check-clang' ] ) # Building tblgen gets us coverage; don't skip it. (out_dir may also not # have them anyway, but that's less of an issue) cmake = _get_cmake_invocation_for_bootstrap_from ( env , out_dir , skip_tablegens = False ) if include_debug_info : cmake . add_flag ( 'CMAKE_BUILD_TYPE' , 'RelWithDebInfo' ) _run_fresh_cmake ( env , cmake , target_dir ) # Just build all the things. The more data we have, the better. _build_things_in ( env , target_dir , what = [ 'all' ] )