NVPTX 操作码到 LLVM 中的十六进制码

NVPTX opcode to hexcode in LLVM

在LLVM中,当一个CUDA源文件被编译成PTX文件时,会生成操作码。现在 LLVM 的哪个部分将 PTX 文件中的这些操作码转换为二进制(十六进制代码)(即最终的可执行文件)。搜索 llvm/lib/Target/NVPTX 没有给出答案。

通常这会在 NVPTXInstrInfo.td 中,尽管看起来他们指定了汇编助记符但没有指定编码位。通常这意味着 LLVM 不进行汇编,而是传递给外部汇编程序。

您可以查看 HexagonInstrInfo.td 以了解编码位的外观。搜索 "let Inst{"