返回
Type Deduction Analysis: Reconstructing Transparent Pointer Types in LLVM-IR
DOI:10.1145/3771775.3786268.png)
摘要
En 中文
随着版本17的发布,LLVM完成了对不透明指针类型的过渡,从中间表示(IR)中消除了显式的指针目标类型信息。因此,从LLVM 17开始,IR中的每种指针类型均由唯一的类型ptr表示。尽管这一改变消除了冗余的指针位转换,从而减少了IR大小和编译时间,但它破坏了依赖指针目标类型信息的分析,迫使现有编译器项目依赖过时的LLVM版本。事实上,这类信息在近似计算等领域具有启发性,编译器可以据此应用非保守优化,或者在需要时进行不影响程序正确性的分析和转换。为解决此问题,我们提出了一种新的类型推导分析(Type Deduction Analysis)模块,可直接从不透明指针IR中重构透明指针类型。此外,我们以现有的LLVM项目TAFFO和ASPIS为例,展示了两个不同的案例研究,证明指针目标类型信息在LLVM编译器中的必要性。
Keyword:
Compilers
LLVM
Data-flow Analysis
Types

