xref: /llvm-project/clang/utils/perf-training/order-files.lit.cfg (revision 78acf911edddde2c40f8d5e78603e446710d35bd)
1d8b5bde5SChris Bieneman# -*- Python -*-
2d8b5bde5SChris Bieneman
3d8b5bde5SChris Bienemanfrom lit import Test
4d8b5bde5SChris Bienemanimport lit.formats
5d8b5bde5SChris Bienemanimport lit.util
6d8b5bde5SChris Bienemanimport os
7f70de9caSMichael Zolotukhinimport subprocess
8d8b5bde5SChris Bieneman
9d8b5bde5SChris Bienemandef getSysrootFlagsOnDarwin(config, lit_config):
10d8b5bde5SChris Bieneman    # On Darwin, support relocatable SDKs by providing Clang with a
11d8b5bde5SChris Bieneman    # default system root path.
12d8b5bde5SChris Bieneman    if 'darwin' in config.target_triple:
13d8b5bde5SChris Bieneman        try:
14f70de9caSMichael Zolotukhin            out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip()
15d8b5bde5SChris Bieneman            res = 0
16d8b5bde5SChris Bieneman        except OSError:
17d8b5bde5SChris Bieneman            res = -1
18d8b5bde5SChris Bieneman        if res == 0 and out:
19d8b5bde5SChris Bieneman            sdk_path = out
20d8b5bde5SChris Bieneman            lit_config.note('using SDKROOT: %r' % sdk_path)
21d8b5bde5SChris Bieneman            return '-isysroot %s' % sdk_path
22d8b5bde5SChris Bieneman    return ''
23d8b5bde5SChris Bieneman
24d8b5bde5SChris Bienemansysroot_flags = getSysrootFlagsOnDarwin(config, lit_config)
25d8b5bde5SChris Bieneman
26d8b5bde5SChris Bienemanconfig.clang = os.path.realpath(lit.util.which('clang', config.clang_tools_dir)).replace('\\', '/')
27d8b5bde5SChris Bieneman
28d8b5bde5SChris Bienemanconfig.name = 'Clang Perf Training'
29*78acf911SPetr Hosekconfig.suffixes = ['.c', '.cc', '.cpp', '.m', '.mm', '.cu', '.ll', '.cl', '.s', '.S', '.modulemap', '.test']
30d8b5bde5SChris Bieneman
312c59c4ffSShoaib Meenaidtrace_wrapper = '%s %s/perf-helper.py dtrace' % (config.python_exe, config.perf_helper_dir)
322c59c4ffSShoaib Meenaidtrace_wrapper_cc1 = '%s %s/perf-helper.py dtrace --cc1' % (config.python_exe, config.perf_helper_dir)
33d8b5bde5SChris Bieneman
347f5884a4SChris Bienemanif 'darwin' in config.target_triple:
357f5884a4SChris Bieneman    lit_config.note('using DTrace oneshot probe')
367f5884a4SChris Bieneman    dtrace_wrapper = '%s --use-oneshot' % dtrace_wrapper
377f5884a4SChris Bieneman    dtrace_wrapper_cc1 = '%s --use-oneshot' % dtrace_wrapper_cc1
387f5884a4SChris Bieneman
39d8b5bde5SChris Bienemanuse_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL")
40d8b5bde5SChris Bienemanconfig.test_format = lit.formats.ShTest(use_lit_shell == "0")
41be16876eSAlexander Shaposhnikovconfig.substitutions.append( ('%clang_cpp_skip_driver', ' %s %s --driver-mode=g++ %s ' % (dtrace_wrapper_cc1, config.clang, sysroot_flags)))
42be16876eSAlexander Shaposhnikovconfig.substitutions.append( ('%clang_cpp', ' %s %s --driver-mode=g++ %s ' % (dtrace_wrapper, config.clang, sysroot_flags)))
4312fd02dbSChris Bienemanconfig.substitutions.append( ('%clang_skip_driver', ' %s %s %s ' % (dtrace_wrapper_cc1, config.clang, sysroot_flags)))
44d8b5bde5SChris Bienemanconfig.substitutions.append( ('%clang', ' %s %s %s ' % (dtrace_wrapper, config.clang, sysroot_flags) ) )
45d8b5bde5SChris Bienemanconfig.substitutions.append( ('%test_root', config.test_exec_root ) )
46d8b5bde5SChris Bieneman
47