llvm

archi-dreamer9 天前
gpu·llvm·编译器与工具链
SlotIndex机制--以AMDGPU为例适用范围:LLVM AMDGPU(GCN/SI+)后端的 Machine IR、LiveIntervals、寄存器分配前优化与调度分析 通用实现:llvm/include/llvm/CodeGen/SlotIndexes.h、llvm/lib/CodeGen/SlotIndexes.cpp、llvm/include/llvm/CodeGen/LiveInterval.h
archi-dreamer9 天前
gpu·llvm·编译器与工具链
LiveInterval分析–以AMDGPU为例适用范围:LLVM AMDGPU(GCN/SI+)后端的 Machine IR、活跃性分析与寄存器分配
archi-dreamer14 天前
gpu·llvm·编译器与工具链
AMDGPU后端RegMask使用介绍摘要:本文系统介绍了 LLVM MI 层 RegMask 在 AMDGPU 后端中的核心作用与实现机制。RegMask 作为 MachineOperand 的特殊操作数,通过位图编码描述指令执行后哪些物理寄存器被保留(preserved)而非被破坏(clobbered)。在 AMDGPU 中,RegMask 主要服务于 call 边界上的寄存器活跃性分析和分配约束,其来源是 AMDGPUCallingConv.td 中定义的 calling convention 和 CSR(Callee-Saved Re
kevinli14 天前
ios·llvm
帮Apple修Bug如上所示,如果App的支持版本低于iOS14,那么最终对UniformTypeIdentifiers的依赖应该是weak的。因为UniformTypeIdentifiers的最低支持版本是高于我们的App。但是如果你去编译上述的代码你会发现无论是.o的符号还是最终的动态库依赖都是strong的,就让我们一起来帮Apple修复这个bug。
archi-dreamer20 天前
gpu·llvm·编译器与工具链
AMDGPU 后端 ABI 总览适用范围:llvm/lib/Target/AMDGPU(GCN/SI 及以后,GCNSubtarget) CPU ABI 参考(可选):llvm/lib/Target/X86/X86CallingConv.td(如 CC_X86_64_C)
lbaihao25 天前
开发语言·前端·python·llvm
LLVM Cpu0 调用规则解析llvm\lib\Target\Cpu0\Cpu0CallingConv.td// Match if the current subtarget has a feature F. class CCIfSubtarget<string F, CCAction A> : CCIf<!strconcat("State.getTarget().getSubtarget<Cpu0Subtarget>().", F), A>;
lbaihao1 个月前
llvm
LLVM Cpu 后端中具体的指令定义和模式匹配规则tablegen使用空签名 SDTNone(无输入输出)属性:有链式依赖、可选粘合值、可变参数用于表示函数返回操作
lbaihao1 个月前
llvm
LLVM 后端中 Cpu 目标机器的 SelectionDAG 节点定义tablegen返回值数量:0参数数量:1约束:第0个参数必须是整数类型tablegen除法/求余操作:2个整数参数,类型相同
weixin_421725261 个月前
c语言·编程语言·llvm·替代方案·go和rust
C语言已逐渐落伍 什么样的语言能取代C语言?有人希望用另一种语言来替换 C 的关键原因也正在于此。用 C/C++ 编写的关键性软件实在太多了,但 C/C++ 中包含大量的“潜规则”。举个例子 OpenSSL 库中的 bug 就源于此。众所周知, C 语言非常不善于处理类似于缓冲溢出的问题。C 语言中的“坑”实在太多了。
十五年专注C++开发1 个月前
开发语言·c++·qt·clang·llvm
浅谈LLVM目录1.简介2.Clang2.1.Clang 核心功能与实战用法2.2.Clang 工具链生态(开发效率神器)
Gauss松鼠会2 个月前
大数据·数据库·架构·数据库开发·gaussdb·llvm
【GaussDB】LLVM技术在GaussDB等数据库中的应用万物互联的态势下,数据量的激增使得“如何提升数据处理性能”成为各家数据库共同面临的挑战。作为编译优化技术的代表,基于LLVM的CodeGen技术,能为每个查询生成定制的机器码替代原本的通用函数,减少实际查询时冗余的条件逻辑判断、虚函数调用并提高数据局域性,从而达到提升查询整体性能的目的,成为数据库性能优化的一项重要技术。
lich43 个月前
llvm
个人OLLVM项目成果展示github.com/lich4/sllvm目前活跃开源OLLVM项目有: 原版OLLVM, Hikari, Hikari-LLVM15, Pluto, Polaris-Obfuscator, goron, Arkari, o-mvll, ...
穷人小水滴3 个月前
npm·编译器·llvm
编译 LLVM: 跨平台 npm 二进制包国际劳动妇女节 快乐 !上文说到, LLVM 是一个强大的开源编译器基础设施 (工具集). 虽然相比别的大型项目 (比如 chromium, v8), LLVM 的编译已经算很简单了, 但是如果想要在多个平台上使用 LLVM (涉及到 交叉编译), 还是比较麻烦的.
穷人小水滴4 个月前
webassembly·编译器·llvm
LLVM IR 入门: 使用 LLVM 编译到 WebAssemblyLLVM 是一个强大的开源编译器基础设施, 或者说是一个通用的优化器和编译器后端. 有很多编程语言, 比如 rust, 编译器把高级语言源代码编译为 LLVM IR, 然后再通过 LLVM 编译成 CPU 可执行的二进制代码.
高铭杰4 个月前
agent·llvm·rag·llamaindex
LlamaIndex实用入门案例(可执行)python 01_simple_llm_chat.pypython 02_simple_rag.py
EleganceJiaBao4 个月前
gnu·clang·gcc·llvm
【嵌入式】GNU/GCC vs LLVM/Clang在 GCC 语境中:compiler = gcc 这个驱动程序 + 内部子程序📌 cc1 / cc1plus 在文档里是“实现细节”
I_belong_to_jesus5 个月前
c++·llvm
LLVM后端入门8:Subtarget支持子目标支持用于告知代码生成过程特定芯片组的指令集差异,若需要子目标支持,你应为目标架构实现一个目标特定的 XXXSubtarget 类。该类需处理命令行选项 -mcpu= 和 -mattr=。
番茄灭世神5 个月前
vscode·cmake·gcc·c\c++·llvm·工具链搭建
基于VScode的C/C++环境搭建learn from: https://subingwen.cn/vscode/cpp-windows/