4
我试图分析由rustc
前端发出的LLVM-IR。该计划是针对特定语言元素发布IR。是否有这样的元素和IR代码模板映射或列表的列表?,以防止有发出LLVM IR从删除未使用的功能的方法吗?
编译器具有足够的智能以移除发射的IR中的未使用函数,除非使用println!
将某些内容印在控制台上,否则编译器将删除所使用的每个函数。
这不起作用,说x
没有使用任何地方或当x
被覆盖。
let x = function();
Rust中是否存在某种限定符,使发射的IR保留所有功能?
我找到了映射列表[here](https://f0rki.gitbooks.io/mapping-high-level-constructs-to-llvm-ir/content/) – Bharadwaj
请注意,此列表并非特定于Rust,并且不能保证rustc会实际遵循它。 –
哦,感谢您的链接;对于初出茅庐的编译器编写者来说非常有用的资源! –