什么是LLVM LLVM项目是模块化、可重用的编译器以及工具链技术的集合。 美国计算机协会 (ACM) 将其2012 年软件系统奖项颁给了LLVM,之前曾经获得此奖项的软件和技术包括:Java、Apache、 Mosaic、the World Wide Web、Smalltalk、UNIX、Ecli ...
转载 2021-10-12 16:29:00
190阅读
2评论
作者:snsn1984 在介绍LLVM IR之前,我们需要先了解下LLVM的结构。传统的静
转载 2012-10-02 23:06:00
87阅读
2评论
study_obscure混淆反混淆视频教程第一章llvm项目简单使用第一课llvm项目编译(windowsxcode)链接:https://pan.baidu.com/s/1ILvoVripdAcHF9NLKJYZ2Ahttps://github.com/haidragon/study_obscure/blob/master/llvm_note/class1/note.md第二课clang编译与
原创 2020-02-28 19:50:42
2751阅读
#include "llvm/ExecutionEngine/Orc/LLJIT.h" #include "llvm/IR/Function.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/Module.h" #include "llvm/Su
转载 2021-06-07 15:34:00
227阅读
2评论
想要什么: int fun(int p1) { if(p1 < 5) return 1; else return 2; } IR: define i32 @fun(i32 %p1) { entry: %cmp = icmp slt i32 %p1, 5 br i1 %cmp, label %then
转载 2021-06-01 22:08:00
156阅读
2评论
   LLVM本身并非编译器,是开源的编译器(compiler)架构,是一套用于开发编译器、解释器等程序语言相关工具的库,主要聚焦于编译器后端功能,如代码生成、代码优化、JIT等。    Clang是一个基于LLVM开发的C/C++/Obj-C编译器。有一套独立的前端,后端直接採用LLVM。另一个较为早期的相关项目LLVM-GCC,是一个将GCC的前端嫁接到LLVM之上拼接而成的一个完整的编
转载 2017-06-26 15:35:00
183阅读
2评论
1。从llvm.org里下载下来llvm 2.3的source code 2。从llvm.org里下载下来llvm-gcc 4.2的source code,在llvm的官方站点里也提供了 llvm-gcc 4.2在若干个平台上的binary版本,如果正好有自己平台相对应的binary文件, 就不需要下载llvm-gcc的源码进行手动编译安装的工作了 3。将llvm 2.3的源码包解压缩到指定目录
转载 2012-10-07 13:55:00
145阅读
2评论
我以为,学一个复杂的东西,要首先提纲挈领,搞清楚大体的框架与各个类
转载 2012-03-02 21:24:00
52阅读
2评论
作者:snsn1984 就像很多优秀的软件都有自己的测试框架一样,LLVM也有自己的测试框架。LLVM的测试主要分为两 部分:regression tests 和 whole programs。其中,regression tests主要位于LLVM源码/test目录下,主要是 用来测试LLVM...
转载 2013-02-27 11:55:00
185阅读
2评论
作者:snsn1984 写在前面的话: 最近接触llvm比较多,在这个上面花了不少的时间。感觉llvm要完全理解透是个很不容易的事情,需要在学习过程中好好的整理下自己的思路。刚好又阅读了开源项目Storm的作者Nathan Marz的博客《You should blog even if you ...
转载 2012-10-02 00:03:00
87阅读
2评论
正文内容:Lessons I Learned About LLVMEverything's a Value!Although I knew that LLVM uses a Single Static Assignment (SSA) format, it wasn't obvious to me how prevalent this idea was in LLVM until I really
转载 2013-07-18 10:30:00
34阅读
2评论
 作者:​​snsn1984      ​​      在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不可避免的要对这些例子所涉及内容要精通。所以希望大家一定要对这些例子重视起来,它们都是经典中的经典。从我个人而言,从这些例子中学到了很多,文档说了很多都没能让人明白的东西
转载 2013-07-08 09:10:00
92阅读
2评论
​从接触LLVM编译器到现在,也有多半年时间了,在这多半年的时间里,也花了不少精力在上面。现在回过头来总结一下在LLVM的学习过程中的一些感悟。(注:这里对LLVM的学习,不是指的是学习LLVM的使用,而是主要针对基于LLVM实现编译功能。)1、在开始学习LLVM之前,要有一个心里准备。因为在接下来的学习过程中,会是比较艰难的一个过程,也是一个长期的过程,而且随着学习的深入,会越来越难。不要期望于
转载 2013-02-23 13:43:00
81阅读
2评论
llvm是一个新开源的编译器,笔者因为工作关系,尝试使用了一下llvm,现在将llvm编译说明总结如下:官方的llvm的说明如下网页,主要使用的指令是https://github.com/obfuscator-llvm/obfuscator/wiki/Installation$ git clone -b llvm-3.4 https://githu
原创 2014-09-24 11:55:51
3962阅读
://.aosabook.org/en/llvm.html This chapter discusses some of the design decisions that shaped LLVM1, an umbrella project that hosts and develop
转载 2020-02-07 14:17:00
36阅读
2评论
https://zhuanlan.zhihu./p/66793637 https://zhuanlan.zhihu./p/66909226 内容概要 什么是LLVM IR?如何得到IR? LLVM编译的流程,IR文件之间的链接简介 C++ name mangling的用途,“extern
转载 2019-12-28 17:00:00
535阅读
2评论
LLVM Backend技术 LLVM编译器介绍 LLVM 是一个编译器基础设施的设计与实现,具有独特的多阶段优化系统。广泛支持过程间和配置文件驱动的优化,同时对于商业编译器系统也十分高效。 LLVM 虚拟指令集把系统作为一个整体关联到一起,使用高级的类型信息,来做低级的系统表象,支持链接时和链接后 ...
转载 2021-07-16 06:23:00
556阅读
2评论
LLVM IR 理解 LLVM IR表示 LLVM IR有三个不同的形式: 内存中编译中间语言(IR) 保存在硬盘上的 bitcode(.bc 文件,适合快速被一个 JIT 编译器加载) 一个可读性的汇编语言表示(.ll 文件)。 LLVM为高效编译转换和分析,提供一个强大的中间表示。LLVM 的三
转载 2021-06-26 06:09:00
210阅读
2评论
LLVM Overview LLVM是一系列编译技术和工具链技术的集合,主要的subprojects有: LLVM Core: source and target-independent optimizer, code generation for many CPUs Clang: LLVM nat
转载 2021-04-12 09:23:00
174阅读
  • 1
  • 2
  • 3
  • 4
  • 5