2016-08-12 157 views
2

我正在尝试为LLVM编写自定义后端。我将llvm/lib/Target/AVR文件夹复制到llvm/lib/Target/Abc(它是我的后端)。然后我用Abcavrabc替换所有AVR文件名和文件内容。这里是CMakeLists.txt为什么llvm-build没有看到自定义的后端?

set(LLVM_TARGET_DEFINITIONS Abc.td) 

tablegen(LLVM AbcGenRegisterInfo.inc -gen-register-info) 
tablegen(LLVM AbcGenInstrInfo.inc -gen-instr-info) 
tablegen(LLVM AbcGenCallingConv.inc -gen-callingconv) 
tablegen(LLVM AbcGenSubtargetInfo.inc -gen-subtarget) 
add_public_tablegen_target(AbcCommonTableGen) 

add_llvm_target(AbcCodeGen 
    AbcInstrInfo.cpp 
    AbcRegisterInfo.cpp 
    AbcTargetMachine.cpp 
    AbcTargetObjectFile.cpp 
) 

add_dependencies(LLVMAbcCodeGen intrinsincs_gen) 

add_subdirectory(MCTargetDesc) 
add_subdirectory(TargetInfo) 

我tryed添加AbdLLVM_ALL_TARGETS变量llvm/CMakeLists.txt,但是当我尝试运行cmake,显示以下错误:

llvm-build: error: invalid target to enable: 'Abc' not in project 

我也tryed从删除Abcllvm/CMakeLists.txt并运行cmake-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=Abc,但结果是一样的。

回答

3

问题是我没有在llvm/lib/Target/LLVMBuild.txt中加Abcsubdirectories