首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

#llvm

通过编译器转换(llvm pass)规避模糊测试的一些障碍

用户1423082

AFL通过插桩获取的代码覆盖率,假如变异的样本触发的新的路径,就会加入到接下来的变异队列中

7200

LLVM异常实现零 异常的多层结构与实现方式

AkemiHomura

当我们编写编程语言的时候,不同的语言有不同的异常语法。比如说常见的对于一个块做try,捕获产生的不同Exception。假设这些语言都接入llvm进行代码生成,...

11311

LLVM异常实现四 personality

AkemiHomura

前面libunwind的过程中多次和personality进行交互,这部分是由语言提供和语言相关的内容。libunwind的两个阶段对应到这一个函数之中,per...

10010

LLVM异常实现三 libunwind

AkemiHomura

第一阶段的personality,这个handler是从frameInfo中获取的,表明每个frame都可以有自己单独的personality,每个frame关...

14510

LLVM异常实现二 libcxxabi

AkemiHomura

在之前的博客提到带有异常相关的C++代码编译成llvm ir后,会插入libcxxabi的__cxa_xxx函数,这期则是来了解这些函数的实现。

8110

LLVM异常实现一 LLVM IR

AkemiHomura

这一期我们通过编译C++到LLVM代码来查看这部分的实现。在此之前我们需要了解一些简单的基础知识,之后我们将从一个最小抛出异常的代码开始,逐渐复杂化这个例子,查...

11410

LLVM异常实现五 总结回顾

AkemiHomura

整个异常处理的过程中,涉及到各种层级之间相互调用,同时还有一些函数还会负责处理不同的功能(比如说personality会同时处理search以及clean),这...

11710

软件开发:了解LLVM,现代编译器基础设施的基石

运维开发王义杰

LLVM(Low Level Virtual Machine)是一个用于构建编译器的开源框架和工具链。它不仅提供了一个高度优化的中间表示(IR),还支持广泛的优...

1.1K20

Postgresql源码(128)深入分析JIT中的函数内联llvm_inline

mingjie

上面给的用例函数的编译执行是在投影列中的(无JIT投影列执行可以参考这篇《Postgresql源码(127)投影ExecProject的表达式执行分析》)。

17010

LLVM的ThinLTO编译优化技术在Postgresql中的应用

mingjie

链接时优化(Link-time optimization,简称LTO)是编译器在链接时对程序进行的一种优化。它适用于以文件为单位编译程序,然后将这些文件链接在一...

34310

PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)

慕阳MuYoung

这一步如果当前网络环境有网络并且dhcp获取到ip地址会默认获取国家跟时区直接下一步,如果没有网络环境这一步需要手动输入时区以及国家

5.9K30

CentOS7.3使用CMake编译安装最新的LLVM和Clang4.0.1

typecodes

前段时间试了把虚拟机CentOS下面的C/C++工程中的Makefile文件改用clang/clang++来编译,这篇文章主要是介绍如何在CentOS7.3系统...

73710

从Rustup出发看看Rust语言的编译生态

程序饲养员

当你心血来潮想学习Rust这门语言时,一定会用到Rustup来安装Rust。同时你可以会疑问toolchain是啥,target又是啥,为啥学其它编程语言没有这...

44810

LLVM(6)ORC实例分析:Transform in cpp

mingjie

21720

Scalar Evolution (SCEV)

谛听

Scalar Evolution(SCEV)用于分析循环中的标量(scalar)是如何变化的(evolution)。

82940

LLVM(5)ORC实例分析

mingjie

26520

Postgresql源码(115)LLVM JIT运行逻辑分析(上)

mingjie

dlopen动态加载llvmjit.so,并调用so中的_PG_jit_provider_init初始化:

27730

LLVM(4)常量折叠instcombine pass优化实例

mingjie

下面函数foo中存在冗余变量计算、赋值语句,使用instcombine优化的效果:

28120

LLVM(3)编写Pass

mingjie

opt提供了很多pass,例如检测代码中的死循环、对代码中的memcpy优化、遍历全部函数分析调用关系等等。

33330

LLVM(2)IR入门

mingjie

例如上面的%6 = call noundef i32 @_Z9factoriali(i32 noundef 2)函数调用语法,如何找到call的全部使用方法?

31340
领券