Llvm ir 如何将我自己的LLVM后端与LLVM IR接口

Llvm ir 如何将我自己的LLVM后端与LLVM IR接口,llvm-ir,Llvm Ir,我有自己的链接器和机器代码转换器。我使用自己的机器汇编指令。这台机器是一个软件处理器,执行asm到十六进制转换器生成的机器代码。我现在想用c语言代替汇编语言,我的问题是如何使用LLVM实现这个目的。 一种方法可以是: 创建一个解析器,它将读取LLVM IR生成的.s文件(asm文件的一种),并将这些指令映射到特定于处理器的asm指令 我不想再次创建链接器和asm到机器代码转换器 我的方法行吗?或者更好的方法是什么。您读取的*.s文件不仅仅是“某种asm”,它实际上是已通过某些LLVM后端的汇编程

我有自己的链接器和机器代码转换器。我使用自己的机器汇编指令。这台机器是一个软件处理器,执行asm到十六进制转换器生成的机器代码。我现在想用c语言代替汇编语言,我的问题是如何使用LLVM实现这个目的。 一种方法可以是: 创建一个解析器,它将读取LLVM IR生成的.s文件(asm文件的一种),并将这些指令映射到特定于处理器的asm指令

我不想再次创建链接器和asm到机器代码转换器


我的方法行吗?或者更好的方法是什么。

您读取的*.s文件不仅仅是“某种asm”,它实际上是已通过某些LLVM后端的汇编程序,如果您没有选择其他目标,可能是某些X86变体

您真正想要做的是让LLVM为您自己的机器发出汇编指令。这就是和类似指南有关的内容

这并不简单,但我认为尝试将其他机器的指令集(更不用说X86)转换为您自己的指令集可能更加困难,因为您必须模拟非常复杂机器的每一个细节