mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 00:21:03 +00:00
Build system infrastructure for multiple tblgens.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141266 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -187,6 +187,10 @@ endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
|
|||||||
include(AddLLVM)
|
include(AddLLVM)
|
||||||
include(TableGen)
|
include(TableGen)
|
||||||
|
|
||||||
|
macro(llvm_tablegen)
|
||||||
|
tablegen(LLVM ${ARGN})
|
||||||
|
endmacro()
|
||||||
|
|
||||||
if( MINGW )
|
if( MINGW )
|
||||||
# People report that -O3 is unreliable on MinGW. The traditional
|
# People report that -O3 is unreliable on MinGW. The traditional
|
||||||
# build also uses -O2 for that reason:
|
# build also uses -O2 for that reason:
|
||||||
@@ -197,18 +201,8 @@ endif()
|
|||||||
add_subdirectory(lib/Support)
|
add_subdirectory(lib/Support)
|
||||||
add_subdirectory(lib/TableGen)
|
add_subdirectory(lib/TableGen)
|
||||||
|
|
||||||
set(LLVM_TABLEGEN "tblgen" CACHE
|
|
||||||
STRING "Native TableGen executable. Saves building one when cross-compiling.")
|
|
||||||
# Effective tblgen executable to be used:
|
|
||||||
set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN})
|
|
||||||
|
|
||||||
add_subdirectory(utils/TableGen)
|
add_subdirectory(utils/TableGen)
|
||||||
|
|
||||||
if( CMAKE_CROSSCOMPILING )
|
|
||||||
# This adds a dependency on target `tblgen', so must go after utils/TableGen
|
|
||||||
include( CrossCompileLLVM )
|
|
||||||
endif( CMAKE_CROSSCOMPILING )
|
|
||||||
|
|
||||||
add_subdirectory(include/llvm)
|
add_subdirectory(include/llvm)
|
||||||
|
|
||||||
add_subdirectory(lib)
|
add_subdirectory(lib)
|
||||||
|
@@ -450,11 +450,11 @@ Echo = @$(EchoCmd)
|
|||||||
ifndef LLVMAS
|
ifndef LLVMAS
|
||||||
LLVMAS := $(LLVMToolDir)/llvm-as$(EXEEXT)
|
LLVMAS := $(LLVMToolDir)/llvm-as$(EXEEXT)
|
||||||
endif
|
endif
|
||||||
ifndef TBLGEN
|
ifndef LLVM_TBLGEN
|
||||||
ifeq ($(LLVM_CROSS_COMPILING),1)
|
ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||||
TBLGEN := $(BuildLLVMToolDir)/tblgen$(BUILD_EXEEXT)
|
LLVM_TBLGEN := $(BuildLLVMToolDir)/llvm-tblgen$(BUILD_EXEEXT)
|
||||||
else
|
else
|
||||||
TBLGEN := $(LLVMToolDir)/tblgen$(EXEEXT)
|
LLVM_TBLGEN := $(LLVMToolDir)/llvm-tblgen$(EXEEXT)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
LLVM_CONFIG := $(LLVMToolDir)/llvm-config
|
LLVM_CONFIG := $(LLVMToolDir)/llvm-config
|
||||||
@@ -684,10 +684,11 @@ DataInstall = $(INSTALL) -m 0644
|
|||||||
# When compiling under Mingw/Cygwin, the tblgen tool expects Windows
|
# When compiling under Mingw/Cygwin, the tblgen tool expects Windows
|
||||||
# paths. In this case, the SYSPATH function (defined in
|
# paths. In this case, the SYSPATH function (defined in
|
||||||
# Makefile.config) transforms Unix paths into Windows paths.
|
# Makefile.config) transforms Unix paths into Windows paths.
|
||||||
TableGen = $(TBLGEN) -I $(call SYSPATH, $(PROJ_SRC_DIR)) \
|
TableGen.Flags= -I $(call SYSPATH, $(PROJ_SRC_DIR)) \
|
||||||
-I $(call SYSPATH, $(LLVM_SRC_ROOT)/include) \
|
-I $(call SYSPATH, $(LLVM_SRC_ROOT)/include) \
|
||||||
-I $(call SYSPATH, $(PROJ_SRC_ROOT)/include) \
|
-I $(call SYSPATH, $(PROJ_SRC_ROOT)/include) \
|
||||||
-I $(call SYSPATH, $(PROJ_SRC_ROOT)/lib/Target)
|
-I $(call SYSPATH, $(PROJ_SRC_ROOT)/lib/Target)
|
||||||
|
LLVMTableGen = $(LLVM_TBLGEN) $(TableGen.Flags)
|
||||||
|
|
||||||
Archive = $(AR) $(AR.Flags)
|
Archive = $(AR) $(AR.Flags)
|
||||||
LArchive = $(LLVMToolDir)/llvm-ar rcsf
|
LArchive = $(LLVMToolDir)/llvm-ar rcsf
|
||||||
@@ -1700,87 +1701,87 @@ TDFiles := $(strip $(wildcard $(PROJ_SRC_DIR)/*.td) \
|
|||||||
$(LLVM_SRC_ROOT)/include/llvm/CodeGen/ValueTypes.td) \
|
$(LLVM_SRC_ROOT)/include/llvm/CodeGen/ValueTypes.td) \
|
||||||
$(wildcard $(LLVM_SRC_ROOT)/include/llvm/Intrinsics*.td)
|
$(wildcard $(LLVM_SRC_ROOT)/include/llvm/Intrinsics*.td)
|
||||||
|
|
||||||
# All of these files depend on tblgen and the .td files.
|
# All .inc.tmp files depend on the .td files.
|
||||||
$(INCTMPFiles) : $(TBLGEN) $(TDFiles)
|
$(INCTMPFiles) : $(TDFiles)
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenRegisterInfo.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenRegisterInfo.inc.tmp): \
|
||||||
$(ObjDir)/%GenRegisterInfo.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenRegisterInfo.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) register info implementation with tblgen"
|
$(Echo) "Building $(<F) register info implementation with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-register-info -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-register-info -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenInstrInfo.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenInstrInfo.inc.tmp): \
|
||||||
$(ObjDir)/%GenInstrInfo.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenInstrInfo.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) instruction information with tblgen"
|
$(Echo) "Building $(<F) instruction information with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-instr-info -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-instr-info -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenAsmWriter.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenAsmWriter.inc.tmp): \
|
||||||
$(ObjDir)/%GenAsmWriter.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenAsmWriter.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) assembly writer with tblgen"
|
$(Echo) "Building $(<F) assembly writer with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-asm-writer -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-asm-writer -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenAsmWriter1.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenAsmWriter1.inc.tmp): \
|
||||||
$(ObjDir)/%GenAsmWriter1.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenAsmWriter1.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) assembly writer #1 with tblgen"
|
$(Echo) "Building $(<F) assembly writer #1 with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-asm-writer -asmwriternum=1 -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-asm-writer -asmwriternum=1 -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenAsmMatcher.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenAsmMatcher.inc.tmp): \
|
||||||
$(ObjDir)/%GenAsmMatcher.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenAsmMatcher.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) assembly matcher with tblgen"
|
$(Echo) "Building $(<F) assembly matcher with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-asm-matcher -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-asm-matcher -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenMCCodeEmitter.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenMCCodeEmitter.inc.tmp): \
|
||||||
$(ObjDir)/%GenMCCodeEmitter.inc.tmp: %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenMCCodeEmitter.inc.tmp: %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) MC code emitter with tblgen"
|
$(Echo) "Building $(<F) MC code emitter with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-emitter -mc-emitter -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-emitter -mc-emitter -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenMCPseudoLowering.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenMCPseudoLowering.inc.tmp): \
|
||||||
$(ObjDir)/%GenMCPseudoLowering.inc.tmp: %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenMCPseudoLowering.inc.tmp: %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) MC Pseudo instruction expander with tblgen"
|
$(Echo) "Building $(<F) MC Pseudo instruction expander with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-pseudo-lowering -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-pseudo-lowering -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenCodeEmitter.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenCodeEmitter.inc.tmp): \
|
||||||
$(ObjDir)/%GenCodeEmitter.inc.tmp: %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenCodeEmitter.inc.tmp: %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) code emitter with tblgen"
|
$(Echo) "Building $(<F) code emitter with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-emitter -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-emitter -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenDAGISel.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenDAGISel.inc.tmp): \
|
||||||
$(ObjDir)/%GenDAGISel.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenDAGISel.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) DAG instruction selector implementation with tblgen"
|
$(Echo) "Building $(<F) DAG instruction selector implementation with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-dag-isel -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-dag-isel -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenDisassemblerTables.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenDisassemblerTables.inc.tmp): \
|
||||||
$(ObjDir)/%GenDisassemblerTables.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenDisassemblerTables.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) disassembly tables with tblgen"
|
$(Echo) "Building $(<F) disassembly tables with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-disassembler -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-disassembler -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenEDInfo.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenEDInfo.inc.tmp): \
|
||||||
$(ObjDir)/%GenEDInfo.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenEDInfo.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) enhanced disassembly information with tblgen"
|
$(Echo) "Building $(<F) enhanced disassembly information with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-enhanced-disassembly-info -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-enhanced-disassembly-info -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenFastISel.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenFastISel.inc.tmp): \
|
||||||
$(ObjDir)/%GenFastISel.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenFastISel.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) \"fast\" instruction selector implementation with tblgen"
|
$(Echo) "Building $(<F) \"fast\" instruction selector implementation with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-fast-isel -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-fast-isel -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenSubtargetInfo.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenSubtargetInfo.inc.tmp): \
|
||||||
$(ObjDir)/%GenSubtargetInfo.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenSubtargetInfo.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) subtarget information with tblgen"
|
$(Echo) "Building $(<F) subtarget information with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-subtarget -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-subtarget -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenCallingConv.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenCallingConv.inc.tmp): \
|
||||||
$(ObjDir)/%GenCallingConv.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenCallingConv.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) calling convention information with tblgen"
|
$(Echo) "Building $(<F) calling convention information with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-callingconv -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-callingconv -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(TARGET:%=$(ObjDir)/%GenIntrinsics.inc.tmp): \
|
$(TARGET:%=$(ObjDir)/%GenIntrinsics.inc.tmp): \
|
||||||
$(ObjDir)/%GenIntrinsics.inc.tmp : %.td $(ObjDir)/.dir
|
$(ObjDir)/%GenIntrinsics.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) intrinsics information with tblgen"
|
$(Echo) "Building $(<F) intrinsics information with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-tgt-intrinsic -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-tgt-intrinsic -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
$(ObjDir)/ARMGenDecoderTables.inc.tmp : ARM.td $(ObjDir)/.dir
|
$(ObjDir)/ARMGenDecoderTables.inc.tmp : ARM.td $(ObjDir)/.dir $(LLVM_TBLGEN)
|
||||||
$(Echo) "Building $(<F) decoder tables with tblgen"
|
$(Echo) "Building $(<F) decoder tables with tblgen"
|
||||||
$(Verb) $(TableGen) -gen-arm-decoder -o $(call SYSPATH, $@) $<
|
$(Verb) $(LLVMTableGen) -gen-arm-decoder -o $(call SYSPATH, $@) $<
|
||||||
|
|
||||||
|
|
||||||
clean-local::
|
clean-local::
|
||||||
|
@@ -1,26 +0,0 @@
|
|||||||
|
|
||||||
if( ${LLVM_TABLEGEN} STREQUAL "tblgen" )
|
|
||||||
set(CX_NATIVE_TG_DIR "${CMAKE_BINARY_DIR}/native")
|
|
||||||
set(LLVM_TABLEGEN_EXE "${CX_NATIVE_TG_DIR}/bin/tblgen")
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${CX_NATIVE_TG_DIR}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CX_NATIVE_TG_DIR}
|
|
||||||
COMMENT "Creating ${CX_NATIVE_TG_DIR}...")
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${CX_NATIVE_TG_DIR}/CMakeCache.txt
|
|
||||||
COMMAND ${CMAKE_COMMAND} -UMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=Release ${CMAKE_SOURCE_DIR}
|
|
||||||
WORKING_DIRECTORY ${CX_NATIVE_TG_DIR}
|
|
||||||
DEPENDS ${CX_NATIVE_TG_DIR}
|
|
||||||
COMMENT "Configuring native TableGen...")
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${LLVM_TABLEGEN_EXE}
|
|
||||||
COMMAND ${CMAKE_BUILD_TOOL}
|
|
||||||
DEPENDS ${CX_NATIVE_TG_DIR}/CMakeCache.txt
|
|
||||||
WORKING_DIRECTORY ${CX_NATIVE_TG_DIR}/utils/TableGen
|
|
||||||
COMMENT "Building native TableGen...")
|
|
||||||
add_custom_target(NativeTableGen DEPENDS ${LLVM_TABLEGEN_EXE})
|
|
||||||
|
|
||||||
add_dependencies(tblgen NativeTableGen)
|
|
||||||
|
|
||||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CX_NATIVE_TG_DIR})
|
|
||||||
endif()
|
|
@@ -2,7 +2,7 @@
|
|||||||
# Extra parameters for `tblgen' may come after `ofn' parameter.
|
# Extra parameters for `tblgen' may come after `ofn' parameter.
|
||||||
# Adds the name of the generated file to TABLEGEN_OUTPUT.
|
# Adds the name of the generated file to TABLEGEN_OUTPUT.
|
||||||
|
|
||||||
macro(tablegen ofn)
|
macro(tablegen project ofn)
|
||||||
file(GLOB local_tds "*.td")
|
file(GLOB local_tds "*.td")
|
||||||
file(GLOB_RECURSE global_tds "${LLVM_MAIN_SRC_DIR}/include/llvm/*.td")
|
file(GLOB_RECURSE global_tds "${LLVM_MAIN_SRC_DIR}/include/llvm/*.td")
|
||||||
|
|
||||||
@@ -14,14 +14,14 @@ macro(tablegen ofn)
|
|||||||
endif()
|
endif()
|
||||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
|
||||||
# Generate tablegen output in a temporary file.
|
# Generate tablegen output in a temporary file.
|
||||||
COMMAND ${LLVM_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
-I ${LLVM_MAIN_SRC_DIR}/lib/Target -I ${LLVM_MAIN_INCLUDE_DIR}
|
-I ${LLVM_MAIN_SRC_DIR}/lib/Target -I ${LLVM_MAIN_INCLUDE_DIR}
|
||||||
${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
|
${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
|
-o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
|
||||||
# The file in LLVM_TARGET_DEFINITIONS may be not in the current
|
# The file in LLVM_TARGET_DEFINITIONS may be not in the current
|
||||||
# directory and local_tds may not contain it, so we must
|
# directory and local_tds may not contain it, so we must
|
||||||
# explicitly list it here:
|
# explicitly list it here:
|
||||||
DEPENDS ${LLVM_TABLEGEN_EXE} ${local_tds} ${global_tds}
|
DEPENDS ${${project}_TABLEGEN_EXE} ${local_tds} ${global_tds}
|
||||||
${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
|
${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
|
||||||
COMMENT "Building ${ofn}..."
|
COMMENT "Building ${ofn}..."
|
||||||
)
|
)
|
||||||
@@ -53,3 +53,73 @@ function(add_public_tablegen_target target)
|
|||||||
add_dependencies(${target} ${LLVM_COMMON_DEPENDS})
|
add_dependencies(${target} ${LLVM_COMMON_DEPENDS})
|
||||||
endif( TABLEGEN_OUTPUT )
|
endif( TABLEGEN_OUTPUT )
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
if(CMAKE_CROSSCOMPILING)
|
||||||
|
set(CX_NATIVE_TG_DIR "${CMAKE_BINARY_DIR}/native")
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${CX_NATIVE_TG_DIR}
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${CX_NATIVE_TG_DIR}
|
||||||
|
COMMENT "Creating ${CX_NATIVE_TG_DIR}...")
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${CX_NATIVE_TG_DIR}/CMakeCache.txt
|
||||||
|
COMMAND ${CMAKE_COMMAND} -UMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DLLVM_BUILD_POLLY=OFF ${CMAKE_SOURCE_DIR}
|
||||||
|
WORKING_DIRECTORY ${CX_NATIVE_TG_DIR}
|
||||||
|
DEPENDS ${CX_NATIVE_TG_DIR}
|
||||||
|
COMMENT "Configuring native TableGen...")
|
||||||
|
|
||||||
|
add_custom_target(ConfigureNativeTableGen DEPENDS ${CX_NATIVE_TG_DIR}/CMakeCache.txt)
|
||||||
|
|
||||||
|
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CX_NATIVE_TG_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
macro(add_tablegen target project)
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
|
||||||
|
|
||||||
|
add_llvm_utility(${target} ${ARGN})
|
||||||
|
|
||||||
|
set(${project}_TABLEGEN "${target}" CACHE
|
||||||
|
STRING "Native TableGen executable. Saves building one when cross-compiling.")
|
||||||
|
|
||||||
|
# Upgrade existing LLVM_TABLEGEN setting.
|
||||||
|
if(${project} STREQUAL LLVM)
|
||||||
|
if(${LLVM_TABLEGEN} STREQUAL tblgen)
|
||||||
|
set(LLVM_TABLEGEN "${target}" CACHE
|
||||||
|
STRING "Native TableGen executable. Saves building one when cross-compiling."
|
||||||
|
FORCE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Effective tblgen executable to be used:
|
||||||
|
set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE)
|
||||||
|
|
||||||
|
if(CMAKE_CROSSCOMPILING)
|
||||||
|
if( ${${project}_TABLEGEN} STREQUAL "${target}" )
|
||||||
|
set(${project}_TABLEGEN_EXE "${CX_NATIVE_TG_DIR}/bin/${target}")
|
||||||
|
set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${${project}_TABLEGEN_EXE}
|
||||||
|
COMMAND ${CMAKE_BUILD_TOOL} ${target}
|
||||||
|
DEPENDS ${CX_NATIVE_TG_DIR}/CMakeCache.txt
|
||||||
|
WORKING_DIRECTORY ${CX_NATIVE_TG_DIR}
|
||||||
|
COMMENT "Building native TableGen...")
|
||||||
|
add_custom_target(${project}NativeTableGen DEPENDS ${${project}_TABLEGEN_EXE})
|
||||||
|
add_dependencies(${project}NativeTableGen ConfigureNativeTableGen)
|
||||||
|
|
||||||
|
add_dependencies(${target} ${project}NativeTableGen)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(${target} LLVMSupport LLVMTableGen)
|
||||||
|
if( MINGW )
|
||||||
|
target_link_libraries(${target} imagehlp psapi)
|
||||||
|
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||||
|
set_target_properties(${target} PROPERTIES LINK_FLAGS -Wl,--stack,16777216)
|
||||||
|
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||||
|
endif( MINGW )
|
||||||
|
if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD AND NOT BEOS )
|
||||||
|
target_link_libraries(${target} pthread)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(TARGETS ${target} RUNTIME DESTINATION bin)
|
||||||
|
endmacro()
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS Intrinsics.td)
|
set(LLVM_TARGET_DEFINITIONS Intrinsics.td)
|
||||||
|
|
||||||
tablegen(Intrinsics.gen -gen-intrinsic)
|
llvm_tablegen(Intrinsics.gen -gen-intrinsic)
|
||||||
|
|
||||||
add_custom_target(intrinsics_gen ALL
|
add_custom_target(intrinsics_gen ALL
|
||||||
DEPENDS ${llvm_builded_incs_dir}/Intrinsics.gen)
|
DEPENDS ${llvm_builded_incs_dir}/Intrinsics.gen)
|
||||||
|
@@ -1,18 +1,18 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS ARM.td)
|
set(LLVM_TARGET_DEFINITIONS ARM.td)
|
||||||
|
|
||||||
tablegen(ARMGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(ARMGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(ARMGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(ARMGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(ARMGenCodeEmitter.inc -gen-emitter)
|
llvm_tablegen(ARMGenCodeEmitter.inc -gen-emitter)
|
||||||
tablegen(ARMGenMCCodeEmitter.inc -gen-emitter -mc-emitter)
|
llvm_tablegen(ARMGenMCCodeEmitter.inc -gen-emitter -mc-emitter)
|
||||||
tablegen(ARMGenMCPseudoLowering.inc -gen-pseudo-lowering)
|
llvm_tablegen(ARMGenMCPseudoLowering.inc -gen-pseudo-lowering)
|
||||||
tablegen(ARMGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(ARMGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(ARMGenAsmMatcher.inc -gen-asm-matcher)
|
llvm_tablegen(ARMGenAsmMatcher.inc -gen-asm-matcher)
|
||||||
tablegen(ARMGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(ARMGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(ARMGenFastISel.inc -gen-fast-isel)
|
llvm_tablegen(ARMGenFastISel.inc -gen-fast-isel)
|
||||||
tablegen(ARMGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(ARMGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(ARMGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(ARMGenSubtargetInfo.inc -gen-subtarget)
|
||||||
tablegen(ARMGenEDInfo.inc -gen-enhanced-disassembly-info)
|
llvm_tablegen(ARMGenEDInfo.inc -gen-enhanced-disassembly-info)
|
||||||
tablegen(ARMGenDisassemblerTables.inc -gen-disassembler)
|
llvm_tablegen(ARMGenDisassemblerTables.inc -gen-disassembler)
|
||||||
add_public_tablegen_target(ARMCommonTableGen)
|
add_public_tablegen_target(ARMCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(ARMCodeGen
|
add_llvm_target(ARMCodeGen
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS Alpha.td)
|
set(LLVM_TARGET_DEFINITIONS Alpha.td)
|
||||||
|
|
||||||
tablegen(AlphaGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(AlphaGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(AlphaGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(AlphaGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(AlphaGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(AlphaGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(AlphaGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(AlphaGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(AlphaGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(AlphaGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(AlphaGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(AlphaGenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(AlphaCommonTableGen)
|
add_public_tablegen_target(AlphaCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(AlphaCodeGen
|
add_llvm_target(AlphaCodeGen
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS Blackfin.td)
|
set(LLVM_TARGET_DEFINITIONS Blackfin.td)
|
||||||
|
|
||||||
tablegen(BlackfinGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(BlackfinGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(BlackfinGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(BlackfinGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(BlackfinGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(BlackfinGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(BlackfinGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(BlackfinGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(BlackfinGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(BlackfinGenSubtargetInfo.inc -gen-subtarget)
|
||||||
tablegen(BlackfinGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(BlackfinGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(BlackfinGenIntrinsics.inc -gen-tgt-intrinsic)
|
llvm_tablegen(BlackfinGenIntrinsics.inc -gen-tgt-intrinsic)
|
||||||
add_public_tablegen_target(BlackfinCommonTableGen)
|
add_public_tablegen_target(BlackfinCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(BlackfinCodeGen
|
add_llvm_target(BlackfinCodeGen
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS SPU.td)
|
set(LLVM_TARGET_DEFINITIONS SPU.td)
|
||||||
|
|
||||||
tablegen(SPUGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(SPUGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(SPUGenCodeEmitter.inc -gen-emitter)
|
llvm_tablegen(SPUGenCodeEmitter.inc -gen-emitter)
|
||||||
tablegen(SPUGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(SPUGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(SPUGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(SPUGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(SPUGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(SPUGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(SPUGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(SPUGenSubtargetInfo.inc -gen-subtarget)
|
||||||
tablegen(SPUGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(SPUGenCallingConv.inc -gen-callingconv)
|
||||||
add_public_tablegen_target(CellSPUCommonTableGen)
|
add_public_tablegen_target(CellSPUCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(CellSPUCodeGen
|
add_llvm_target(CellSPUCodeGen
|
||||||
|
@@ -1,15 +1,15 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS MBlaze.td)
|
set(LLVM_TARGET_DEFINITIONS MBlaze.td)
|
||||||
|
|
||||||
tablegen(MBlazeGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(MBlazeGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(MBlazeGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(MBlazeGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(MBlazeGenCodeEmitter.inc -gen-emitter)
|
llvm_tablegen(MBlazeGenCodeEmitter.inc -gen-emitter)
|
||||||
tablegen(MBlazeGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(MBlazeGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(MBlazeGenAsmMatcher.inc -gen-asm-matcher)
|
llvm_tablegen(MBlazeGenAsmMatcher.inc -gen-asm-matcher)
|
||||||
tablegen(MBlazeGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(MBlazeGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(MBlazeGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(MBlazeGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(MBlazeGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(MBlazeGenSubtargetInfo.inc -gen-subtarget)
|
||||||
tablegen(MBlazeGenIntrinsics.inc -gen-tgt-intrinsic)
|
llvm_tablegen(MBlazeGenIntrinsics.inc -gen-tgt-intrinsic)
|
||||||
tablegen(MBlazeGenEDInfo.inc -gen-enhanced-disassembly-info)
|
llvm_tablegen(MBlazeGenEDInfo.inc -gen-enhanced-disassembly-info)
|
||||||
add_public_tablegen_target(MBlazeCommonTableGen)
|
add_public_tablegen_target(MBlazeCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(MBlazeCodeGen
|
add_llvm_target(MBlazeCodeGen
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS MSP430.td)
|
set(LLVM_TARGET_DEFINITIONS MSP430.td)
|
||||||
|
|
||||||
tablegen(MSP430GenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(MSP430GenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(MSP430GenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(MSP430GenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(MSP430GenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(MSP430GenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(MSP430GenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(MSP430GenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(MSP430GenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(MSP430GenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(MSP430GenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(MSP430GenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(MSP430CommonTableGen)
|
add_public_tablegen_target(MSP430CommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(MSP430CodeGen
|
add_llvm_target(MSP430CodeGen
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS Mips.td)
|
set(LLVM_TARGET_DEFINITIONS Mips.td)
|
||||||
|
|
||||||
tablegen(MipsGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(MipsGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(MipsGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(MipsGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(MipsGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(MipsGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(MipsGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(MipsGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(MipsGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(MipsGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(MipsGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(MipsGenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(MipsCommonTableGen)
|
add_public_tablegen_target(MipsCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(MipsCodeGen
|
add_llvm_target(MipsCodeGen
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS PTX.td)
|
set(LLVM_TARGET_DEFINITIONS PTX.td)
|
||||||
|
|
||||||
tablegen(PTXGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(PTXGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(PTXGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(PTXGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(PTXGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(PTXGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(PTXGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(PTXGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(PTXGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(PTXGenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(PTXCommonTableGen)
|
add_public_tablegen_target(PTXCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(PTXCodeGen
|
add_llvm_target(PTXCodeGen
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS PPC.td)
|
set(LLVM_TARGET_DEFINITIONS PPC.td)
|
||||||
|
|
||||||
tablegen(PPCGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(PPCGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(PPCGenCodeEmitter.inc -gen-emitter)
|
llvm_tablegen(PPCGenCodeEmitter.inc -gen-emitter)
|
||||||
tablegen(PPCGenMCCodeEmitter.inc -gen-emitter -mc-emitter)
|
llvm_tablegen(PPCGenMCCodeEmitter.inc -gen-emitter -mc-emitter)
|
||||||
tablegen(PPCGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(PPCGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(PPCGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(PPCGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(PPCGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(PPCGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(PPCGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(PPCGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(PPCGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(PPCGenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(PowerPCCommonTableGen)
|
add_public_tablegen_target(PowerPCCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(PowerPCCodeGen
|
add_llvm_target(PowerPCCodeGen
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS Sparc.td)
|
set(LLVM_TARGET_DEFINITIONS Sparc.td)
|
||||||
|
|
||||||
tablegen(SparcGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(SparcGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(SparcGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(SparcGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(SparcGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(SparcGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(SparcGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(SparcGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(SparcGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(SparcGenSubtargetInfo.inc -gen-subtarget)
|
||||||
tablegen(SparcGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(SparcGenCallingConv.inc -gen-callingconv)
|
||||||
add_public_tablegen_target(SparcCommonTableGen)
|
add_public_tablegen_target(SparcCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(SparcCodeGen
|
add_llvm_target(SparcCodeGen
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS SystemZ.td)
|
set(LLVM_TARGET_DEFINITIONS SystemZ.td)
|
||||||
|
|
||||||
tablegen(SystemZGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(SystemZGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(SystemZGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(SystemZGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(SystemZGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(SystemZGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(SystemZGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(SystemZGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(SystemZGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(SystemZGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(SystemZGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(SystemZGenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(SystemZCommonTableGen)
|
add_public_tablegen_target(SystemZCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(SystemZCodeGen
|
add_llvm_target(SystemZCodeGen
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS X86.td)
|
set(LLVM_TARGET_DEFINITIONS X86.td)
|
||||||
|
|
||||||
tablegen(X86GenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(X86GenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(X86GenDisassemblerTables.inc -gen-disassembler)
|
llvm_tablegen(X86GenDisassemblerTables.inc -gen-disassembler)
|
||||||
tablegen(X86GenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(X86GenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(X86GenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(X86GenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
|
llvm_tablegen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
|
||||||
tablegen(X86GenAsmMatcher.inc -gen-asm-matcher)
|
llvm_tablegen(X86GenAsmMatcher.inc -gen-asm-matcher)
|
||||||
tablegen(X86GenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(X86GenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(X86GenFastISel.inc -gen-fast-isel)
|
llvm_tablegen(X86GenFastISel.inc -gen-fast-isel)
|
||||||
tablegen(X86GenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(X86GenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(X86GenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(X86GenSubtargetInfo.inc -gen-subtarget)
|
||||||
tablegen(X86GenEDInfo.inc -gen-enhanced-disassembly-info)
|
llvm_tablegen(X86GenEDInfo.inc -gen-enhanced-disassembly-info)
|
||||||
add_public_tablegen_target(X86CommonTableGen)
|
add_public_tablegen_target(X86CommonTableGen)
|
||||||
|
|
||||||
set(sources
|
set(sources
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
set(LLVM_TARGET_DEFINITIONS XCore.td)
|
set(LLVM_TARGET_DEFINITIONS XCore.td)
|
||||||
|
|
||||||
tablegen(XCoreGenRegisterInfo.inc -gen-register-info)
|
llvm_tablegen(XCoreGenRegisterInfo.inc -gen-register-info)
|
||||||
tablegen(XCoreGenInstrInfo.inc -gen-instr-info)
|
llvm_tablegen(XCoreGenInstrInfo.inc -gen-instr-info)
|
||||||
tablegen(XCoreGenAsmWriter.inc -gen-asm-writer)
|
llvm_tablegen(XCoreGenAsmWriter.inc -gen-asm-writer)
|
||||||
tablegen(XCoreGenDAGISel.inc -gen-dag-isel)
|
llvm_tablegen(XCoreGenDAGISel.inc -gen-dag-isel)
|
||||||
tablegen(XCoreGenCallingConv.inc -gen-callingconv)
|
llvm_tablegen(XCoreGenCallingConv.inc -gen-callingconv)
|
||||||
tablegen(XCoreGenSubtargetInfo.inc -gen-subtarget)
|
llvm_tablegen(XCoreGenSubtargetInfo.inc -gen-subtarget)
|
||||||
add_public_tablegen_target(XCoreCommonTableGen)
|
add_public_tablegen_target(XCoreCommonTableGen)
|
||||||
|
|
||||||
add_llvm_target(XCoreCodeGen
|
add_llvm_target(XCoreCodeGen
|
||||||
|
@@ -20,9 +20,9 @@ GENFILE:=$(PROJ_OBJ_ROOT)/include/llvm/Intrinsics.gen
|
|||||||
INTRINSICTD := $(PROJ_SRC_ROOT)/include/llvm/Intrinsics.td
|
INTRINSICTD := $(PROJ_SRC_ROOT)/include/llvm/Intrinsics.td
|
||||||
INTRINSICTDS := $(wildcard $(PROJ_SRC_ROOT)/include/llvm/Intrinsics*.td)
|
INTRINSICTDS := $(wildcard $(PROJ_SRC_ROOT)/include/llvm/Intrinsics*.td)
|
||||||
|
|
||||||
$(ObjDir)/Intrinsics.gen.tmp: $(ObjDir)/.dir $(INTRINSICTDS) $(TBLGEN)
|
$(ObjDir)/Intrinsics.gen.tmp: $(ObjDir)/.dir $(INTRINSICTDS) $(LLVM_TBLGEN)
|
||||||
$(Echo) Building Intrinsics.gen.tmp from Intrinsics.td
|
$(Echo) Building Intrinsics.gen.tmp from Intrinsics.td
|
||||||
$(Verb) $(TableGen) $(call SYSPATH, $(INTRINSICTD)) -o $(call SYSPATH, $@) -gen-intrinsic
|
$(Verb) $(LLVMTableGen) $(call SYSPATH, $(INTRINSICTD)) -o $(call SYSPATH, $@) -gen-intrinsic
|
||||||
|
|
||||||
$(GENFILE): $(ObjDir)/Intrinsics.gen.tmp
|
$(GENFILE): $(ObjDir)/Intrinsics.gen.tmp
|
||||||
$(Verb) $(CMP) -s $@ $< || ( $(CP) $< $@ && \
|
$(Verb) $(CMP) -s $@ $< || ( $(CP) $< $@ && \
|
||||||
|
@@ -1,9 +1,7 @@
|
|||||||
set(LLVM_REQUIRES_EH 1)
|
set(LLVM_REQUIRES_EH 1)
|
||||||
set(LLVM_REQUIRES_RTTI 1)
|
set(LLVM_REQUIRES_RTTI 1)
|
||||||
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
|
add_tablegen(llvm-tblgen LLVM
|
||||||
|
|
||||||
add_llvm_utility(tblgen
|
|
||||||
ARMDecoderEmitter.cpp
|
ARMDecoderEmitter.cpp
|
||||||
AsmMatcherEmitter.cpp
|
AsmMatcherEmitter.cpp
|
||||||
AsmWriterEmitter.cpp
|
AsmWriterEmitter.cpp
|
||||||
@@ -42,15 +40,3 @@ add_llvm_utility(tblgen
|
|||||||
X86DisassemblerTables.cpp
|
X86DisassemblerTables.cpp
|
||||||
X86RecognizableInstr.cpp
|
X86RecognizableInstr.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(tblgen LLVMSupport LLVMTableGen)
|
|
||||||
if( MINGW )
|
|
||||||
target_link_libraries(tblgen imagehlp psapi)
|
|
||||||
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
|
|
||||||
set_target_properties(tblgen PROPERTIES LINK_FLAGS -Wl,--stack,16777216)
|
|
||||||
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
|
|
||||||
endif( MINGW )
|
|
||||||
if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD AND NOT BEOS )
|
|
||||||
target_link_libraries(tblgen pthread)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS tblgen RUNTIME DESTINATION bin)
|
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
##===----------------------------------------------------------------------===##
|
##===----------------------------------------------------------------------===##
|
||||||
|
|
||||||
LEVEL = ../..
|
LEVEL = ../..
|
||||||
TOOLNAME = tblgen
|
TOOLNAME = llvm-tblgen
|
||||||
USEDLIBS = LLVMTableGen.a LLVMSupport.a
|
USEDLIBS = LLVMTableGen.a LLVMSupport.a
|
||||||
REQUIRES_EH := 1
|
REQUIRES_EH := 1
|
||||||
REQUIRES_RTTI := 1
|
REQUIRES_RTTI := 1
|
||||||
|
Reference in New Issue
Block a user