如何在没有llvm生成器工具的情况下生成LLVM bitcode?

问题描述 投票:0回答:1

我已经阅读了llvm Kaleidoscope教程,但它是关于如何使用他们的工具。我正在寻找一种方法来编写我自己的代码,允许我采用抽象语法树并生成llvm IR。

不幸的是,我对如何做到这一点有点迷茫。我目前的想法是让我的AST的每个节点填充空白样式字符串生成。然而,这似乎是不优雅的,并且可能有更好的方法来做到这一点。

我读了this问题,这是我的simalar,但是从我对llvm IR的理解,它可以完全关闭,它的行为类似于比传统汇编语言更高级的语言,它具有函数和变量(无限寄存器) )。所以我认为可能适用不同的技术。

code-generation llvm-ir
1个回答
1
投票

根本没有优雅。一般而言:此时大多数编译器可能会生成某种形式的IR或VM指令集,这些指令集可能会根据记录良好的方法进行优化。最后,编译器将结果/结果转换为目标机器代码。

将LLVM-IR视为您将要生成的内部IR,并让工具链负责优化和创建机器代码。

© www.soinside.com 2019 - 2024. All rights reserved.