mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-05 14:34:55 +00:00
67d135ae40
1. Add some helper classes for partitions. They are designed in a way such that the top-level LTO driver will not see much difference with or without partitioning. 2. Introduce work-dir. Now all intermediate files generated during LTO phases will be saved under work-dir. User can specify the workdir via -lto-workdir=/path/to/dir. By default the work-dir will be erased before linker exit. To keep the workdir, do -lto-keep, or -lto-keep=1. TODO: Erase the workdir, if the linker exit prematurely. We are currently not able to remove directory on signal. The support routines simply ignore directory. 3. Add one new API lto_codegen_get_files_need_remove(). Linker and LTO plugin will communicate via this API about which files (including directories) need to removed before linker exit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188188 91177308-0d34-0410-b5e6-96231b3b80d8
33 lines
834 B
CMake
33 lines
834 B
CMake
set(LLVM_LINK_COMPONENTS
|
|
${LLVM_TARGETS_TO_BUILD}
|
|
ipo scalaropts linker bitreader bitwriter mcdisassembler vectorize)
|
|
|
|
add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
|
|
|
|
set(SOURCES
|
|
LTOCodeGenerator.cpp
|
|
LTODisassembler.cpp
|
|
lto.cpp
|
|
LTOModule.cpp
|
|
LTOPartition.cpp
|
|
LTOPostIPODriver.cpp
|
|
)
|
|
|
|
set(LLVM_COMMON_DEPENDS intrinsics_gen)
|
|
|
|
if( NOT WIN32 AND LLVM_ENABLE_PIC )
|
|
set(bsl ${BUILD_SHARED_LIBS})
|
|
set(BUILD_SHARED_LIBS ON)
|
|
add_llvm_library(LTO ${SOURCES})
|
|
set_property(TARGET LTO PROPERTY OUTPUT_NAME "LTO")
|
|
set(BUILD_SHARED_LIBS ${bsl})
|
|
set(LTO_STATIC_TARGET_NAME LTO_static)
|
|
else()
|
|
set(LTO_STATIC_TARGET_NAME LTO)
|
|
endif()
|
|
|
|
if( NOT BUILD_SHARED_LIBS )
|
|
add_llvm_library(${LTO_STATIC_TARGET_NAME} ${SOURCES})
|
|
set_property(TARGET ${LTO_STATIC_TARGET_NAME} PROPERTY OUTPUT_NAME "LTO")
|
|
endif()
|