为什么 llvm-build 看不到自定义后端?

Why llvm-build doesn't see custom backend?

我正在尝试为 LLVM 编写自定义后端。我将 llvm/lib/Target/AVR 文件夹复制到 llvm/lib/Target/Abc(这是我的后端)。然后,我将文件名和文件内容中的所有 AVR 替换为 Abc,将 avr 替换为 abc。这里是 CMakeLists.txt:

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)

我试图将Abd添加到llvm/CMakeLists.txt中的LLVM_ALL_TARGETS变量,但是当我尝试运行cmake时,显示以下错误:

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

我也尝试用-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=Abcllvm/CMakeLists.txt和运行cmake中删除Abc,但结果是一样的。

问题是我没有在 llvm/lib/Target/LLVMBuild.txt 中将 Abc 添加到 subdirectories