1

我正在尝试从 Sparc 目标打印程序集。我已经可以从中生成 IR,但不知何故这对目标不起作用。我不确定要添加什么,因为 llvm-is 工具使用返回模块的 ParseIRFile。

http://pastebin.com/t3M9edrT

我的问题是,虽然我在字符串中有 IR,但我不确定如何添加一个将其用于目标代码生成的通行证。

我需要一些关于在generateSparcsCode()函数中更改什么的指针,以使用我刚刚从generateCode()方法生成并存储在m_llvmIR变量中的 IR。在相同的上下文中,模块也是一个类成员,我想知道如何正确地将它用于目标生成代码。

4

1 回答 1

2

一个很好的资源是llc工具的源代码(在 中tools\llc\llc.cpp)。llc 是 LLVM 本机代码生成器 - 它可以将 LLVM IR 编译为目标机器代码,您可以在命令行上选择一个目标(有关详细信息,请参阅此参考)。

看看llcmain函数中的代码流程。它读取 IR,然后设置目标,最后发出输出。您可以使用该标志来选择llc发出的内容(无论是程序集还是带有机器代码的本机对象)。-filetype

于 2012-05-21T06:45:20.643 回答