[PATCH] D71507: [perf-training] Make training data location configurable
Amir added a comment. Herald added a subscriber: wenlei. Herald added a project: All. Hi @smeenai, Sorry for asking on this diff, but... Do you have any pointers for training sets? Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71507/new/ https://reviews.llvm.org/D71507 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D71507: [perf-training] Make training data location configurable
This revision was automatically updated to reflect the committed changes. Closed by commit rG2c59c4ffb9c1: [perf-training] Make training data location configurable (authored by smeenai). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71507/new/ https://reviews.llvm.org/D71507 Files: clang/utils/perf-training/CMakeLists.txt clang/utils/perf-training/lit.cfg clang/utils/perf-training/lit.site.cfg.in clang/utils/perf-training/order-files.lit.cfg clang/utils/perf-training/order-files.lit.site.cfg.in Index: clang/utils/perf-training/order-files.lit.site.cfg.in === --- clang/utils/perf-training/order-files.lit.site.cfg.in +++ 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@" Index: clang/utils/perf-training/order-files.lit.cfg === --- clang/utils/perf-training/order-files.lit.cfg +++ clang/utils/perf-training/order-files.lit.cfg @@ -28,8 +28,8 @@ 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') Index: clang/utils/perf-training/lit.site.cfg.in === --- clang/utils/perf-training/lit.site.cfg.in +++ 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@" Index: clang/utils/perf-training/lit.cfg === --- clang/utils/perf-training/lit.cfg +++ clang/utils/perf-training/lit.cfg @@ -27,7 +27,7 @@ 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") Index: clang/utils/perf-training/CMakeLists.txt === --- clang/utils/perf-training/CMakeLists.txt +++ clang/utils/perf-training/CMakeLists.txt @@ -10,6 +10,10 @@ 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 Index: clang/utils/perf-training/order-files.lit.site.cfg.in === --- clang/utils/perf-training/order-files.lit.site.cfg.in +++ 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@" Index: clang/utils/perf-training/order-files.lit.cfg === --- clang/utils/perf-training/order-files.lit.cfg +++ clang/utils/perf-training/order-files.lit.cfg @@ -28,8 +28,8 @@ 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)
[PATCH] D71507: [perf-training] Make training data location configurable
phosek accepted this revision. phosek added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71507/new/ https://reviews.llvm.org/D71507 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D71507: [perf-training] Make training data location configurable
smeenai added a comment. I'm not sure where best to document this. We have https://llvm.org/docs/HowToBuildWithPGO.html, but that doesn't mention the build system's built-in PGO support as far as I can tell. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71507/new/ https://reviews.llvm.org/D71507 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D71507: [perf-training] Make training data location configurable
smeenai created this revision. smeenai added reviewers: beanz, compnerd, phosek, xiaobai. Herald added subscribers: cfe-commits, mgorny. Herald added a project: clang. We may wish to keep the PGO training data outside the repository. Add a CMake variable to allow referencing an external lit testsuite. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D71507 Files: clang/utils/perf-training/CMakeLists.txt clang/utils/perf-training/lit.cfg clang/utils/perf-training/lit.site.cfg.in clang/utils/perf-training/order-files.lit.cfg clang/utils/perf-training/order-files.lit.site.cfg.in Index: clang/utils/perf-training/order-files.lit.site.cfg.in === --- clang/utils/perf-training/order-files.lit.site.cfg.in +++ 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@" Index: clang/utils/perf-training/order-files.lit.cfg === --- clang/utils/perf-training/order-files.lit.cfg +++ clang/utils/perf-training/order-files.lit.cfg @@ -28,8 +28,8 @@ 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') Index: clang/utils/perf-training/lit.site.cfg.in === --- clang/utils/perf-training/lit.site.cfg.in +++ 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@" Index: clang/utils/perf-training/lit.cfg === --- clang/utils/perf-training/lit.cfg +++ clang/utils/perf-training/lit.cfg @@ -27,7 +27,7 @@ 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") Index: clang/utils/perf-training/CMakeLists.txt === --- clang/utils/perf-training/CMakeLists.txt +++ clang/utils/perf-training/CMakeLists.txt @@ -10,6 +10,10 @@ 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 Index: clang/utils/perf-training/order-files.lit.site.cfg.in === --- clang/utils/perf-training/order-files.lit.site.cfg.in +++ 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@" Index: clang/utils/perf-training/order-files.lit.cfg === --- clang/utils/perf-training/order-files.lit.cfg +++ clang/utils/perf-training/order-files.lit.cfg @@ -28,8 +28,8 @@ 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' %