背景资料:到目前为止,我已经阅读了 llvm 教程,包括: 表生成命令指南
Table Gen 的通用文档,尤其是 Running TableGen 部分
我目前正在为 llvm 的新目标编写代码,我不允许在此处发布。我将 X86 目标用于我的问题的上下文,因为它仍然适用于该目标。
我正在尝试做的事情:我正在尝试使用 tablegen 从 X86RegisterInfo.td 生成记录我正在使用的命令行是这样的:
llvm-tblgen X86RegisterInfo.td -class=Register -I/home/des_fw/fler_llvm/llvm/include
返回此错误
X86RegisterInfo.td:16:43: error: Couldn't find class 'Register'
class X86Reg<string n, bits<16> Enc, list<Register> subregs = []> : Register<n> {
^
我能够运行上面 Running TableGen 参考中给出的 X86.td 示例命令,所以我非常有信心包含路径 -I/.../... 是正确的,因为如果没有以这种方式编写,命令不运行。我也在同一目录中运行我的命令,../Target/X86,作为有效的示例命令。
使用什么正确命令以便 TableGen 工具生成 X86RegisterInfo.td 文件的记录(或者通常用于 XXXRegisterInfo.td,其中 XXX 是目标名称)?
我对 LLVM 和自定义或编写编译器非常陌生,所以我祈祷只是我不了解如何使用命令行,但如果它也可能是一个完全不同的问题,任何提示我正确的方向都非常感谢。
非常感谢你!