From: Shoaib Meenai Date: Sat, 14 Dec 2019 03:35:49 +0000 (-0800) Subject: [perf-training] Make training data location configurable X-Git-Tag: llvmorg-11-init~2125 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c59c4ffb9c111f8d87a65839697d03fc485c51c;p=platform%2Fupstream%2Fllvm.git [perf-training] Make training data location configurable We may wish to keep the PGO training data outside the repository. Add a CMake variable to allow referencing an external lit testsuite. Differential Revision: https://reviews.llvm.org/D71507 --- diff --git a/clang/utils/perf-training/CMakeLists.txt b/clang/utils/perf-training/CMakeLists.txt index 39f9a4c..25bb7f4 100644 --- a/clang/utils/perf-training/CMakeLists.txt +++ b/clang/utils/perf-training/CMakeLists.txt @@ -10,6 +10,10 @@ endif () string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) +set(CLANG_PGO_TRAINING_DATA "${CMAKE_CURRENT_SOURCE_DIR}" CACHE PATH + "The path to a lit testsuite containing samples for PGO and order file generation" + ) + if(LLVM_BUILD_INSTRUMENTED) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in diff --git a/clang/utils/perf-training/lit.cfg b/clang/utils/perf-training/lit.cfg index 671d44f..67a4234 100644 --- a/clang/utils/perf-training/lit.cfg +++ b/clang/utils/perf-training/lit.cfg @@ -27,7 +27,7 @@ config.clang = lit.util.which('clang', config.clang_tools_dir).replace('\\', '/' config.name = 'Clang Perf Training' config.suffixes = ['.c', '.cpp', '.m', '.mm', '.cu', '.ll', '.cl', '.s', '.S', '.modulemap'] -cc1_wrapper = '%s %s/perf-helper.py cc1' % (config.python_exe, config.test_source_root) +cc1_wrapper = '%s %s/perf-helper.py cc1' % (config.python_exe, config.perf_helper_dir) use_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL") config.test_format = lit.formats.ShTest(use_lit_shell == "0") diff --git a/clang/utils/perf-training/lit.site.cfg.in b/clang/utils/perf-training/lit.site.cfg.in index 66683bc..340a0e9 100644 --- a/clang/utils/perf-training/lit.site.cfg.in +++ b/clang/utils/perf-training/lit.site.cfg.in @@ -3,8 +3,9 @@ import sys config.clang_tools_dir = "@CLANG_TOOLS_DIR@" +config.perf_helper_dir = "@CMAKE_CURRENT_SOURCE_DIR@" config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@" -config.test_source_root = "@CMAKE_CURRENT_SOURCE_DIR@" +config.test_source_root = "@CLANG_PGO_TRAINING_DATA@" config.target_triple = "@TARGET_TRIPLE@" config.python_exe = "@PYTHON_EXECUTABLE@" diff --git a/clang/utils/perf-training/order-files.lit.cfg b/clang/utils/perf-training/order-files.lit.cfg index 93904ec..03c605c 100644 --- a/clang/utils/perf-training/order-files.lit.cfg +++ b/clang/utils/perf-training/order-files.lit.cfg @@ -28,8 +28,8 @@ config.clang = os.path.realpath(lit.util.which('clang', config.clang_tools_dir)) config.name = 'Clang Perf Training' config.suffixes = ['.c', '.cpp', '.m', '.mm', '.cu', '.ll', '.cl', '.s', '.S', '.modulemap'] -dtrace_wrapper = '%s %s/perf-helper.py dtrace' % (config.python_exe, config.test_source_root) -dtrace_wrapper_cc1 = '%s %s/perf-helper.py dtrace --cc1' % (config.python_exe, config.test_source_root) +dtrace_wrapper = '%s %s/perf-helper.py dtrace' % (config.python_exe, config.perf_helper_dir) +dtrace_wrapper_cc1 = '%s %s/perf-helper.py dtrace --cc1' % (config.python_exe, config.perf_helper_dir) if 'darwin' in config.target_triple: lit_config.note('using DTrace oneshot probe') diff --git a/clang/utils/perf-training/order-files.lit.site.cfg.in b/clang/utils/perf-training/order-files.lit.site.cfg.in index 0490a21..87406db 100644 --- a/clang/utils/perf-training/order-files.lit.site.cfg.in +++ b/clang/utils/perf-training/order-files.lit.site.cfg.in @@ -3,8 +3,9 @@ import sys config.clang_tools_dir = "@CLANG_TOOLS_DIR@" +config.perf_helper_dir = "@CMAKE_CURRENT_SOURCE_DIR@" config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@" -config.test_source_root = "@CMAKE_CURRENT_SOURCE_DIR@" +config.test_source_root = "@CLANG_PGO_TRAINING_DATA@" config.target_triple = "@TARGET_TRIPLE@" config.python_exe = "@PYTHON_EXECUTABLE@"