鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

毕昇编译器介绍

前言

本手册提供毕昇编译器的使用方法以及构建业务场景的注意事项。

概述

毕昇编译器是华为编译器实验室针对鲲鹏等通用处理器架构场景,打造的一款高性能、高可信及易扩展的编译器工具链,增强和引入了多种编译优化技术,支持C/C++/Fortran等编程语言及对应编程语言的OpenMP扩展。

功能介绍

除LLVM通用功能和优化外,毕昇编译器的工具链对中端及后端的关键技术点进行了深度优化,并集成Auto-tuner特性支持编译器自动调优。自动调优操作指导可以参考《Autotuner特性指南》。

部分通用信息请参考LLVM的用户指导https://llvm.org/docs/UserGuides.html,毕昇编译器新增的自定义选项参考自定义优化选项章节。

常用的优化手段及额外功能的使用指导可以参考《毕昇编译器优化与编程指导》。

支持的编程语言

LLVM是一种涵盖多种编程语言和目标处理器的编译器,毕昇编译器聚焦于对C、C++、Fortran语言的支持,利用LLVM的Clang作为C和C++的编译和驱动程序,Flang作为Fortran语言的编译和驱动程序。同步支持上述编程语言的OpenMP拓展。

C,C++程序

Clang不仅是将C/C++源代码编译为LLVM IR的前端工具,更是一个完整的编译驱动程序。它能够自动调用LLVM优化器中的相关代码生成优化阶段,完成从中间表示到目标代码的全流程处理,最终输出可执行二进制文件。作为编译系统的重要组成,毕昇编译器完整集成了包括Clang/LLVM在内的现代化编译工具链,为开发者提供从源码预处理、中间优化到目标代码生成的完整编译解决方案。

Fortran程序

Flang是专为LLVM集成而设计的Fortran前端,由两个组件flang1和flang2组成。它也是一个驱动程序,将源代码转换为LLVM IR,前端驱动程序将IR传输下去进行优化和目标代码生成。