Packed Bits
Notes on C++, compilers, and other things I find myself chasing down.
-
Inside Clang's New Constant Interpreter: A Bytecode VM for constexpr
-
Clang の新定数インタプリタの内側: constexpr のためのバイトコード VM(日本語版)
-
KnownBits: The Per-Bit Abstract Domain That Half the LLVM Optimizer Relies On
-
KnownBits: LLVM 最適化器の半分が頼るビット単位の抽象ドメイン(日本語版)
-
Where LLVM's readonly, nocapture, and nonnull Come From
-
SROA: LLVM はどうやって構造体を消滅させるのか(日本語版)
-
SROA: How LLVM Makes Your Structs Disappear
-
SelectionDAG リーガライゼーション: IR をターゲットが実際に実行できるものに変える(日本語版)
-
SelectionDAG Legalization: Turning IR Into Something the Target Can Actually Run
-
MemorySSA: Sparse Memory Dependencies in LLVM
-
MemorySSA: LLVM のスパースなメモリ依存表現(日本語版)
-
LLVM の Type-Based Alias Analysis は実際どう動くのか(日本語版)
-
LLVM の readonly、nocapture、nonnull はどこから来るのか(日本語版)
-
LLVM の MemCpyOpt はメモリコピーをどう消すのか(日本語版)
-
LLVM の Control Flow Integrity: コンパイラが関数ポインタをどう囲い込むか(日本語版)
-
InstCombine: ワークリスト、畳み込み、そして「正味の簡約」ルール(日本語版)
-
InstCombine: The Worklist, the Folds, and the 'Net Simplification' Rule
-
How LLVM's Type-Based Alias Analysis Actually Works
-
How LLVM's MemCpyOpt Eliminates Memory Copies
-
GVN と PRE: LLVM はどうやって冗長な計算を削除するのか(日本語版)
-
GVN and PRE: How LLVM Deletes Redundant Work
-
Control Flow Integrity in LLVM: How the Compiler Fences Off Your Function Pointers
-
AddressSanitizer の内側から: シャドウメモリ、レッドゾーン、ポイズン(日本語版)
-
AddressSanitizer From the Inside: Shadow Memory, Red Zones, and Poison