标签
RPCS3 的 ARM 移植版现在运行速度快了 60%,功耗降低了 25%,这是因为修复了一个忙等待定时器 bug、用 ARM ISB 替换了 x86 pause,并重写了 LLVM 代码生成。这些改进源于由一台廉价 Android 掌上测试设备推动的低层 ARM 优化。
BorrowSanitizer 是一个开源的 LLVM sanitizer,用于检测多语言应用程序中 Rust 特有的别名违规,旨在足够快以支持模糊测试,并支持 Rust、C 和 C++ 互操作。
本文解释了 MLIR 作为一个编译器基础架构框架,提供了灵活的方言栈,描述了它如何被用于 XLA、Triton 和 Mojo 等现代 ML 编译器中,以逐步将张量操作降级为机器代码。
Fil-C 是一个完全内存安全的 C/C++ 实现,通过 LLVM IR 阶段的不可见能力(invisicaps)将指针值与边界信息捆绑,实现高兼容性,性能损失约 4 倍。
对 Rust 的 std::simd::swizzle_dyn 实现的详细分析,揭示了性能缺陷并提出了优化方案,以更好地利用硬件 shuffle 指令。
作者构建了一种名为bet的玩笑编程语言,通过LLVM编译,采用基于区域的内存管理,并且成功运行了完整的DOOM游戏(56,000行代码),无需代码审查,仅依赖测试。
这篇博客文章探讨了一种技术,利用LFortran、Enzyme和Tesseract使传统的Fortran模拟代码变得可微分,从而实现自动微分并与JAX集成,以用于机器学习流程。
本文解释了如何通过实现 Dense Arena Interner,将字符串和结构转换为稠密整数,从而在词法分析期间承担前期哈希成本后实现 O(1) 比较,大幅提升编译器性能。
这篇博客文章探讨了LLVM的SmallVector::push_back的一个优化:通过尾调用grow-and-push路径,消除了被调用者保存寄存器的溢出,从而提升了快速路径的性能。
这篇博客文章详细介绍了对 LLVM 的 BumpPtrAllocator 进行的三项近期优化,通过移除冗余对齐、空指针检查以及每次分配的记账开销来减少快速路径开销,从而提升了 Clang、lld 及其他 LLVM 组件的性能。
Gossamer是一种受Rust启发的新编程语言,具有真实goroutines、基于引用计数和区域的无暂停确定性内存管理,以及配备LLVM编译的字节码虚拟机。它旨在提供富有表现力的语法,无需借用检查器或垃圾回收暂停。
CS 6120 是一门博士级别的自助式在线高级编译器课程,涵盖中间表示、数据流、优化,并包括论文阅读和使用 LLVM 和 Bril 的实现任务。
苹果的dsymutil工具用于将DWARF调试信息链接到自包含的捆绑包中,现在正在采用并行DWARF链接器来解决类型去重中的单线程瓶颈,尽管由于输出并非二进制完全相同而在验证方面面临挑战。
Ü 是一种静态类型的编译型编程语言,专为可靠性和速度而设计,具有安全/不安全代码分离、RAII 和 LLVM 后端。它的目标是优于 C++ 且比 Rust 更易用。
Reify 是一款基于语义具体化技术的开源随机 C 程序生成器,能够生成不含未定义行为的代码,专用于编译器测试。它已在 GCC 和 LLVM 中发现了 59 个 bug,并在 OpenJ9 和 Linux 的 eBPF 运行时中发现了额外的缺陷。
Perry 使用 SWC 和 LLVM 将 TypeScript 直接编译为原生可执行文件,生成无运行时依赖的小型二进制文件,支持所有主流平台和原生 UI 组件。
LLVM Foundation 发布了一份声明,倡导开放获取标准文档,旨在提高透明度和社区参与度。
Nibble 是一种类 C 的系统编程语言,用 3000 行 C 代码实现,无需外部依赖或堆分配即可生成 LLVM IR。它支持 defer、递归、多种类型、结构体、指针,并包含图形演示。