Constant-time support lands in LLVM: Protecting cryptographic code at the compiler level
LLVM 21 adds constant-time support to protect cryptographic code from timing attacks at the compiler level.
LLVM 21 adds constant-time support to protect cryptographic code from timing attacks at the compiler level.
Learn how to write tests to verify that compiler optimizations, like loop elimination, are actually applied to your code.
A technical guide on measuring test coverage for Rust projects using llvm-profdata and llvm-cov tools.
Using formal methods and Alive2 to find bugs in LLVM's AArch64 backend by lifting compiled code back to IR for refinement checking.
Explores a hybrid fuzzing approach combining mutation-based fuzzing with formal methods (Alive2) to find bugs in LLVM optimization passes.
Introduces llvm-reduce, a specialized tool for automatically reducing LLVM IR test cases to aid in debugging compiler failures.
An exploration of the challenges and progress in compiling Swift to WebAssembly, covering technical hurdles and community efforts up to 2020.
A technical guide for compiling LLVM, Clang, LLD, and the Zig programming language from source on Alpine Linux.
Extending a Lisp compiler's LLVM backend to support system calls for printing integers, covering type tracking and variable addressing.
A guide to compiling C code directly to WebAssembly using LLVM, bypassing the larger Emscripten toolchain for a leaner approach.
Extending a Lisp compiler's LLVM backend to support conditionals, subtraction, and comparisons, enabling compilation of the Fibonacci algorithm.
A monthly review of the Zig programming language's progress, covering LLVM 6 readiness, new error handling syntax, and error return traces.
Explores using LLVM and Go to statically recompile NES games into native executables, detailing technical challenges and solutions.