[llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully
authorTies Stuij <ties.stuij@arm.com>
Mon, 27 Mar 2023 15:31:50 +0000 (16:31 +0100)
committerTies Stuij <ties.stuij@arm.com>
Mon, 27 Mar 2023 15:33:18 +0000 (16:33 +0100)
currently in can_use_perfcounters() in
llvm/test/tools/llvm-exegesis/lit.local.cfg, we check if we can execute
llvm-exegesis. But we don't check if we did actually find llvm-exegesis. If we
didn't, lit.util.which() will return None, and we try to execute that.

Reviewed By: courbet

Differential Revision: https://reviews.llvm.org/D146964

llvm/test/tools/llvm-exegesis/lit.local.cfg

index a932f32..22b0160 100644 (file)
@@ -14,6 +14,9 @@ def can_use_perf_counters(mode, extra_options=[]):
     # only know that at runtime, so we try to measure an empty code snippet
     # and bail out on error.
     llvm_exegesis_exe = lit.util.which('llvm-exegesis', config.llvm_tools_dir)
+    if llvm_exegesis_exe is None:
+       print('could not find llvm-exegesis')
+       return False
     try:
         return_code = subprocess.call(
             [llvm_exegesis_exe, '-mode', mode, '-snippets-file', '/dev/null'] + extra_options,