【发布时间】:2021-09-05 07:10:49
【问题描述】:
我正在编译器优化领域开始新的研究。 首先,我正在研究几篇相关的不同论文,并遇到了一些不同的优化技术。
我目前正在研究的一个主要问题是编译器将输入源代码转换为图形(例如控制流、数据流、链表等),然后对图形执行优化并生成机器码。代码到图形到代码。例如,JavaScript 引擎中的 JIT 编译器,即 V8、ChakraCore 等。
然后,我遇到了 LLVM IR。由于之前的搜索,我对代码优化的印象是在上面解释的图表上进行的。但是,我不相信 LLVM 就是这种情况,但我不确定。我发现有一些工具可以从 LLVM IR 生成控制流图,但这并不意味着它正在优化图。
所以,我的问题是“LLVM IR 是图表吗?”如果不是,它如何优化代码?直接代码到代码?
【问题讨论】:
-
见this
标签: llvm compiler-optimization llvm-ir