Version 1.1.0 — Drop-In Standard Passes & Clang Integration

GPU-Accelerated GVN &
Drop-in Clang Passes

A high-performance C++ implementation of LLVM middle-end passes (GVN, CSE, CFG, DCE) accelerated via Vulkan compute shaders. Features GPU dominator-tree GVN, commutative canonicalization, standard pass aliasing, and zero-configuration Clang -O2 integration.

Designed for offline operation • Works standalone in your browser without external servers • Zero CUDA dependencies
📽️

Offline Presentation

A complete 12-slide presentation detailing architecture, execution pipeline, performance numbers, and the 1.0 contract.

Launch Presentation →
📊

Benchmark Dashboard

109 verifiable measurement rows across CPU and GPU hardware, with interactive filtering, sorting, and CSV export.

Explore Benchmarks →
📦

Relocatable Packages

Ready-to-use CMake package (`LLVMVulkan::compute`), public headers, static library, CLI tool, and embedded SPIR-V shaders.

Download v1.0.0 →

Measured Performance

Clean comparison of identical Release executable on AMD Ryzen 9 5950X vs NVIDIA GeForce RTX 5090 (1,048,576 elements)

Workload CPU Median GPU Median Speedup (CPU / GPU)
Integer fold (32-bit scalar arithmetic) 12.657 ms 4.166 ms 3.04×
Integer fold (64-bit with shaderInt64) 16.178 ms 7.103 ms 2.28×
Sort keys (radix sort vs std::sort) 55.964 ms 1.666 ms 33.59×
Hash records (ragged instruction tuples) 3.331 ms 2.646 ms 1.26×
Exclusive scan (prefix sums) 1.281 ms 1.469 ms 0.87× (CPU wins)
Transparent Measurement Disclosure: Ratios above 1.0 favor the GPU. The baseline comparator is a single-threaded C++ scalar implementation. GPU times include upload, dispatch, synchronization, and host readback. The CPU wins every tested graph case and all small 1,024-element workloads due to worklist efficiency over GPU convergence rounds.

Scoped Architecture

Maintaining host LLVM semantic authority with accelerated offload

1. Scoped LLVM Passes

Integrates with LLVM passes: lv-fold for batched scalar operations, lv-cse for instruction record hashing, and lv-cfg for reachability analysis.

2. Standalone C++17 API

Standalone library offering integer folding, CSR graph reachability, dominators, liveness analysis, unsigned scan, key sorting, and record hashing.

3. Portable Vulkan Engine

Fixed 128-thread workgroups, 18 validated embedded SPIR-V shaders, optional subgroup arithmetic, and enforced Vulkan synchronization validation.

Project Documentation

Comprehensive guides, architectural invariants, and validation evidence