Repository navigation
Releases: HECer/llvm-vulkan
Release list
LLVM Vulkan 1.1.0 - Drop-In Standard Passes & Clang Integration
LLVM Vulkan 1.1.0 — Drop-in Standard LLVM Passes (GVN, CSE, CFG, DCE) & Clang Integration
LLVM Vulkan version 1.1.0 expands the project from a scoped compute prototype into a full, drop-in replacement pipeline for LLVM middle-end optimization passes, with automatic hook-in support for Clang -O2/-O3 compilations.
What's New in 1.1.0
- Cross-Block Dominator GVN (
lv-gvn/gvn): Connected the Vulkan GPU dense dominator matrix solver (dominators_rounds.comp,dominators_local_banked.comp) intoGVNPassto eliminate common subexpressions across basic blocks dominated by the definition. - Commutative CSE Canonicalization: Normalized operand IDs for commutative operations (
add,mul,and,or,xor,eq,ne) before hashing so that reversed operand pairs (a + bandb + a) produce matching candidate hashes and are deduplicated. - Drop-in Standard Pass Aliasing: Standard LLVM pass names (
early-cse,gvn,simplifycfg,dce,adce,instcombine) are registered as aliases to allow direct invocation in standard-passes=...pipelines. - Automatic Clang Pipeline Integration: Implemented EP (Extension Point) callbacks (
registerPipelineStartEPCallback,registerPipelineEarlySimplificationEPCallback,registerOptimizerLastEPCallback) so thatclang -fpass-plugin=LLVMVulkan.so -O2automatically hooks into the compilation pipeline whenLV_AUTO_INSERT=1. - End-to-End Native Compilation Verification: Validated full pipeline from
opt->llc->gcc-> native binary execution with 100% semantic equivalence. - Test Suite Expansion: Added
tests/llvm/gvn.llandtests/llvm/cse_commutative.ll. All 19 fixtures, 8,192 constant oracle cases, and semantic fuzzing passed with 0 errors.
Usage Example
# Standard opt invocation using standard pass names:
opt -load-pass-plugin=LLVMVulkan.so -passes='early-cse,gvn,simplifycfg,dce' input.ll -S -o output.ll
# Automatic Clang -O2 integration:
export LV_AUTO_INSERT=1
clang -fpass-plugin=LLVMVulkan.so -O2 -c main.c -o main.oVerified Assets
LLVMVulkan-1.1.0-Windows-AMD64.zip(MSVC Release static library, tools, headers, CMake configs)LLVMVulkan-1.1.0-Linux-x86_64.tar.gz(Linux shared library, tools, headers, CMake configs)SHA256SUMS(checksum manifest)
LLVM Vulkan 1.0.0
LLVM Vulkan 1.0 is the stable source release of the documented C++ bulk-compute
API and scoped LLVM passes. It preserves the conservative CPU default and
explicit Vulkan selection. It is not a complete LLVM port or a claim that
compilation is faster on every workload.
Live Online Presentation and Explorer
- Project Site: https://hecer.github.io/llvm-vulkan/
- 12-Slide Project Presentation: https://hecer.github.io/llvm-vulkan/project-presentation.html
- Interactive Benchmark Dashboard: https://hecer.github.io/llvm-vulkan/graphs/benchmarks.html
Both the slide deck and benchmark explorer are also included directly inside the release packages for 100% offline usage without a web server.
Included
- Relocatable
LLVMVulkan::computeCMake package, public/version headers, static
library, benchmark CLI and embedded SPIR-V. Shader validation is required by default. - Integer folding through 64 bits, graph reachability, dense dominators, gen/kill
liveness, unsigned scan/sort and record hashing, plus the documented LLVM passes. - Offline 12-slide HTML project presentation, interactive 109-row benchmark
explorer with CSV export, and editable SVG plus PNG/ICO project branding. - All prior performance evidence, including CPU wins and source/binary hashes.
Validation
- Clean Windows/MSVC Release: all 9 CTest gates, three large RTX 5090 seeds at
299,119 assertions each, plus an unpacked-distribution external CMake consumer. - Linux/lavapipe with matching LLVM 21.1.8: optimized/fallback core tests,
17 fixtures per mode, 8,192 oracle cases and dynamic semantic comparison. - Offline desktop/mobile checks across all 12 slides and 26 graph selections per
viewport; keyboard navigation, printing and CSV export checked. - Matching GitHub Linux/LLVM 20 CI, relocated consumer and CPack: https://github.com/HECer/llvm-vulkan/actions/runs/41373075339.
Downloads and SHA-256 Checksums
c91d610b8ca8e6571d594531efff70555e3c6795957aa531a635ea04f179178b LLVMVulkan-1.0.0-Linux-x86_64.tar.gz
f22c2e9327571bd530bee7813f266b3e86274ad8258294a06c547580ab8c6486 LLVMVulkan-1.0.0-Windows-AMD64.zip
The Windows ZIP contains the standalone core; Vulkan loader/driver and the
matching MSVC runtime are required. The Linux TGZ comes from the Ubuntu 24.04
LLVM 20/lavapipe CI job. Any included LLVM module is tied to that exact LLVM
installation; rebuild against your own host LLVM when it differs.
Both packages include the offline presentation under
share/doc/LLVMVulkan/docs/project-presentation.html, the benchmark explorer
under share/doc/LLVMVulkan/docs/graphs/benchmarks.html, and the icon/wordmarks
under share/doc/LLVMVulkan/docs/assets.
See the release guide
for the source compatibility contract, build instructions and support matrix.
Assets include AI-assisted design disclosure; no cryptographic authorship or signer-trust claim is made.
Physical AMD/Intel validation, native Windows LLVM plugin ABI, a fresh LLVM 24
build and whole-compiler GPU speedup remain outside the verified release scope.