mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
static link polly into tools
llvm-svn: 203886
This commit is contained in:
parent
1a5216f9bc
commit
420901fde5
@ -503,6 +503,8 @@ endif()
|
|||||||
add_subdirectory(projects)
|
add_subdirectory(projects)
|
||||||
|
|
||||||
option(WITH_POLLY "Build LLVM with Polly" ON)
|
option(WITH_POLLY "Build LLVM with Polly" ON)
|
||||||
|
option(LINK_POLLY_INTO_TOOLS "Static link Polly into tools" OFF)
|
||||||
|
|
||||||
if(WITH_POLLY)
|
if(WITH_POLLY)
|
||||||
if(NOT EXISTS ${LLVM_MAIN_SRC_DIR}/tools/polly/CMakeLists.txt)
|
if(NOT EXISTS ${LLVM_MAIN_SRC_DIR}/tools/polly/CMakeLists.txt)
|
||||||
set(WITH_POLLY OFF)
|
set(WITH_POLLY OFF)
|
||||||
|
@ -498,6 +498,9 @@
|
|||||||
/* Linker version detected at compile time. */
|
/* Linker version detected at compile time. */
|
||||||
#undef HOST_LINK_VERSION
|
#undef HOST_LINK_VERSION
|
||||||
|
|
||||||
|
/* Define if we link Polly to the tools */
|
||||||
|
#cmakedefine LINK_POLLY_INTO_TOOLS
|
||||||
|
|
||||||
/* Installation directory for binary executables */
|
/* Installation directory for binary executables */
|
||||||
#cmakedefine LLVM_BINDIR "${LLVM_BINDIR}"
|
#cmakedefine LLVM_BINDIR "${LLVM_BINDIR}"
|
||||||
|
|
||||||
|
@ -121,4 +121,7 @@
|
|||||||
/* Minor version of the LLVM API */
|
/* Minor version of the LLVM API */
|
||||||
#cmakedefine LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
|
#cmakedefine LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
|
||||||
|
|
||||||
|
/* Define if we link Polly to the tools */
|
||||||
|
#cmakedefine LINK_POLLY_INTO_TOOLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
add_llvm_tool_subdirectory(llvm-config)
|
add_llvm_tool_subdirectory(llvm-config)
|
||||||
|
|
||||||
|
# Build polly before the tools: the tools link against polly when
|
||||||
|
# LINK_POLLY_INTO_TOOLS is set.
|
||||||
|
if(WITH_POLLY)
|
||||||
|
add_llvm_external_project(polly)
|
||||||
|
else(WITH_POLLY)
|
||||||
|
list(APPEND LLVM_IMPLICIT_PROJECT_IGNORE "${LLVM_MAIN_SRC_DIR}/tools/polly")
|
||||||
|
endif(WITH_POLLY)
|
||||||
|
|
||||||
add_llvm_tool_subdirectory(opt)
|
add_llvm_tool_subdirectory(opt)
|
||||||
add_llvm_tool_subdirectory(llvm-as)
|
add_llvm_tool_subdirectory(llvm-as)
|
||||||
add_llvm_tool_subdirectory(llvm-dis)
|
add_llvm_tool_subdirectory(llvm-dis)
|
||||||
@ -67,12 +75,6 @@ if( NOT LLVM_INCLUDE_TOOLS STREQUAL "bootstrap-only" )
|
|||||||
add_llvm_external_project(lld)
|
add_llvm_external_project(lld)
|
||||||
add_llvm_external_project(lldb)
|
add_llvm_external_project(lldb)
|
||||||
|
|
||||||
if(WITH_POLLY)
|
|
||||||
add_llvm_external_project(polly)
|
|
||||||
else(WITH_POLLY)
|
|
||||||
list(APPEND LLVM_IMPLICIT_PROJECT_IGNORE "${LLVM_MAIN_SRC_DIR}/tools/polly")
|
|
||||||
endif(WITH_POLLY)
|
|
||||||
|
|
||||||
# Automatically add remaining sub-directories containing a 'CMakeLists.txt'
|
# Automatically add remaining sub-directories containing a 'CMakeLists.txt'
|
||||||
# file as external projects.
|
# file as external projects.
|
||||||
add_llvm_implicit_external_projects()
|
add_llvm_implicit_external_projects()
|
||||||
|
@ -32,3 +32,12 @@ add_llvm_tool(bugpoint
|
|||||||
bugpoint.cpp
|
bugpoint.cpp
|
||||||
)
|
)
|
||||||
set_target_properties(bugpoint PROPERTIES ENABLE_EXPORTS 1)
|
set_target_properties(bugpoint PROPERTIES ENABLE_EXPORTS 1)
|
||||||
|
|
||||||
|
if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)
|
||||||
|
target_link_libraries(bugpoint Polly)
|
||||||
|
if(POLLY_LINK_LIBS)
|
||||||
|
foreach(lib ${POLLY_LINK_LIBS})
|
||||||
|
target_link_libraries(bugpoint ${lib})
|
||||||
|
endforeach(lib)
|
||||||
|
endif(POLLY_LINK_LIBS)
|
||||||
|
endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)
|
||||||
|
@ -109,6 +109,12 @@ namespace {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LINK_POLLY_INTO_TOOLS
|
||||||
|
namespace polly {
|
||||||
|
void initializePollyPasses(llvm::PassRegistry &Registry);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
#ifndef DEBUG_BUGPOINT
|
#ifndef DEBUG_BUGPOINT
|
||||||
llvm::sys::PrintStackTraceOnErrorSignal();
|
llvm::sys::PrintStackTraceOnErrorSignal();
|
||||||
@ -130,6 +136,10 @@ int main(int argc, char **argv) {
|
|||||||
initializeInstrumentation(Registry);
|
initializeInstrumentation(Registry);
|
||||||
initializeTarget(Registry);
|
initializeTarget(Registry);
|
||||||
|
|
||||||
|
#ifdef LINK_POLLY_INTO_TOOLS
|
||||||
|
polly::initializePollyPasses(Registry);
|
||||||
|
#endif
|
||||||
|
|
||||||
cl::ParseCommandLineOptions(argc, argv,
|
cl::ParseCommandLineOptions(argc, argv,
|
||||||
"LLVM automatic testcase reducer. See\nhttp://"
|
"LLVM automatic testcase reducer. See\nhttp://"
|
||||||
"llvm.org/cmds/bugpoint.html"
|
"llvm.org/cmds/bugpoint.html"
|
||||||
|
@ -32,3 +32,12 @@ add_llvm_tool(opt
|
|||||||
opt.cpp
|
opt.cpp
|
||||||
)
|
)
|
||||||
set_target_properties(opt PROPERTIES ENABLE_EXPORTS 1)
|
set_target_properties(opt PROPERTIES ENABLE_EXPORTS 1)
|
||||||
|
|
||||||
|
if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)
|
||||||
|
target_link_libraries(opt Polly)
|
||||||
|
if(POLLY_LINK_LIBS)
|
||||||
|
foreach(lib ${POLLY_LINK_LIBS})
|
||||||
|
target_link_libraries(opt ${lib})
|
||||||
|
endforeach(lib)
|
||||||
|
endif(POLLY_LINK_LIBS)
|
||||||
|
endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)
|
||||||
|
@ -304,6 +304,12 @@ static TargetMachine* GetTargetMachine(Triple TheTriple) {
|
|||||||
GetCodeGenOptLevel());
|
GetCodeGenOptLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LINK_POLLY_INTO_TOOLS
|
||||||
|
namespace polly {
|
||||||
|
void initializePollyPasses(llvm::PassRegistry &Registry);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// main for opt
|
// main for opt
|
||||||
//
|
//
|
||||||
@ -338,6 +344,10 @@ int main(int argc, char **argv) {
|
|||||||
// supported. For now, just add CodeGenPrepare.
|
// supported. For now, just add CodeGenPrepare.
|
||||||
initializeCodeGenPreparePass(Registry);
|
initializeCodeGenPreparePass(Registry);
|
||||||
|
|
||||||
|
#ifdef LINK_POLLY_INTO_TOOLS
|
||||||
|
polly::initializePollyPasses(Registry);
|
||||||
|
#endif
|
||||||
|
|
||||||
cl::ParseCommandLineOptions(argc, argv,
|
cl::ParseCommandLineOptions(argc, argv,
|
||||||
"llvm .bc -> .bc modular optimizer and analysis printer\n");
|
"llvm .bc -> .bc modular optimizer and analysis printer\n");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user