File: lit.local.cfg

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (29 lines) | stat: -rw-r--r-- 1,085 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import subprocess
import lit.util

if not ('PowerPC' in config.root.targets):
    # We need support for PowerPC.
    config.unsupported = True

elif not ('powerpc' in config.root.host_triple):
    # We need to be running on an PPC host.
    config.unsupported = True

else:
    # We need libpfm to be installed and allow reading perf counters. We can
    # only know that at runtime, so we try to measure the latency of an empty
    # code snippet and bail out on error.
    llvm_exegesis_exe = lit.util.which('llvm-exegesis', config.llvm_tools_dir)
    if not llvm_exegesis_exe:
        print('llvm-exegesis not found')
        config.unsupported = True
    else:
      try:
          with open(os.devnull, 'w') as quiet:
              check_llvm_exegesis_result = subprocess.call(
                [llvm_exegesis_exe, '-mode', 'latency', '-snippets-file', '/dev/null'], stdout=quiet, stderr=quiet)
      except OSError:
          print('could not exec llvm-exegesis')
          config.unsupported = True
      if not check_llvm_exegesis_result == 0:
        config.unsupported = True