首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clang编译器阶段

Clang编译器阶段
EN

Stack Overflow用户
提问于 2016-07-19 09:52:13
回答 1查看 1.1K关注 0票数 5

Clang编译器基于LLVM基础设施,Clang前端采用C/C++源代码并生成LLVM,谁负责使用优化器和代码生成?

由于优化器pass库将被战略性地放置,并按生成优化代码的顺序调用,那么指定的顺序在哪里,谁也生成目标代码?这是Clang前端程序的一部分,还是还有其他程序来进行优化和生成?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-19 13:18:11

可以说,实际上有两个clang

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

第二种是驱动程序:它在应用一些优化的同时,从前端获取AST并发射LLVM IR,然后使所有其他魔术,如构建对象文件和将各种组件连接在一起。这通常是在调用clang main.c或类似命令时发生的情况。

请考虑看看这两个响尾蛇提供的帮助:

代码语言:javascript
复制
clang -help
clang -help-hidden
clang -cc1 -help
clang -cc1 -help-hidden
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38455089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档