[libc-commits] [libc] 69bd7fa - [libc] Disable 'DecodeInOtherBases` test on GPU targets
Joseph Huber via libc-commits
libc-commits at lists.llvm.org
Fri Jul 21 11:15:16 PDT 2023
Author: Joseph Huber
Date: 2023-07-21T13:15:09-05:00
New Revision: 69bd7fae2b037c6538d531f39c25c160d8e6ff87
URL: https://github.com/llvm/llvm-project/commit/69bd7fae2b037c6538d531f39c25c160d8e6ff87
DIFF: https://github.com/llvm/llvm-project/commit/69bd7fae2b037c6538d531f39c25c160d8e6ff87.diff
LOG: [libc] Disable 'DecodeInOtherBases` test on GPU targets
This test is excessively slow on GPU targets, taking anywhere beween 5
and 60 seconds to complete each time it's run. See
https://lab.llvm.org/buildbot/#/builders/55/builds/52203/steps/12/logs/stdio
for an example on the NVPTX buildbot. Simply disable testing this on the
GPU for now.
Reviewed By: michaelrj
Differential Revision: https://reviews.llvm.org/D155979
Added:
Modified:
libc/test/src/stdlib/StrtolTest.h
Removed:
################################################################################
diff --git a/libc/test/src/stdlib/StrtolTest.h b/libc/test/src/stdlib/StrtolTest.h
index 0bc71615e4c3cf..24726b418817d1 100644
--- a/libc/test/src/stdlib/StrtolTest.h
+++ b/libc/test/src/stdlib/StrtolTest.h
@@ -8,6 +8,7 @@
#include "src/__support/CPP/limits.h"
#include "src/__support/CPP/type_traits.h"
+#include "src/__support/macros/properties/architectures.h"
#include "src/errno/libc_errno.h"
#include "test/UnitTest/Test.h"
@@ -198,6 +199,12 @@ struct StrtoTest : public __llvm_libc::testing::Test {
}
void DecodeInOtherBases(FunctionT func) {
+ // This test is excessively slow on the GPU, so we limit the innermost loop.
+#if defined(LIBC_TARGET_ARCH_IS_GPU)
+ constexpr int limit = 0;
+#else
+ constexpr int limit = 36;
+#endif
char small_string[4] = {'\0', '\0', '\0', '\0'};
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
@@ -245,7 +252,7 @@ struct StrtoTest : public __llvm_libc::testing::Test {
small_string[0] = int_to_b36_char(first_digit);
for (int second_digit = 0; second_digit <= 36; ++second_digit) {
small_string[1] = int_to_b36_char(second_digit);
- for (int third_digit = 0; third_digit <= 36; ++third_digit) {
+ for (int third_digit = 0; third_digit <= limit; ++third_digit) {
small_string[2] = int_to_b36_char(third_digit);
if (first_digit < base && second_digit < base &&
More information about the libc-commits
mailing list