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

#llvm

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

AkemiHomura

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

400

LLVM异常实现四 personality

AkemiHomura

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

1200

LLVM异常实现三 libunwind

AkemiHomura

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

600

LLVM异常实现二 libcxxabi

AkemiHomura

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

1600

LLVM异常实现一 LLVM IR

AkemiHomura

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

2400

LLVM异常实现五 总结回顾

AkemiHomura

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

1300

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

运维开发王义杰

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

68320

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

mingjie

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

13810

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

mingjie

install_llvm_module函数中调用了llvm-lto -thinlto -thinlto-action=thinlink生成摘要文件:postgr...

20910

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

慕阳MuYoung

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

3.2K30

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

typecodes

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

55210

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

程序饲养员

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

37910

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

mingjie

20020

Scalar Evolution (SCEV)

谛听

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

67730

LLVM(5)ORC实例分析

mingjie

23720

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

mingjie

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

24230

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

mingjie

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

25020

LLVM(3)编写Pass

mingjie

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

29730

LLVM(2)IR入门

mingjie

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

28840

LLVM(1)Fibonacci实例

mingjie

Fibonacci计算是一个非常经典的案例,下面用Fibonacci的两种写法 对比普通C函数和LLVM IR的编写区别。

27150
领券