Hexagon LLVM编译架构介绍(1)

240 篇文章 11 订阅

1 简介

1.1 概述

本文档描述了用于 Qualcomm ® HexagonTM 处理器架构的 C 和 C++ 编译器。 编译器基于LLVM编译器框架,统称为LLVM编译器。
LLVM 编译器与 Hexagon 软件开发工具和实用程序协同工作,为开发高性能软件提供完整的编程系统。编译器在 Windows ® 和 Linux ® 平台上运行。

注意:
编译器基于 LLVM 3.3。 有关详细信息,请参阅 http://llvm.org/。

1.2 特点

LLVM 编译器提供以下功能:
■ ISO C 一致性
支持国际标准化组织 (ISO) C 语言标准

■ 兼容性
支持 Hexagon 扩展和大多数 GCC 扩展以简化移植

■ 系统库
支持 C 和 C++ 的标准库

■ 特定于处理器的库
提供针对 Hexagon 架构优化的库例程

■ 内在函数
提供一种可移植的机制,用于在 C 源代码中发出 Hexagon 汇编指令

1.3 语言

LLVM 编译器支持 C、C++ 和这些语言的许多方言:

  • C 语言:K&R C、ANSI C89、ISO C90、ISO C94 (C89+AMD1)、
    ISO C99(+TC1、TC2、TC3)
  • C++语言:C++98、C++11

除了这些基本语言及其方言之外,LLVM 编译器还支持多种语言扩展。 提供这些扩展是为了与
GCC、Microsoft 和其他流行的编译器兼容,并通过添加 LLVM 编译器独有的扩展来改进功能。

所有语言扩展都被 LLVM 编译器明确识别,并标有扩展诊断,可以映射到警告、错误或简单地忽略。

1.4 GCC 兼容性

LLVM 编译器驱动程序和语言功能被有意设计为尽可能与 GNU GCC 编译器兼容,从而简化从 GCC 到 LLVM 的迁移。 在大多数情况下,代码“正常工作”。

注意:
Hexagon LLVM 编译器与 GNU 工具链完全兼容。

1.5 运行时系统

Hexagon LLVM 编译器支持独立程序和 RTOS 应用程序的开发。
RTOS 应用程序的构建过程是构建 C/C++ 应用程序的标准过程的超集。

注意
有关详细信息,请参阅 Hexagon QuRT RTOS 应用程序系统构建指南。

1.6 处理器版本

Hexagon LLVM 编译器支持 Hexagon 处理器的 V4 和 V5 版本。
命令选项 -mv4 和 -mv5 用于指定编译器将为其生成输出文件的 Hexagon 处理器版本。 (如果两个选项都没有指定,编译器默认生成 V4 代码。)

有关这些(和相关)命令选项的更多信息,请参阅第 3.4 节。

有关 Hexagon 处理器版本的更多信息,请参阅 Hexagon 程序员参考手册。

1.7 特定于处理器的功能

Hexagon LLVM 编译器包括编译器选项、语言扩展和特定于 Hexagon 处理器的库。

1.8 使用文档

本文档旨在为有经验的 C 语言程序员提供参考。它
描述了 LLVM 编译器和语言实现。

该文件包含以下章节:
■ 第1 章介绍,概述了编译器和文档。

■ 第 2 章,入门,解释如何编译和执行一个简单的 C程序。

■ 第 3 章,使用编译器,描述命令行语法、屏幕消息,以及输入和输出文件。

■ 第 4 章,从 GCC 移植代码,描述了经常遇到的问题同时将 GCC 代码移植到 Hexagon LLVM。

■ 第 5 章,编码实践,描述了推荐的编码实践确保生成高效的目标代码。

■ 第 6 章,语言兼容性,描述编译器如何实现 C语言标准。

■ 第 7 章,库,描述了编译器提供的库,包括 C/C++ 标准库和特定于处理器的库。

C语言参考:
本文档不描述 C 或 C++ 语言。 建议的语言参考是:
■ C 编程语言(第 2 版),Brian Kernighan 和 Dennis Ritchie,Prentice Hall,1988 年。
■ C++ 编程语言(第 3 版),Bjarne Stroustrup,Addison-Wesley,1997。

编译器参考:
本文档不提供 LLVM 执行的代码优化的详细说明。 建议的编译器参考是:
■ 编译器:原则、技术和工具(第 2 版),Alfred Aho、Monica Lam、Ravi Sethi 和 Jeffrey Ullman,Prentice Hall,2006
■ 编译器工程(第 2 版),Keith Cooper 和 Linda Torczon,Morgan Kaufmann,2011 年

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值