aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-ya-builder <robot-ya-builder@yandex-team.com>2023-06-16 23:06:17 +0300
committerrobot-ya-builder <robot-ya-builder@yandex-team.com>2023-06-16 23:06:17 +0300
commit7f8f327ecc4ac0d9fcfcb9e6dfba03e20a7ff8b7 (patch)
tree472aacb109ae7c74a1aa32272d66e42b34e36854
parent625dc01ee453c507fdd73e1547df9e1281e1b015 (diff)
downloadydb-7f8f327ecc4ac0d9fcfcb9e6dfba03e20a7ff8b7.tar.gz
External build system generator release 33
Update tools: yexport
-rw-r--r--build/scripts/split_unittest.py30
-rw-r--r--cmake/global_flags.compiler.gnu.cmake1
-rw-r--r--cmake/global_flags.compiler.msvc.cmake1
-rw-r--r--cmake/llvm-tools.cmake7
4 files changed, 31 insertions, 8 deletions
diff --git a/build/scripts/split_unittest.py b/build/scripts/split_unittest.py
index 613bf507ad..8874b8b915 100644
--- a/build/scripts/split_unittest.py
+++ b/build/scripts/split_unittest.py
@@ -8,10 +8,28 @@ def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("--split-factor", type=int, default=0)
parser.add_argument("--shard", type=int, default=0)
+ parser.add_argument("--fork-mode", type=str, default="SEQUENTIAL")
parser.add_argument("command", nargs=argparse.REMAINDER)
return parser.parse_args()
+def get_sequential_chunk(tests, modulo, modulo_index):
+ chunk_size = len(tests) // modulo
+ not_used = len(tests) % modulo
+ shift = chunk_size + (modulo_index < not_used)
+ start = chunk_size * modulo_index + min(modulo_index, not_used)
+ end = start + shift
+ return [] if end > len(tests) else tests[start:end]
+
+
+def get_shuffled_chunk(tests, modulo, modulo_index):
+ result_tests = []
+ for i, test in enumerate(tests):
+ if i % modulo == modulo_index:
+ result_tests.append(test)
+ return result_tests
+
+
def list_tests(binary):
with tempfile.NamedTemporaryFile() as tmpfile:
cmd = [binary, "--list-verbose", "--list-path", tmpfile.name]
@@ -27,12 +45,12 @@ def get_shard_tests(args):
test_names = list_tests(args.command[0])
test_names = sorted(test_names)
- chunk_size = len(test_names) // args.split_factor
- not_used = len(test_names) % args.split_factor
- shift = chunk_size + (args.shard < not_used)
- start = chunk_size * args.shard + min(args.shard, not_used)
- end = start + shift
- return [] if end > len(test_names) else test_names[start:end]
+ if args.fork_mode == "MODULO":
+ return get_shuffled_chunk(test_names, args.split_factor, args.shard)
+ elif args.fork_mode == "SEQUENTIAL":
+ return get_sequential_chunk(test_names, args.split_factor, args.shard)
+ else:
+ raise ValueError("detected unknown partition mode: {}".format(args.fork_mode))
def get_shard_cmd_args(args):
diff --git a/cmake/global_flags.compiler.gnu.cmake b/cmake/global_flags.compiler.gnu.cmake
index 765ce89a48..3dcde4027f 100644
--- a/cmake/global_flags.compiler.gnu.cmake
+++ b/cmake/global_flags.compiler.gnu.cmake
@@ -15,7 +15,6 @@ set(_GNU_COMMON_C_CXX_FLAGS "\
-D_THREAD_SAFE \
-D_PTHREADS \
-D_REENTRANT \
- -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES \
-D_LARGEFILE_SOURCE \
-D__STDC_CONSTANT_MACROS \
-D__STDC_FORMAT_MACROS \
diff --git a/cmake/global_flags.compiler.msvc.cmake b/cmake/global_flags.compiler.msvc.cmake
index 1f22f3aa5d..ffbd2e033c 100644
--- a/cmake/global_flags.compiler.msvc.cmake
+++ b/cmake/global_flags.compiler.msvc.cmake
@@ -50,7 +50,6 @@ set (_MSVC_COMMON_C_CXX_FLAGS " \
/D__STDC_CONSTANT_MACROS \
/D__STDC_FORMAT_MACROS \
/D_USING_V110_SDK71_ \
- /D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES \
/DWIN32_LEAN_AND_MEAN \
/DNOMINMAX \
/nologo \
diff --git a/cmake/llvm-tools.cmake b/cmake/llvm-tools.cmake
index 970d4e4d35..c3dda8b0d8 100644
--- a/cmake/llvm-tools.cmake
+++ b/cmake/llvm-tools.cmake
@@ -35,6 +35,13 @@ else()
message(STATUS "Using ${LLVMOPT} for LLVM IR optimization")
endif()
+find_program(LLVMLLC NAMES llc-12 llc)
+if (LLVMLLC MATCHES "LLVMLLC-NOTFOUND")
+ message(SEND_ERROR "llvm llc tool not found")
+else()
+ message(STATUS "Using ${LLVMLLC} for LLVM IR to binary code compilation")
+endif()
+
function(llvm_compile_cxx Tgt Inpt Out Tool UseC)
list(APPEND TARGET_INCLUDES "-I$<JOIN:$<TARGET_PROPERTY:${Tgt},INCLUDE_DIRECTORIES>,$<SEMICOLON>-I>")
list(APPEND TARGET_COMPILE_OPTIONS "'$<JOIN:$<TARGET_GENEX_EVAL:${Tgt},$<TARGET_PROPERTY:${Tgt},COMPILE_OPTIONS>>,'$<SEMICOLON>'>'")