mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-12 04:43:48 +00:00
![serge_sans_paille](/assets/img/avatar_default.png)
There's quite a lot of references to Polly in the LLVM CMake codebase. However the registration pattern used by Polly could be useful to other external projects: thanks to that mechanism it would be possible to develop LLVM extension without touching the LLVM code base. This patch has two effects: 1. Remove all code specific to Polly in the llvm/clang codebase, replaicing it with a generic mechanism 2. Provide a generic mechanism to register compiler extensions. A compiler extension is similar to a pass plugin, with the notable difference that the compiler extension can be configured to be built dynamically (like plugins) or statically (like regular passes). As a result, people willing to add extra passes to clang/opt can do it using a separate code repo, but still have their pass be linked in clang/opt as built-in passes. Differential Revision: https://reviews.llvm.org/D61446
33 lines
1.2 KiB
INI
33 lines
1.2 KiB
INI
@LIT_SITE_CFG_IN_HEADER@
|
|
|
|
import sys
|
|
|
|
config.llvm_src_root = "@LLVM_SOURCE_DIR@"
|
|
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
|
|
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
|
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
|
config.llvm_build_mode = "@LLVM_BUILD_MODE@"
|
|
config.polly_obj_root = "@POLLY_BINARY_DIR@"
|
|
config.polly_lib_dir = "@POLLY_LIB_DIR@"
|
|
config.enable_shared = @ENABLE_SHARED@
|
|
config.shlibdir = "@SHLIBDIR@"
|
|
config.target_triple = "@TARGET_TRIPLE@"
|
|
config.enable_gpgpu_codegen = "@GPU_CODEGEN@"
|
|
config.llvm_polly_link_into_tools = "@LLVM_POLLY_LINK_INTO_TOOLS@"
|
|
config.has_unittests = @POLLY_GTEST_AVAIL@
|
|
|
|
# Support substitution of the tools_dir, libs_dirs, and build_mode with user
|
|
# parameters. This is used when we can't determine the tool dir at
|
|
# configuration time.
|
|
try:
|
|
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
|
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
|
|
config.llvm_build_mode = config.llvm_build_mode % lit_config.params
|
|
except KeyError:
|
|
e = sys.exc_info()[1]
|
|
key, = e.args
|
|
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(config, "@POLLY_SOURCE_DIR@/test/Unit/lit.cfg")
|