【发布时间】:2015-02-06 10:36:24
【问题描述】:
LLVM 库中的 ExecutionEngine 类有一个选项来设置 CodeGen 优化级别 (CodeGenOpt::Level)。我是否正确理解 CodeGen 优化是在机器代码生成期间应用的并且它们与 IR 无关?如果我想优化 IR,我需要使用其他工具吗?
【问题讨论】:
标签: llvm
LLVM 库中的 ExecutionEngine 类有一个选项来设置 CodeGen 优化级别 (CodeGenOpt::Level)。我是否正确理解 CodeGen 优化是在机器代码生成期间应用的并且它们与 IR 无关?如果我想优化 IR,我需要使用其他工具吗?
【问题讨论】:
标签: llvm
设置 CodeGenOpt 时在 JIT 中发生的优化是 a) 选择了哪个指令选择器(快速 isel 与 selection dag),以及 b) 在 MC 级别通过期间是否运行任何优化。
如果您想在 IR 级别上进行优化,您需要创建自己的 PassManager 并添加要运行的通道。
【讨论】: