Dan*_*Dan 10 compiler-construction code-generation llvm llvm-ir
对于编写编译器,使用LLVM IR vs C作为目标语言有哪些优缺点?我知道两者都被使用了,我想如果我使用clang来编译C,那么最终的机器代码会是相似的.那么还有什么需要考虑的事情呢?
我已经将LLVM IR用于一些编译器后端,并与使用C作为后端的编译器一起工作.我发现给LLVM IR带来优势的一件事就是它是打字的.如果没有从LLVM库中获取错误,很难完全形成错误的输出.
在我看来,更容易在源代码和IR之间保持密切的关联以进行调试.
此外,您还可以使用所有酷炫的LLVM命令行工具来分析和处理前端发出的IR.