ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LLVM 是什么?

2022-04-08 10:00:18  阅读:202  来源: 互联网

标签:LLVM 什么 编译器 llvm https org 虚拟机


有什么说的不对的地方,还请多多支出, 谢谢~

概述

LLVM : 全称是这个Low Level Virtual Machine,底层虚拟机,名字是带有虚拟机,但是现在早已和虚拟机没有任何关系了. 是整个LLVM项目,我目前了解的有5部分.

LLVM 是一个用于构造、优化和生成中间和/或二进制机器码的库。能够同时支持任意编程语言的静态和动态编译。

我之前在互联网工作,知道的前端vue、react和后端Java、python等. 现在编译器也有前端和后端.

LLVM 可以用作编译器框架,其中提供“前端”(解析器和词法分析器)和“后端”(将 LLVM 的表示转换为实际机器代码的代码)。

LLVM 还可以充当 JIT 编译器——它支持 x86/x86_64和 PPC/ppc64的汇编生成,具有针对编译速度的快速代码优化。

LLVM project/infrastructure

https://llvm.org/ProjectsWithLLVM/

这是几个项目的总称,前端、后端、优化器、汇编器、连接器、 libc++ 、编译器-rt 和 及时引擎,它们共同组成了一个完整的编译器.

LLVM-based compiler

这是一个部分或完全使用 LLVM 基础结构构建的编译器。例如,编译器可能在前端和后端使用 LLVM,但是使用 GCC 和 GNU 系统库执行最终链接。

LLVM libs

https://releases.llvm.org/2.6/docs/UsingLibraries.html

这是 LLVM 基础结构的可重用代码部分.

LLVM 是一个用于构建编译器、链接器、运行时执行器、虚拟机和其他程序执行相关工具的工具包。除了 LLVM 工具集之外,LLVM 的功能还可以通过一组库来实现。要使用 LLVM 作为构建工具的工具包,开发人员需要了解各个库中包含什么、它们依赖什么以及如何使用它们。幸运的是,有一个工具 llvm-config 可以帮助解决这个问题。可以参考上面贴的这个链接.

LLVM core

https://llvm.org/OpenProjects.html

在中间语言和后端算法层进行的优化。

LLVM IR

https://llvm.org/docs/LangRef.html

LLVM 编译器的中间表示. LLVM 是一种基于静态单分配(SSA)的表示,它提供了类型安全、低级操作、灵活性以及干净利落地表示“所有”高级语言的能力。它是 LLVM 编译策略的阶段使用的通用代码表示形式。

引用

https://www.jianshu.com/p/237ed53ddaeb
https://llvm.org/
https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/
https://stackoverflow.com/questions/2354725/what-exactly-is-llvm

标签:LLVM,什么,编译器,llvm,https,org,虚拟机
来源: https://www.cnblogs.com/ievjai/p/16115481.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有