【问题标题】:What level do LLVM optimization passes need to work on?LLVM 优化通道需要达到什么级别?
【发布时间】:2017-06-01 14:18:23
【问题描述】:

我最近一直在探索 LLVM 优化,但有一个小问题:

我们如何知道可以在函数级别(使用FunctionPassManager)或模块级别等应用内置通道(不是我们编写的 LLVM 通道)?

示例 - 如 KaleidoScope 教程 4 中所示:

TheFPM->add(createCFGSimplificationPass());

这很明显,它应该在功能级别,但其他通道呢?它们是否都可以在任何级别(BasicBlock、Function、Module 等)正确工作?

【问题讨论】:

  • 我会建议你让你的问题标题更具体,否则它太宽泛了。
  • 感谢您的建议,我已经更改了。

标签: optimization llvm


【解决方案1】:

我认为您可以通过查看源代码来发现这一点。 例如,here 是 SimplifyCFGPass 的代码,它继承了 FunctionPass,here 是 MemoryDe​​pendencyAnalysisPass 的源代码,您可以看到它是函数级别的传递。

【讨论】:

  • 在我获得超过 15 的声誉后,我会投票赞成答案。非常感谢,这很有帮助。
猜你喜欢
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2018-05-28
  • 1970-01-01
  • 2020-05-09
相关资源
最近更新 更多