| 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 |