什么是 LLVM 中间表示形式?



我已经尝试了LLVM 演示 在您的浏览器中尝试 LLVM 和 Clang!

这是什么IR?希尔、米尔还是 LIR?我认为,SSA 表示通常用于 MIR。那么,它是和平号吗?但它可以存储信息以进行依赖性分析。因此,它可以是 HIR 吗?

什么文件扩展名实际上代表LLVM IR,.ll.bc

如何获取 LLVM 中使用的符号表?

我不熟悉一个级别的 IR 与另一个级别的 IR 区别的单一、严格的定义,但据我所知,它属于 MIR 类别。

  • 它具有SSA形式并且没有明确的寄存器,因此我绝对不会将其归类为低级。
  • 它没有命名的子元素引用或高级流控制结构,因此它也不适合 HIR。

在任何情况下,LLVM IR 通常存储在磁盘上扩展名为.ll的文本文件或扩展名为.bc的二进制文件中。两者之间的转换是微不足道的,你可以只对bc-> ll 使用llvm-dis,对ll->bc使用llvm-as。二进制格式的内存效率更高,而文本格式是人类可读的。

最新更新