Skip to content

LLVM Test Suite problems on O3 #1420

@phate

Description

@phate

I have currently the following tests failing:

FAIL: test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-11.test (1530 of 1531)
******************** TEST 'test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-11.test' FAILED ********************

/home/nico/Documents/llvm-test-suite/jlm/build/tools/timeit-target --timeout 7200 --limit-core 0 --limit-cpu 7200 --limit-file-size 209715200 --limit-rss-size 838860800 --redirect-input /dev/null --summary /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/Output/GCC-C-execute-va-arg-11.test.time /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-11

+ /home/nico/Documents/llvm-test-suite/jlm/build/tools/timeit-target --timeout 7200 --limit-core 0 --limit-cpu 7200 --limit-file-size 209715200 --limit-rss-size 838860800 --redirect-input /dev/null --summary /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/Output/GCC-C-execute-va-arg-11.test.time /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-11
/home/nico/Documents/llvm-test-suite/jlm/build/tools/timeit-target: error: child terminated by signal 6

********************
FAIL: test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-24.test (1531 of 1531)
******************** TEST 'test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-24.test' FAILED ********************

/home/nico/Documents/llvm-test-suite/jlm/build/tools/timeit-target --timeout 7200 --limit-core 0 --limit-cpu 7200 --limit-file-size 209715200 --limit-rss-size 838860800 --redirect-input /dev/null --summary /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/Output/GCC-C-execute-va-arg-24.test.time /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-24

+ /home/nico/Documents/llvm-test-suite/jlm/build/tools/timeit-target --timeout 7200 --limit-core 0 --limit-cpu 7200 --limit-file-size 209715200 --limit-rss-size 838860800 --redirect-input /dev/null --summary /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/Output/GCC-C-execute-va-arg-24.test.time /home/nico/Documents/llvm-test-suite/jlm/build/SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-24
/home/nico/Documents/llvm-test-suite/jlm/build/tools/timeit-target: error: child terminated by signal 6

********************
********************
Failed Tests (5):
  test-suite :: SingleSource/Regression/C/Regression-C-2004-08-12-InlinerAndAllocas.test
  test-suite :: SingleSource/Regression/C/Regression-C-PR640.test
  test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-920625-1.test
  test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-11.test
  test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-va-arg-24.test


Testing Time: 0.34s

Total Discovered Tests: 1531
  Passed: 1526 (99.67%)
  Failed:    5 (0.33%)

What I simply did is to replace the O0 configuration with O0 flag:

nico@nico-sonic-compiler:~/Documents/llvm-test-suite/jlm$ git diff cmake/O0.cmake
diff --git a/jlm/cmake/O0.cmake b/jlm/cmake/O0.cmake
index bdcdbc64..9de3d252 100644
--- a/jlm/cmake/O0.cmake
+++ b/jlm/cmake/O0.cmake
@@ -1,4 +1,4 @@
-set(OPTFLAGS "${OPTFLAGS}")
+set(OPTFLAGS "${OPTFLAGS} -O3")
 
 set(CMAKE_C_FLAGS_RELEASE "${OPTFLAGS}" CACHE STRING "")
 set(CMAKE_CXX_FLAGS_RELEASE "${OPTFLAGS}" CACHE STRING "")

And then only enabled the fast single source tests:

nico@nico-sonic-compiler:~/Documents/llvm-test-suite/jlm$ git diff ../SingleSource/CMakeLists.txt
diff --git a/SingleSource/CMakeLists.txt b/SingleSource/CMakeLists.txt
index 21cae5c2..10e16fa7 100644
--- a/SingleSource/CMakeLists.txt
+++ b/SingleSource/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_subdirectory(Benchmarks)
+# add_subdirectory(Benchmarks)
 if(NOT TEST_SUITE_BENCHMARKING_ONLY)
   add_subdirectory(UnitTests)
   add_subdirectory(Regression)
nico@nico-sonic-compiler:~/Documents/llvm-test-suite/jlm$ git diff ../MultiSource/CMakeLists.txt
diff --git a/MultiSource/CMakeLists.txt b/MultiSource/CMakeLists.txt
index dcbdf914..9f086cf4 100644
--- a/MultiSource/CMakeLists.txt
+++ b/MultiSource/CMakeLists.txt
@@ -1,7 +1,7 @@
-add_subdirectory(Applications)
-add_subdirectory(Benchmarks)
+#add_subdirectory(Applications)
+#add_subdirectory(Benchmarks)
 if(NOT TEST_SUITE_BENCHMARKING_ONLY)
-  add_subdirectory(UnitTests)
+       #  add_subdirectory(UnitTests)
 endif()
 
 file(COPY lit.local.cfg DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")

I believe to remember that the failing InlinerAndAlloca test is due to some issue in the function inlining that does not handle allocas correctly. However, what stands out to me is that we have several tests failing that have variable arguments.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions