[NVPTX] Fix issues in ptxas integration to LIT tests

1) Fixed a typo in PTXAS_EXECUTABLE CMake variable (PXTAS -> PTXAS).

2) Version check was implemented incorrectly,
   now version (major, minor) is converted to int for comparison.

3) ptxas -arch argument was incorrect (or missing) in 3 tests.

Differential Revision: https://reviews.llvm.org/D127866
This commit is contained in:
Andrew Savonichev 2022-10-04 00:23:55 +03:00
parent 3933c43d90
commit 5585d99835
5 changed files with 15 additions and 11 deletions

View File

@ -1,7 +1,7 @@
; RUN: llc < %s -march=nvptx64 -mcpu=sm_30 | FileCheck %s --check-prefixes=ALL,SM30
; RUN: llc < %s -march=nvptx64 -mcpu=sm_60 | FileCheck %s --check-prefixes=ALL,SM60
; RUN: %if ptxas %{ llc < %s -march=nvptx64 -mcpu=sm_30 | %ptxas-verify %}
; RUN: %if ptxas %{ llc < %s -march=nvptx64 -mcpu=sm_60 | %ptxas-verify %}
; RUN: %if ptxas %{ llc < %s -march=nvptx64 -mcpu=sm_30 | %ptxas-verify %if !ptxas-11.0 %{-arch=sm_30%} %}
; RUN: %if ptxas %{ llc < %s -march=nvptx64 -mcpu=sm_60 | %ptxas-verify -arch=sm_60 %}
; CHECK-LABEL: fadd_double
define void @fadd_double(ptr %0, double %1) {

View File

@ -1,5 +1,5 @@
; RUN: llc < %s -march=nvptx -mcpu=sm_75 -verify-machineinstrs
; RUN: %if ptxas %{ llc < %s -march=nvptx -mcpu=sm_75 | %ptxas-verify %}
; RUN: llc < %s -march=nvptx -verify-machineinstrs
; RUN: %if ptxas %{ llc < %s -march=nvptx | %ptxas-verify %}
; Check that llc will not crash even when first MBB doesn't contain
; any instruction.

View File

@ -1,5 +1,5 @@
; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
; RUN: %if ptxas %{ llc < %s -march=nvptx -mcpu=sm_20 | %ptxas-verify %}
; RUN: llc < %s -march=nvptx -mcpu=sm_32 | FileCheck %s
; RUN: %if ptxas %{ llc < %s -march=nvptx -mcpu=sm_32 | %ptxas-verify %if !ptxas-11.0 %{-arch=sm_32%} %}
declare i8 @llvm.nvvm.ldu.global.i.i8.p1i8(i8 addrspace(1)* %ptr, i32 %align)

View File

@ -216,19 +216,23 @@ def enable_ptxas(ptxas_executable):
(11, 0), (11, 1), (11, 2), (11, 3), (11, 4), (11, 5), (11, 6),
]
def version_int(ver):
return ver[0] * 100 + ver[1]
# ignore ptxas if its version is below the minimum supported
# version
min_version = ptxas_known_versions[0]
if version[0] < min_version[0] or version[1] < min_version[1]:
if version_int(version) < version_int(min_version):
print(
'Warning: ptxas version {}.{} is not supported'.format(
version[0], version[1]))
return
for known_major, known_minor in ptxas_known_versions:
if known_major <= version[0] and known_minor <= version[1]:
for known_version in ptxas_known_versions:
if version_int(known_version) <= version_int(version):
major, minor = known_version
config.available_features.add(
'ptxas-{}.{}'.format(known_major, known_minor))
'ptxas-{}.{}'.format(major, minor))
config.available_features.add('ptxas')
tools.extend([ToolSubst('%ptxas', ptxas_executable),

View File

@ -23,7 +23,7 @@ config.have_ocamlopt = @HAVE_OCAMLOPT@
config.ocaml_flags = "@OCAMLFLAGS@"
config.include_go_tests = @LLVM_INCLUDE_GO_TESTS@
config.go_executable = "@GO_EXECUTABLE@"
config.ptxas_executable = "@PXTAS_EXECUTABLE@"
config.ptxas_executable = "@PTXAS_EXECUTABLE@"
config.enable_shared = @ENABLE_SHARED@
config.enable_assertions = @ENABLE_ASSERTIONS@
config.targets_to_build = "@TARGETS_TO_BUILD@"