[llvm] 287307a - Partially revert "Add initial tests for update_{llc_, cc_, }test_checks.py"

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 26 08:55:26 PST 2019


Author: Reid Kleckner
Date: 2019-12-26T08:53:06-08:00
New Revision: 287307a0c60b68099d5f9dd22ac1db2a42593533

URL: https://github.com/llvm/llvm-project/commit/287307a0c60b68099d5f9dd22ac1db2a42593533
DIFF: https://github.com/llvm/llvm-project/commit/287307a0c60b68099d5f9dd22ac1db2a42593533.diff

LOG: Partially revert "Add initial tests for update_{llc_,cc_,}test_checks.py"

This reverts part of commit 240aff80e0e59b79779d046b3275904fc0750d59.
It reverts cc802ea67beb66d2f8a935e647c3aedcf7848211.

We currently run LLVM tests in environments where python3 exists on
PATH, but it is broken. I don't think PATH discovery is a strong enough
signal that a working Python 3 installation exists.

If this will be the way forward, IMO we should follow the direction of
debug-info-tests, and use CMake's PYTHON_EXECUTABLE, which in the near
future will be a known-to-work Python 3 executable. If it's not Python
3, then we don't have to run this test.

Added: 
    

Modified: 
    llvm/test/tools/UpdateTestChecks/lit.local.cfg

Removed: 
    llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c
    llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.expected
    llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
    llvm/test/tools/UpdateTestChecks/update_cc_test_checks/lit.local.cfg
    llvm/test/tools/UpdateTestChecks/update_cc_test_checks/mangled_names.test


################################################################################
diff  --git a/llvm/test/tools/UpdateTestChecks/lit.local.cfg b/llvm/test/tools/UpdateTestChecks/lit.local.cfg
index 073a901c71f2..879bfc51c5e0 100644
--- a/llvm/test/tools/UpdateTestChecks/lit.local.cfg
+++ b/llvm/test/tools/UpdateTestChecks/lit.local.cfg
@@ -12,11 +12,10 @@ except ImportError:
 
 def add_update_script_substition(name, python_exe=config.python_executable,
                                  extra_args=''):
-    assert name.startswith('%')
-    script_path = os.path.join(config.llvm_src_root, 'utils', name[1:] + '.py')
+    script_path = os.path.join(config.llvm_src_root, 'utils', name + '.py')
     assert os.path.isfile(script_path)
     config.substitutions.append(
-        (name, "'%s' %s %s" % (python_exe, script_path, extra_args)))
+        ('%' + name, "'%s' %s %s" % (python_exe, script_path, extra_args)))
 
 
 config.test_format = lit.formats.ShTest(execute_external=False)
@@ -26,37 +25,19 @@ llc_path = os.path.join(config.llvm_tools_dir, 'llc')
 if os.path.isfile(llc_path):
     config.available_features.add('llc-binary')
     llc_arg = '--llc-binary ' + shell_quote(llc_path)
-    add_update_script_substition('%update_llc_test_checks', extra_args=llc_arg)
-    add_update_script_substition('%update_mir_test_checks', extra_args=llc_arg)
+    add_update_script_substition('update_llc_test_checks', extra_args=llc_arg)
+    add_update_script_substition('update_mir_test_checks', extra_args=llc_arg)
 
 opt_path = os.path.join(config.llvm_tools_dir, 'opt')
 if os.path.isfile(opt_path):
     config.available_features.add('opt-binary')
     opt_arg = '--opt-binary ' + shell_quote(opt_path)
