llvm之IR手册翻译(1)

这篇文章是关于LLVM中间表示(IR)的手册翻译,旨在方便作者和读者理解LLVM汇编语言。LLVM IR是一种静态单赋值形式,用于编译器中间表示,支持类型安全和低级操作。它在内存、磁盘字节码和人类可读的汇编语言间转换,用于编译器分析、优化和调试。本文档重点介绍良好格式的LLVM汇编语言,并描述了全局和局部标识符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

llvm之IR手册翻译

原网址是:http://llvm.org/docs/LangRef.html#abstract
下面这些是我自己的翻译,肯定有很多不恰当的地方,做这些只是希望自己以后翻阅更加方便,如果能对大家有所帮助那是极好的!


摘要:
这份文件是针对LLVM汇编语言的参考手册。 LLVM是一个静态单赋值(SSA:这是一种中间表示形式。之所以称之为单赋值,是因为每个名字在SSA中仅被赋值一次.这是一种高效的数据流分析技术)的,它提供类型安全,低级别的操作,灵活性,并能把“所有的”高级语言干净利落表示出来。它是整个LLVM编译策略的所有阶段中常用的代码表示。
简介:
LLVM的代码表示被设计成三个不同的形式来使用:作为一个内存编译器IR;作为磁盘上的字节码(适合于JIT编译器快速装载);并作为人类可读的汇编语言表示。这允许LLVM为编译器转换和分析提供强大的中间表示,同时提供一个自然的方法来调试和可视化的转换。这三种不同形式的LLVM的都是等价的。本文档介绍了人类可读的中间表示。
LLVM的表示的目标是在被表现,类型化,和可扩展的同时重量轻和级别低。它的目标是各种各样的“通用中间表示”,通过在一个足够低的水平使高级的想法,可以清晰地映射到它(类似微处理器是如何工作的,让很多的源语言映射到他们)。通过提供类型信息,LLVM可以用作优化的目标:例如,通过指针分析,可以证明,一个C自动变量从未被当前函数的外部访问,允许它被提升到一个简单的SSA值代替的存储单元。
很好的形成:
要注意,本文档描述’很好的形成’LLVM汇编语言。这与分析器接受的“很好的形成”是有不同的。例如,下面的指令在语法上是好的,但没有很好地形成:
%x = add i32 1, %x;
因为%x的定义在它的用途中并不占主导地位。 LLVM的基础设施提供了一次验证可用于验证的LLVM模块完全形成了。该过程会自动被运行在解析器解析输入组装后和在它输出bitcode优化前。由验证过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值