diff --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt --- a/llvm/test/CMakeLists.txt +++ b/llvm/test/CMakeLists.txt @@ -17,6 +17,7 @@ LLVM_BYE_LINK_INTO_TOOLS LLVM_HAVE_TF_AOT LLVM_HAVE_TF_API + LLVM_INLINER_MODEL_PATH LLVM_ENABLE_EXPENSIVE_CHECKS ) diff --git a/llvm/test/Transforms/Inline/ML/bounds-checks.ll b/llvm/test/Transforms/Inline/ML/bounds-checks.ll --- a/llvm/test/Transforms/Inline/ML/bounds-checks.ll +++ b/llvm/test/Transforms/Inline/ML/bounds-checks.ll @@ -1,8 +1,9 @@ ; Test behavior when inlining policy grows size out of control. ; In all cases, the end result is the same: mandatory inlinings must happen. -; However, when we discover we 'trip' over the artificially-low size increase +; However, when we discover we 'trip' over the artificially-low size increase ; factor, we don't inline anymore. ; REQUIRES: have_tf_aot +; REQUIRES: llvm_inliner_model_autogenerated ; RUN: opt -passes=scc-oz-module-inliner -enable-ml-inliner=release -ml-advisor-size-increase-threshold=10.0 -S < %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=NOBOUNDS ; RUN: opt -passes=scc-oz-module-inliner -enable-ml-inliner=release -ml-advisor-size-increase-threshold=1.0 -S < %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=BOUNDS @@ -38,4 +39,4 @@ ; @some-function isn't mandatory, and when we set the increase threshold too low, ; it won't be inlined. ; NOBOUNDS-NOT: @some_function -; BOUNDS: call i64 @some_function \ No newline at end of file +; BOUNDS: call i64 @some_function diff --git a/llvm/test/Transforms/Inline/ML/ml-test-release-mode.ll b/llvm/test/Transforms/Inline/ML/ml-test-release-mode.ll --- a/llvm/test/Transforms/Inline/ML/ml-test-release-mode.ll +++ b/llvm/test/Transforms/Inline/ML/ml-test-release-mode.ll @@ -6,5 +6,6 @@ ; for the 'development' mode. ; ; REQUIRES: have_tf_aot +; REQUIRES: llvm_inliner_model_autogenerated ; RUN: opt -passes=scc-oz-module-inliner -enable-ml-inliner=release -S < %S/Inputs/test-module.ll 2>&1 | FileCheck %S/Inputs/test-module.ll --check-prefix=CHECK ; RUN: opt -passes=scc-oz-module-inliner -enable-ml-inliner=default -S < %S/Inputs/test-module.ll 2>&1 | FileCheck %S/Inputs/test-module.ll --check-prefix=DEFAULT diff --git a/llvm/test/lit.cfg.py b/llvm/test/lit.cfg.py --- a/llvm/test/lit.cfg.py +++ b/llvm/test/lit.cfg.py @@ -254,6 +254,9 @@ if config.have_tf_api: config.available_features.add("have_tf_api") +if config.llvm_inliner_model_autogenerated: + config.available_features.add("llvm_inliner_model_autogenerated") + def have_cxx_shared_library(): readobj_exe = lit.util.which('llvm-readobj', config.llvm_tools_dir) if not readobj_exe: diff --git a/llvm/test/lit.site.cfg.py.in b/llvm/test/lit.site.cfg.py.in --- a/llvm/test/lit.site.cfg.py.in +++ b/llvm/test/lit.site.cfg.py.in @@ -54,6 +54,7 @@ config.linked_bye_extension = @LLVM_BYE_LINK_INTO_TOOLS@ config.have_tf_aot = @LLVM_HAVE_TF_AOT@ config.have_tf_api = @LLVM_HAVE_TF_API@ +config.llvm_inliner_model_autogenerated = not @LLVM_INLINER_MODEL_PATH@ or @LLVM_INLINER_MODEL_PATH@ == "autogenerate" config.expensive_checks = @LLVM_ENABLE_EXPENSIVE_CHECKS@ # Support substitution of the tools_dir with user parameters. This is