C++ Atomic Ordering - An x86-TSO's Perspective
本文是笔者对 C++ memory model 中 atomic operations 和 memory order 的理解。
本文是笔者对 C++ memory model 中 atomic operations 和 memory order 的理解。
在上一篇文章 SLP Vectorizer: Part 1 - Implementation in LLVM 中我们学习 LLVM 的 SLP Vectorizer 实现,本文基于 SPEC CPU 2017 来评估 SLP Vectorizer 的优化效果。
本文分析 LLVM 的 SLP Vectorizer 实现。
本文通过一个 inline 函数的例子学习 COMDAT 的作用。
笔者在 Linux/AArch64 环境下使用 HWASAN 时,遇到一 “relocation R_AARCH64_ADR_PREL_PG_HI21 out of range” 链接错误,在分析解决该链接错误过程中对 linker relocation 以及 HWASAN 都有了更深的理解,因此将分析解决该链接错误的过程梳理总结形成此文。
todo list of learning llvm optimization passes.
本文深入分析了 HWASAN (HardWare-assisted AddressSanitizer) 检测内存错误的原理。
本文深入分析了 AddressSanitizer Allocator 的实现。
以前看到过很多人在博客上分享自己的年度总结,正好今年我也 github pages 上搭建了自己的博客,所以今年也在这里回顾下 2022 年的自己。
本文首先介绍了 C++ 中的 strict aliasing rule,然后深入分析编译器是如何利用 strict aliasing rule 对程序进行分析优化的,之后介绍了检测 strict aliasing violation 的动态分析工具 TypeSanitizer,最后介绍如何在编程时避免写出 strict aliasing violation 的代码。