LLVM

Ubuntu 18.04 下载安装 llvm (version >= 11)

添加源 你可以在llvm找到适合特定版本的Ubuntu源。 cd /etc/apt sudo cp sources.list soures.list.bark sudo vim sources.list #将下面的llvm源(适用于Ubuntu 18.04)粘贴进去 deb http://apt.l ......
version Ubuntu 18.04 llvm 18

如何自主开发一个LLVM后端

如何自主开发一个LLVM后端 这是 LLVM 官方的一篇教程的翻译:https://releases.llvm.org/10.0.0/docs/WritingAnLLVMBackend.html#instruction-scheduling该文档需要有一定的 LLVM 和 编译原理的基础。LLVM目 ......
LLVM

LLVM编译器优化与应用示例

LLVM编译器优化与应用示例 从LLVM IR 来看编译器“优化”都在做些什么(release) 从LLVM IR 来看编译器“优化”都在做些什么(release) 这些东西可以讲很深,但今天只会带大家看些简单的LLVM IR跟 组合语言,并且举一些例子来讲 编译器”优化” 在做些什么。今天的示例会 ......
编译器 示例 LLVM

自定义创建一个芯片LLVM编译器分析

自定义创建一个芯片LLVM编译器分析 参考文献链接 https://mp.weixin.qq.com/s/1Gccmir2IbVvtaWzIe6uQQ https://zhuanlan.zhihu.com/p/478428967 ......
编译器 芯片 LLVM

MLIR,LLVM SPIR-V Getting started初步探索

MLIR,LLVM SPIR-V Getting started初步探索 编译器与IR的思考: LLVM IR,SPIR-V到MLIR 编译器与中间表示 在讨论各种具体中间表示之前,先让我们总体看一下编译器和中间表示。 抽象与语义(Abstractions and Semantics) 自人类文明产 ......
Getting started SPIR-V MLIR LLVM

LLVM 编译器框架与流程分析

LLVM 编译器框架与流程分析 LLVM 编译器框架 LLVM是Low Level Virtual Machine(低级虚拟机)的简称,是一款编译器框架。但是它本质上并不是虚拟机,核心其实准确点应该是编译器相关支持。主要是支持代码优化、链接、代码生成、机器码生成。当然有的时候内部llc给人感觉确实是 ......
编译器 框架 流程 LLVM

LLVM的IR指令及代码生成技术应用详解

LLVM的IR指令及代码生成技术应用详解 LLVM的IR指令详解 IR 指令是 LLVM 中的一个中间表示形式,用于表示程序的控制流、数据流、内存访问等等,它是一种基于 SSA 形式(Static Single Assignment)的静态单赋值形式。在 LLVM 中,每个 IR 指令都有一个唯一的 ......

LLVM代码及指令选择分析

LLVM代码及指令选择分析 概述 LLVM Obfuscator是一款工业级别的代码混淆器,在过去几年的CTF里我们经常会遇到经过代码经过它混淆的情况。这片博文记录了我们对混淆器原理的研究以及从中发现的有关混淆器的设计实现的脆弱之处。基于我们的研究结果,我们在Binary Ninja平台上写了一个插 ......
指令 代码 LLVM

LLVM后端与工具链技术探索

LLVM后端与工具链技术探索 底层探索LLVM 在介绍 LLVM 之前,先来认识一下解释型语言和编译型语言。 解释型语言 有的编程语言可以一边执行一边转换,不会生成可执行文件再去执行,这种编程语言称为解释型语言,使用的转换工具称为解释器,比如 Python、JavaScript、PHP等。 编译型语 ......
工具 技术 LLVM