xref: /openbsd-src/gnu/llvm/clang/utils/perf-training/lit.cfg (revision 12c855180aad702bbcca06e0398d774beeafb155)
1e5dd7070Spatrick# -*- Python -*-
2e5dd7070Spatrick
3e5dd7070Spatrickfrom lit import Test
4e5dd7070Spatrickimport lit.formats
5e5dd7070Spatrickimport lit.util
6e5dd7070Spatrickimport subprocess
7e5dd7070Spatrick
8e5dd7070Spatrickdef getSysrootFlagsOnDarwin(config, lit_config):
9e5dd7070Spatrick    # On Darwin, support relocatable SDKs by providing Clang with a
10e5dd7070Spatrick    # default system root path.
11e5dd7070Spatrick    if 'darwin' in config.target_triple:
12e5dd7070Spatrick        try:
13ec727ea7Spatrick            out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip().decode()
14e5dd7070Spatrick            res = 0
15e5dd7070Spatrick        except OSError:
16e5dd7070Spatrick            res = -1
17e5dd7070Spatrick        if res == 0 and out:
18e5dd7070Spatrick            sdk_path = out
19e5dd7070Spatrick            lit_config.note('using SDKROOT: %r' % sdk_path)
20e5dd7070Spatrick            return '-isysroot %s' % sdk_path
21e5dd7070Spatrick    return ''
22e5dd7070Spatrick
23e5dd7070Spatricksysroot_flags = getSysrootFlagsOnDarwin(config, lit_config)
24e5dd7070Spatrick
25e5dd7070Spatrickconfig.clang = lit.util.which('clang', config.clang_tools_dir).replace('\\', '/')
26e5dd7070Spatrick
27e5dd7070Spatrickconfig.name = 'Clang Perf Training'
28*12c85518Srobertconfig.suffixes = ['.c', '.cc', '.cpp', '.m', '.mm', '.cu', '.ll', '.cl', '.s', '.S', '.modulemap', '.test']
29e5dd7070Spatrick
30e5dd7070Spatrickcc1_wrapper = '%s %s/perf-helper.py cc1' % (config.python_exe, config.perf_helper_dir)
31e5dd7070Spatrick
32e5dd7070Spatrickuse_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL")
33e5dd7070Spatrickconfig.test_format = lit.formats.ShTest(use_lit_shell == "0")
34e5dd7070Spatrickconfig.substitutions.append( ('%clang_cpp_skip_driver', ' %s %s %s ' % (cc1_wrapper, config.clang, sysroot_flags)))
35e5dd7070Spatrickconfig.substitutions.append( ('%clang_cpp', ' %s --driver-mode=g++ %s ' % (config.clang, sysroot_flags)))
36e5dd7070Spatrickconfig.substitutions.append( ('%clang_skip_driver', ' %s %s %s ' % (cc1_wrapper, config.clang, sysroot_flags)))
37e5dd7070Spatrickconfig.substitutions.append( ('%clang', ' %s %s ' % (config.clang, sysroot_flags) ) )
38e5dd7070Spatrickconfig.substitutions.append( ('%test_root', config.test_exec_root ) )
39e5dd7070Spatrick
40e5dd7070Spatrickconfig.environment['LLVM_PROFILE_FILE'] = 'perf-training-%4m.profraw'
41e5dd7070Spatrick
42