多个LLVM通过单个调用

时间:2015-11-05 12:40:10

标签: llvm

通常,如果我将两个LLVM传递放入单个命令行调用中,就像这样...

$(LLVM_HOME)opt -my-pass -another-pass < foo1.bc > foo2.bc

...这个被定义为与连续运行两个通道完全相同,还有一个额外的中间文件,就像这样......

$(LLVM_HOME)opt -my-pass < foo1.bc > foo11.bc
$(LLVM_HOME)opt -another-pass < foo11.bc > foo2.bc

......或者这两个传球是以某种方式同时进行的?

1 个答案:

答案 0 :(得分:1)

如果两个传递是转换传递,如-simplifycfg-licm,那么是的,您可以想到两者之间存在中间文件并按照您的建议运行命令。

但是,也存在分析过程,例如-aa用于别名分析。这些不会按照您的描述工作,因为他们不按摩IR,他们只是为通行证提供信息(例如-licm)。

因此,opt -aa -licm不等同于opt -aa后跟opt -licm

相关问题