如何将 LLVM IR 转换为其他中间表示形式?

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

我想知道如何将 LLVM IR 转换为其他中间表示形式。我知道使用

llc -march=wasm32 -filetype=asm arithmetic.ll -o example.wat
人们可以将 LLVM IR 转换为 WASM IR,但我想知道它的幕后步骤。我想知道可能执行此转换的代码库。如果有人能说出这种 IR 到 IR 转换所涉及的一般步骤,那将会有很大的帮助。

我已经使用 llvmlite 解析了 LLVM IR,但不知道下一步该做什么。

llvm webassembly llvm-ir intermediate-code
1个回答
0
投票

IR 基本上是一种编程语言。有点专业,但它是一种编程语言。从另一种语言产生IR的程序通常称为“编译器”,该过程称为“编译”。

如果幸运的话,这两个 IR 密切相关,并且翻译可以比编译更简单/容易。但在 IR→WASM 的情况下则不然。

LLVM 的 WASM 生成器是后端。 (用 LLVM 的说法,前端从 C 语言生成 IR,后端从 IR 生成目标语言。WASM 是 IR 的目标语言。)大多数后端至少有一万行长,有些甚至更长,这暗示了任务的复杂性。

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