diff options
| author | Miloš Stojanović <Milos.Stojanovic@rt-rk.com> | 2019-12-18 10:21:06 +0100 |
|---|---|---|
| committer | Miloš Stojanović <Milos.Stojanovic@rt-rk.com> | 2019-12-18 10:21:06 +0100 |
| commit | 862a60241687a2f718d2c4f554afd9d520da8952 (patch) | |
| tree | 926a38bff5244403e6f20263888e3f6956199110 | |
| parent | 7cd1cfdd6b6c89f74af69f3513b5856a5c837317 (diff) | |
| download | bcm5719-llvm-862a60241687a2f718d2c4f554afd9d520da8952.tar.gz bcm5719-llvm-862a60241687a2f718d2c4f554afd9d520da8952.zip | |
[llvm-exegesis][mips] Add lit test
Adding a basic lit test for MIPS.
Differential Revision: https://reviews.llvm.org/D71605
| -rw-r--r-- | llvm/test/tools/llvm-exegesis/Mips/latency-by-opcode-name.s | 11 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-exegesis/Mips/lit.local.cfg | 29 |
2 files changed, 40 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-exegesis/Mips/latency-by-opcode-name.s b/llvm/test/tools/llvm-exegesis/Mips/latency-by-opcode-name.s new file mode 100644 index 00000000000..365608a368d --- /dev/null +++ b/llvm/test/tools/llvm-exegesis/Mips/latency-by-opcode-name.s @@ -0,0 +1,11 @@ +# RUN: llvm-exegesis -mode=latency -opcode-name=ADD | FileCheck %s + +CHECK: --- +CHECK-NEXT: mode: latency +CHECK-NEXT: key: +CHECK-NEXT: instructions: +CHECK-NEXT: ADD +CHECK-NEXT: config: '' +CHECK-NEXT: register_initial_values: +CHECK-DAG: - '[[REG1:[A-Z0-9]+]]=0x0' +CHECK-LAST: ... diff --git a/llvm/test/tools/llvm-exegesis/Mips/lit.local.cfg b/llvm/test/tools/llvm-exegesis/Mips/lit.local.cfg new file mode 100644 index 00000000000..6cd33af2cd8 --- /dev/null +++ b/llvm/test/tools/llvm-exegesis/Mips/lit.local.cfg @@ -0,0 +1,29 @@ +import subprocess +import lit.util + +if not ('Mips' in config.root.targets): + # We need support for Mips. + config.unsupported = True + +elif not ('mips' in config.root.host_triple): + # We need to be running on an Mips 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 |

