我正在使用LLVM。 我注意到CFG输出过程CFGPrinterLegacyPass中有一个构建,可以使用opt -dot-cfg加载过程。 我想知道当我使用opt -dot-cfg时,是否还有其他任何通行证会自动添加到IR管道中。

问题是我正在编写自己的LLVM IR传递,就像CFGPrinterLegacyPass一样调用writeCFGToDotFile。 但是,我的密码没有获得与使用opt -dot-cfg相同的输出。

我想知道我在想什么。

谢谢,

  ask by clanguser translate from so

本文未有回复,本站智能推荐:

1回复

是否可以从程序集文件中获取LLVM-IR?

我使用命令编译了 .S 文件: 我发现,.o 文件是以 ELF 格式生成的。 我预计会看到 llvm-ir 格式(在结果文件的开头带有“BC”字符)。 似乎,Clang 忽略了“-emit-llvm”标志。
1回复

检查功能是否在LLVM-IR中由用户定义

我正在编写LLVM传递,该传递仅在用户定义时(由用户在源文件中定义)打印功能名称。 我找不到任何将用户定义函数与初始化函数(或静态构造函数)区分开的方法。 我尝试检查该函数是否刚刚声明或定义,但由于定义了一些初始化函数(如__cxx_global_var_init ),因此无法正常工作。
1回复

LLVM产生无效的IR

我在玩LLVM并尝试使用它编译简单的C ++代码 尤其是测试LLVM如何处理代码分支我得到的结果很奇怪,它在执行时给出有效的结果,但效率低下 看起来即使只需要一种方式,也可以同时执行两种方式。我的问题是:在这种情况下LLVM是否不应该生成标签,为什么? 谢谢 PS我正在使用http
2回复

LLVM无法从IR编译

在尝试编译LLVM IR时,就像这样 我收到以下错误。 同样的事情在我的Ubuntu 10系统上编译,但在CentOS中我得到以下错误。 知道这里发生了什么,为什么LLVM会发疯? 最后,如何解决这个问题?
1回复

LLVM打印IR调用

我正在关注 LLVM Kaleidoscope 教程,第 3 章,似乎在运行操作时在编译代码上打印出附加信息。 但是当我自己编译所有东西时,我只会得到: 我可以在https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.htm
1回复

单声道LLVM和LLVM-IR

我正在玩Mono LLVM(http://www.mono-project.com/Mono:Runtime:Documentation:LLVM),似乎他们在这里将LLVM用作JIT,而不是真正用作代码生成器。 但是根据文档,它们在生成本机代码之前先经过LLVM-IR: 首先,从IL代
1回复

llvm-ir分段故障

任何人都可以告诉我这个LLVM-IR代码有什么问题会导致分段错误以及如何解决它?
2回复

llvm依赖项alloca-load

我在查找依赖项时遇到一些问题。 我想从每个Load中获取对应的Alloca(从所使用的变量的角度来看是对应的,这意味着Load使用的是基于/依赖于Alloca或Allocas的变量)。 因此,我有一条像这样的链: Alloca -> Load(1) -> ... -> C