自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(234)
  • 问答 (1)
  • 收藏
  • 关注

原创 LLVM后端入门9:JIT支持

目标机器的实现可以选择性地包含一个即时(JIT)代码生成器,该生成器会将机器码和辅助结构作为二进制输出进行生成,这些输出可直接写入内存。要实现这一点,可通过执行以下步骤来实现 JIT 代码生成:编写 XXXCodeEmitter.cpp 文件,其中包含一个机器函数 pass,用于将目标机器指令转换为可重定位机器码。编写 XXXJITInfo.cpp 文件,为目标特定的代码生成活动(如生成机器码和存根)实现 JIT 接口。

2026-01-17 11:24:01 694

原创 LLVM后端入门8:Subtarget支持

LLVM后端入门8:Subtarget支持。

2026-01-17 11:09:52 272

原创 LLVM后端入门8:汇编打印(Assembly Printer)

LLVM后端入门8:汇编打印(Assembly Printer)。

2026-01-16 19:54:10 436

原创 LLVM后端入门7:指令选择器(Instruction Selector)

LLVM后端入门7:指令转换和指令选择器(Instruction Selector)

2026-01-07 20:31:58 884

原创 LLVM IR优化pass的执行和CFG优化流程

LLVM IR优化pass的执行和CFG优化流程。

2025-12-31 17:14:05 189

原创 Bitonic Sort算法原理和RISCV向量实现

Bitonic Sort算法原理和RISCV向量实现。

2025-12-05 18:30:06 725

原创 LLVM后端入门6:指令规划和实现

LLVM后端入门6:指令规划和实现。

2025-12-01 15:01:38 916

原创 LLVM后端入门5:指令操作映射

LLVM后端入门5:指令操作映射。

2025-12-01 14:34:08 386

原创 LLVM后端入门4:指令集的定义

LLVM后端入门4:指令集的定义,如何使用td文件描述和定义一个指令集。

2025-12-01 10:54:35 905

原创 LLVM后端入门3:寄存器组和寄存器类

LLVM中寄存器的定义,表示和实现方法。

2025-11-30 23:55:55 731

原创 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后端入门1:介绍

LLVM的后端实现过程,第一节首先介绍一下实现的基本步骤。

2025-11-29 11:41:48 704

原创 tiny-gpu入门4: ALU模块分析

tiny-gpu入门4: ALU模块分析

2025-10-27 16:34:06 244

原创 tinygpu介绍3:仿真部分文件

tinygpu介绍3:仿真部分文件

2025-09-13 01:09:54 428

原创 tiny-gpu介绍2:仿真

tiny-gpu介绍2,仿真的实现。

2025-09-11 00:37:47 576

原创 tiny-gpu入门1:整体介绍

tiny-gpu入门,对tiny-gpu的整体介绍。

2025-09-03 00:45:32 1180

原创 Coroutine用法之co_return

Coroutine用法之co_return.

2025-08-28 00:36:06 368

原创 C++如何将多个静态库编译成一个动态库

C++如何将多个静态库编译成一个动态库并使用。

2025-08-24 13:50:10 272

原创 LLVM中的PHI节点

LLVM中的PHI节点的作用和使用。

2025-08-15 00:49:58 5167

原创 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

原创 LLVM入门5:扩展语言-用户定义的运算符

LLVM入门5:扩展语言-用户定义的运算符。

2025-07-24 10:24:51 827

原创 C++中的虚继承

这里如果要对data赋值,必须要指明是哪个继承类的成员。如果要解决上述问题,可让类 B 和类 C 虚继承类 A,这样类 D 就只会包含一份类 A 的数据。在虚继承的情况下,虚基类的构造函数由最底层的派生类(如类 D)负责调用,中间层的派生类(如类 B 和类 C)不会调用虚基类的构造函数。在 C++ 里,虚继承是一种特殊的继承方式,其主要作用是解决多重继承时出现的菱形继承问题,防止数据冗余和歧义。

2025-07-19 18:08:01 290

原创 神经网络量化3-全连接层实现量化

神经网络量化3-全连接层实现量化

2025-03-18 15:35:56 420

原创 神经网络量化2-pytorch测试动态量化

神经网络量化2-pytorch测试动态量化

2025-03-18 10:37:10 345

原创 神经网络量化1-基础算法介绍

神经网络量化基础算法介绍。

2025-03-11 18:26:21 628

原创 LLVM入门4:扩展语言的控制流

LLVM入门4:扩展语言的控制流

2025-01-09 18:14:59 815

原创 C++11的std::for_each和lambda调用的使用实例

C++11如何使用std:for_each+lambda调用。

2024-11-13 14:07:05 401

原创 LLVM入门3:优化和添加JIT

LLVM入门3:优化和添加JIT。

2024-09-24 09:19:41 1527

原创 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

原创 NVDLA专题13:NVDLA软件部分设计和Compiler library

NVDLA软件部分设计和Compiler library介绍。

2024-09-10 13:47:50 1013

原创 LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍

LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍。

2024-09-08 01:20:23 1233

原创 llvm专题1:编译和安装之CMake配置

llvm专题1:编译和安装之CMake配置

2024-08-26 00:09:26 1269

原创 NVDLA专题12:具体模块介绍——RUBIK

NVDLA专题12:具体模块介绍——RUBIK

2024-08-23 19:05:22 875 1

原创 NVDLA专题12:具体模块介绍——LUT Programming

NVDLA专题12:具体模块介绍——LUT Programming

2024-08-19 15:28:03 1286

原创 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

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除