- 博客(234)
- 问答 (1)
- 收藏
- 关注
原创 LLVM后端入门9:JIT支持
目标机器的实现可以选择性地包含一个即时(JIT)代码生成器,该生成器会将机器码和辅助结构作为二进制输出进行生成,这些输出可直接写入内存。要实现这一点,可通过执行以下步骤来实现 JIT 代码生成:编写 XXXCodeEmitter.cpp 文件,其中包含一个机器函数 pass,用于将目标机器指令转换为可重定位机器码。编写 XXXJITInfo.cpp 文件,为目标特定的代码生成活动(如生成机器码和存根)实现 JIT 接口。
2026-01-17 11:24:01
694
原创 LLVM后端入门7:指令选择器(Instruction Selector)
LLVM后端入门7:指令转换和指令选择器(Instruction Selector)
2026-01-07 20:31:58
884
原创 LLVM后端入门2:目标机器
CodeGenTargetMachineImpl 被设计为一个基类,用于那些使用 LLVM 目标无关代码生成器(target-independent code generator)实现的目标平台。类应当由一个具体目标类(concrete target class)来特化(specialized),这个具体目标类会实现各种虚方法(virtual methods)。在文件中被定义为的子类。类的实现(位于)同样处理许多命令行选项(command-line options)。要创建一个。
2025-11-29 12:16:04
947
原创 LLVM的Value
在 LLVM 中,Value是所有可以作为表达式操作数的 IR(中间表示)实体的基类,是 LLVM IR 类型系统和指令系统的核心概念。它代表了一个 “值”,可以是常量、变量、指令结果、函数参数等,几乎所有在 IR 中参与计算或被引用的实体都继承自Value。
2025-08-13 00:18:35
380
原创 LLVM的FunctionPassManager
在 LLVM 中,FunctionPassManager 是用于管理和运行函数级 Pass(FunctionPass)的核心组件。它负责组织一系列针对单个函数进行分析或优化的 Pass,并按特定顺序执行这些 Pass,是 LLVM 中间代码(IR)优化 pipeline 的重要组成部分。
2025-08-12 00:53:16
775
原创 LLVM的BasicBlock
在 LLVM 中,BasicBlock(基本块)是 IR(中间表示)中最小的指令序列单元,它代表一段连续执行的代码,具有 “单入口、单出口” 的特性:即从基本块的开头进入,执行所有指令后从末尾退出,中间不会有分支或跳转(除了最后一条指令可能是分支指令)。
2025-08-06 00:53:35
2898
原创 LLVM中的LLVMContext、Module和IRBuilder
本节我们总结下LLVM IR中最常用的三个类LLVMContext、Module和IRBuilder的用途和关联。
2025-08-01 01:10:22
1038
原创 C++中的虚继承
这里如果要对data赋值,必须要指明是哪个继承类的成员。如果要解决上述问题,可让类 B 和类 C 虚继承类 A,这样类 D 就只会包含一份类 A 的数据。在虚继承的情况下,虚基类的构造函数由最底层的派生类(如类 D)负责调用,中间层的派生类(如类 B 和类 C)不会调用虚基类的构造函数。在 C++ 里,虚继承是一种特殊的继承方式,其主要作用是解决多重继承时出现的菱形继承问题,防止数据冗余和歧义。
2025-07-19 18:08:01
290
原创 NVDLA专题15:Runtime environment-核心模式驱动
NVDLA专题15:Runtime environment-核心模式驱动。
2024-09-11 15:29:29
1064
原创 NVDLA专题14:Runtime environment-用户模式驱动
NVDLA专题14:Runtime environment-用户模式驱动。
2024-09-10 21:37:05
1382
原创 LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍
LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍。
2024-09-08 01:20:23
1233
原创 NVDLA专题11:具体模块介绍——CROSS Channel Data Processor
NVDLA专题11:具体模块介绍——CROSS Channel Data Processor。
2024-08-19 13:47:50
491
原创 NVDLA专题10:具体模块介绍——Planar Data Processor
NVDLA专题10:具体模块介绍——Planar Data Processor。
2024-08-16 15:52:57
1554
空空如也
gpu安装后和集显无法显示
2017-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1