Clang编译器阶段

Clang Compiler是基于LLVM基础架构构建的,Clang前端采用C/C++源代码并生成LLVM-IR,它负责使用优化器和代码生成?

由于优化器传递库要策略性地放置并按顺序调用以生成优化代码,指定的顺序在哪里,谁也生成目标代码?这是Clang前端程序的一部分还是有其他程序可以进行优化和生成?

最佳答案 实际上有两个铿锵声,可以这么说.

一个是前端:它只是解析,构建抽象语法树(AST),并应用各种语义检查.它还可以做一些静态分析和其他有用的事情.可以使用-cc1选项访问前端,例如:clang -cc1 -ast-dump

第二个是驱动程序:它从前端获取AST并在应用一些优化时发出LLVM IR,然后制作所有其他魔法,例如构建目标文件和将各种组件链接在一起.当调用clang main.c或类似命令时,通常会发生这种情况.

请考虑查看两个铿锵声提供的帮助:

clang -help
clang -help-hidden
clang -cc1 -help
clang -cc1 -help-hidden
点赞