Clang Compiler 是基于 LLVM 基础架构构建的,Clang 前端采用 C/C++ 源代码并生成 LLVM-IR,谁来使用优化器和代码生成?
由于优化器传递库要按顺序放置和调用以生成优化代码,那么指定的顺序在哪里,也是谁生成的目标代码?这是 Clang 前端程序的一部分还是有任何其他程序可以进行这种优化和生成?
clang可以这么说,实际上有两个s。
一种是前端:它只进行解析、构建抽象语法树(AST)并应用各种语义检查。它还可以做一些静态分析和其他有用的事情。可以使用选项访问前端-cc1,例如:clang -cc1 -ast-dump
第二个是驱动程序:它从前端获取 AST 并发出 LLVM IR,同时应用一些优化,然后进行所有其他魔法,例如构建目标文件并将各种组件链接在一起。这是当调用clang main.c或类似命令时通常会发生的情况。
请考虑查看两个 clang 提供的帮助:
clang -help
clang -help-hidden
clang -cc1 -help
clang -cc1 -help-hidden
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |