---
title: 毕昇编译器介绍
description: "本手册提供毕昇编译器使用方法以及构建业务场景的注意事项。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_06_0001_1.html
sourcePath: /source/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_06_0001_1.html
indexId: 8e1d92b67fe5406001168cc25c69b391fabaf62d52a50a1a29cd094c9882c34c82
---
# 毕昇编译器介绍

#### 前言

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


#### 概述

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


#### 功能介绍

除LLVM通用功能和优化外，毕昇编译器的工具链对中端及后端的关键技术点进行了深度优化，并集成Auto-tuner特性支持编译器自动调优。自动调优操作指导可以参考《Autotuner特性指南(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_20_0002.html)》。

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

常用的优化手段及额外功能的使用指导可以参考《毕昇编译器优化与编程指导(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_30_0001.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传输下去进行优化和目标代码生成。