-    add_update_script_substition('%update_test_checks', extra_args=opt_arg)
-    add_update_script_substition('%update_analyze_test_checks',
+    add_update_script_substition('update_test_checks', extra_args=opt_arg)
+    add_update_script_substition('update_analyze_test_checks',
                                  extra_args=opt_arg)
 
 llvm_mca_path = os.path.join(config.llvm_tools_dir, 'llvm-mca')
 if os.path.isfile(llvm_mca_path):
     config.available_features.add('llvm-mca-binary')
     mca_arg = '--llvm-mca-binary ' + shell_quote(llvm_mca_path)
-    add_update_script_substition('%update_test_checks', extra_args=mca_arg)
-
-# update_cc_test_checks requires python3
-py3_exe = lit.util.which('python3')
-if py3_exe:
-    config.substitutions.append(('%python3', shell_quote(py3_exe)))
-    config.available_features.add('python3')
-
-clang_path = os.path.join(config.llvm_tools_dir, 'clang')
-if os.path.isfile(clang_path):
-    config.available_features.add('clang-binary')
-    if py3_exe:
-        # XXX: or use --llvm-bin?
-        extra_args = '--clang ' + shell_quote(clang_path)
-        if os.path.isfile(opt_path):
-            extra_args += ' --opt ' + shell_quote(opt_path)
-        add_update_script_substition('%update_cc_test_checks',
-                                     python_exe=py3_exe,
-                                     extra_args=extra_args)
+    add_update_script_substition('update_test_checks', extra_args=mca_arg)

diff  --git a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c b/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c
deleted file mode 100644
index 01e42a35e78e..000000000000
--- a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c
+++ /dev/null
@@ -1,11 +0,0 @@
-// Example input for update_cc_test_checks
-// RUN: %clang_cc1 -triple=x86_64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s
-
-long test(long a, int b) {
-  return a + b;
-}
-
-// A function with a mangled name
-__attribute__((overloadable)) long test(long a, int b, int c) {
-  return a + b + c;
-}

diff  --git a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.expected b/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.expected
deleted file mode 100644
index d6ba7ae09b62..000000000000
--- a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.expected
+++ /dev/null
@@ -1,41 +0,0 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
-// Example input for update_cc_test_checks
-// RUN: %clang_cc1 -triple=x86_64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s
-
-// CHECK-LABEL: @test(
-// CHECK-NEXT:  entry:
-// CHECK-NEXT:    [[A_ADDR:%.*]] = alloca i64, align 8
-// CHECK-NEXT:    [[B_ADDR:%.*]] = alloca i32, align 4
-// CHECK-NEXT:    store i64 [[A:%.*]], i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    store i32 [[B:%.*]], i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    [[TMP0:%.*]] = load i64, i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    [[TMP1:%.*]] = load i32, i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    [[CONV:%.*]] = sext i32 [[TMP1]] to i64
-// CHECK-NEXT:    [[ADD:%.*]] = add nsw i64 [[TMP0]], [[CONV]]
-// CHECK-NEXT:    ret i64 [[ADD]]
-//
-long test(long a, int b) {
-  return a + b;
-}
-
-// A function with a mangled name
-// CHECK-LABEL: @_Z4testlii(
-// CHECK-NEXT:  entry:
-// CHECK-NEXT:    [[A_ADDR:%.*]] = alloca i64, align 8
-// CHECK-NEXT:    [[B_ADDR:%.*]] = alloca i32, align 4
-// CHECK-NEXT:    [[C_ADDR:%.*]] = alloca i32, align 4
-// CHECK-NEXT:    store i64 [[A:%.*]], i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    store i32 [[B:%.*]], i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    store i32 [[C:%.*]], i32* [[C_ADDR]], align 4
-// CHECK-NEXT:    [[TMP0:%.*]] = load i64, i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    [[TMP1:%.*]] = load i32, i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    [[CONV:%.*]] = sext i32 [[TMP1]] to i64
-// CHECK-NEXT:    [[ADD:%.*]] = add nsw i64 [[TMP0]], [[CONV]]
-// CHECK-NEXT:    [[TMP2:%.*]] = load i32, i32* [[C_ADDR]], align 4
-// CHECK-NEXT:    [[CONV1:%.*]] = sext i32 [[TMP2]] to i64
-// CHECK-NEXT:    [[ADD2:%.*]] = add nsw i64 [[ADD]], [[CONV1]]
-// CHECK-NEXT:    ret i64 [[ADD2]]
-//
-__attribute__((overloadable)) long test(long a, int b, int c) {
-  return a + b + c;
-}

diff  --git a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected b/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
deleted file mode 100644
index ef6340340b10..000000000000
--- a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
+++ /dev/null
@@ -1,43 +0,0 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
-// Example input for update_cc_test_checks
-// RUN: %clang_cc1 -triple=x86_64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s
-
-// CHECK-LABEL: define {{[^@]+}}@test
-// CHECK-SAME: (i64 [[A:%.*]], i32 [[B:%.*]]) #0
-// CHECK-NEXT:  entry:
-// CHECK-NEXT:    [[A_ADDR:%.*]] = alloca i64, align 8
-// CHECK-NEXT:    [[B_ADDR:%.*]] = alloca i32, align 4
-// CHECK-NEXT:    store i64 [[A:%.*]], i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    store i32 [[B:%.*]], i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    [[TMP0:%.*]] = load i64, i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    [[TMP1:%.*]] = load i32, i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    [[CONV:%.*]] = sext i32 [[TMP1]] to i64
-// CHECK-NEXT:    [[ADD:%.*]] = add nsw i64 [[TMP0]], [[CONV]]
-// CHECK-NEXT:    ret i64 [[ADD]]
-//
-long test(long a, int b) {
-  return a + b;
-}
-
-// A function with a mangled name
-// CHECK-LABEL: define {{[^@]+}}@_Z4testlii
-// CHECK-SAME: (i64 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]]) #0
-// CHECK-NEXT:  entry:
-// CHECK-NEXT:    [[A_ADDR:%.*]] = alloca i64, align 8
-// CHECK-NEXT:    [[B_ADDR:%.*]] = alloca i32, align 4
-// CHECK-NEXT:    [[C_ADDR:%.*]] = alloca i32, align 4
-// CHECK-NEXT:    store i64 [[A:%.*]], i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    store i32 [[B:%.*]], i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    store i32 [[C:%.*]], i32* [[C_ADDR]], align 4
-// CHECK-NEXT:    [[TMP0:%.*]] = load i64, i64* [[A_ADDR]], align 8
-// CHECK-NEXT:    [[TMP1:%.*]] = load i32, i32* [[B_ADDR]], align 4
-// CHECK-NEXT:    [[CONV:%.*]] = sext i32 [[TMP1]] to i64
-// CHECK-NEXT:    [[ADD:%.*]] = add nsw i64 [[TMP0]], [[CONV]]
-// CHECK-NEXT:    [[TMP2:%.*]] = load i32, i32* [[C_ADDR]], align 4
-// CHECK-NEXT:    [[CONV1:%.*]] = sext i32 [[TMP2]] to i64
-// CHECK-NEXT:    [[ADD2:%.*]] = add nsw i64 [[ADD]], [[CONV1]]
-// CHECK-NEXT:    ret i64 [[ADD2]]
-//
-__attribute__((overloadable)) long test(long a, int b, int c) {
-  return a + b + c;
-}

diff  --git a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/lit.local.cfg b/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/lit.local.cfg
deleted file mode 100644
index 99346daabcb0..000000000000
--- a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/lit.local.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# These tests require clang.
-if 'clang-binary' not in config.available_features:
-    config.unsupported = True

diff  --git a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/mangled_names.test b/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/mangled_names.test
deleted file mode 100644
index 4d2b66f38100..000000000000
--- a/llvm/test/tools/UpdateTestChecks/update_cc_test_checks/mangled_names.test
+++ /dev/null
@@ -1,18 +0,0 @@
-## Basic test checking that update_cc_test_checks.py works as expected for
-## functions with mangled names
-
-# %update_cc_test_checks is only set if python3 is on the path.
-# FIXME: Is this the best approach? See discussion on D70660.
-# REQUIRES: python3
-
-# RUN: cp -f %S/Inputs/mangled_names.c %t.c && %update_cc_test_checks -v %t.c
-# RUN: 
diff  -u %t.c %S/Inputs/mangled_names.c.expected
-## Check that running the script again does not change the result:
-# RUN: %update_cc_test_checks -v %t.c
-# RUN: 
diff  -u %t.c %S/Inputs/mangled_names.c.expected
-## Also try the --function-signature flag
-# RUN: %update_cc_test_checks %t.c --function-signature
-# RUN: 
diff  -u %t.c %S/Inputs/mangled_names.c.funcsig.expected
-## Verify that running without the --function-signature flag removes the -SAME: lines:
-# RUN: %update_cc_test_checks %t.c
-# RUN: 
diff  -u %t.c %S/Inputs/mangled_names.c.expected


        


More information about the llvm-commits mailing list