Skip to content

An LLVM IR dataset for data-driven compiler optimization research

License

Notifications You must be signed in to change notification settings

dtcxzyw/llvm-opt-benchmark

Repository files navigation

LLVM Opt Benchmark

CI GitHub code size in bytes

LLVM Opt Benchmark is an LLVM IR dataset for data-driven compiler optimization research. This repository is also used by LLVM developers to evaluate the impact of their patches on real-world applications.

Don't submit PR to add new benchmarks. You can request new open-source C/C++/Rust repos here.

Please cite this work with the following BibTex entry:

@misc{opt-benchmark,
  title = {LLVM Opt Benchmark},
  url = {https://github.com/dtcxzyw/llvm-opt-benchmark},
  author = {Yingwei Zheng},
  year = {2023},
}

Online services (previously hosted by PLCT Lab, ISCAS/currently hosted by SUSTech ARiSE Lab)

  • Fuzzy DAG matching

    Please file an issue to provide LLVM IR with a single function. I will add the grep label to trigger CI.

    Example: #1072

  • Middle-end optimization pre-commit testing

    Ping me if you want to see what is affected by your PR. It is useful for reviewers to find potential performance regressions and new optimization opportunities.

    For convenience, some senior middle-end maintainers are authorized to request pre-commit tests in #1312. Some basic PR editing commands are also supported by leaving a comment starts with /:

    • /close : Close the PR
    • /reopen: Reopen the PR
    • /add-label labels: Add labels (separated by comma). Available labels: reviewed, regression, crash, hang and miscompilation.
    • /remove-label labels: Remove labels.
  • Codegen pre-commit testing

    See also llvm-codegen-benchmark.

  • Weekly coverage report:

    https://dtcxzyw.github.io/llvm-opt-benchmark/

Benchmark List

Currently, this repository contains the following libraries/applications:

Name Language Stars
abc C stars
bdwgc C stars
brotli C stars
c3c C stars
chibicc C stars
cjson C stars
clamav C stars
cmake C stars
coremark C stars
cpython C stars
curl C stars
darktable C stars
flac C stars
freetype C stars
git C stars
graphviz C stars
hdf5 C stars
hwloc C stars
jemalloc C stars
jq C stars
kcp C stars
libdeflate C stars
libevent C stars
libjpeg-turbo C stars
libpng C stars
libquic C stars
libsodium C stars
libuv C stars
libwebp C stars
linux C stars
lua C stars
luajit C stars
lz4 C stars
memcached C stars
mimalloc C stars
miniaudio C stars
nanosvg C stars
nuklear C stars
nuttx C stars
ompi C stars
oniguruma C stars
openblas C stars
openssl C stars
osqp C stars
php-src C stars
portaudio C stars
postgres C stars
qemu C stars
qoi C stars
quickjs C stars
raylib C stars
redis C stars
riscv-isa-sim C stars
ruby C stars
slurm C stars
sqlite C stars
stb C stars
sundials C stars
wireshark C stars
wolfssl C stars
yosys C stars
yyjson C stars
zlib C stars
zstd C stars
abseil-cpp C++ stars
annoy C++ stars
arrow C++ stars
assimp C++ stars
box2d C++ stars
bullet3 C++ stars
casadi C++ stars
ceres-solver C++ stars
cpp-httplib C++ stars
crow C++ stars
csmith C++ stars
cvc5 C++ stars
cxxopts C++ stars
double-conversion C++ stars
draco C++ stars
duckdb C++ stars
eastl C++ stars
entt C++ stars
faiss C++ stars
flatbuffers C++ stars
fmt C++ stars
folly C++ stars
g2o C++ stars
glog C++ stars
glslang C++ stars
gromacs C++ stars
grpc C++ stars
gsl C++ stars
harfbuzz C++ stars
hermes C++ stars
hyperscan C++ stars
icu C++ stars
imgui C++ stars
ipopt C++ stars
json C++ stars
jsonnet C++ stars
libphonenumber C++ stars
libzmq C++ stars
lief C++ stars
lightgbm C++ stars
llama.cpp C++ stars
llvm-project C++ stars
lodepng C++ stars
luau C++ stars
meshlab C++ stars
meshoptimizer C++ stars
minetest C++ stars
mitsuba3 C++ stars
mixbox C++ stars
mold C++ stars
msdfgen C++ stars
msgpack-c C++ stars
nanobind C++ stars
ncnn C++ stars
nghttp2 C++ stars
ninja C++ stars
nix C++ stars
node C++ stars
nori C++ stars
open_spiel C++ stars
opencc C++ stars
opencolorio C++ stars
opencv C++ stars
openexr C++ stars
openimageio C++ stars
openjdk C++ stars
openusd C++ stars
openvdb C++ stars
ozz-animation C++ stars
pbrt-v4 C++ stars
pcg-cpp C++ stars
pocketpy C++ stars
proj C++ stars
protobuf C++ stars
proxy C++ stars
proxygen C++ stars
pugixml C++ stars
pybind11 C++ stars
quantlib C++ stars
quest C++ stars
re2 C++ stars
readerwriterqueue C++ stars
recastnavigation C++ stars
rocksdb C++ stars
sentencepiece C++ stars
simdjson C++ stars
snappy C++ stars
soc-simulator C++ stars
spdlog C++ stars
stockfish C++ stars
taskflow C++ stars
tev C++ stars
tinygltf C++ stars
tinympc C++ stars
tinyobjloader C++ stars
tinyrenderer C++ stars
tomlplusplus C++ stars
vcpkg-tool C++ stars
velox C++ stars
verilator C++ stars
wasmedge C++ stars
xgboost C++ stars
yalantinglibs C++ stars
yaml-cpp C++ stars
yoga C++ stars
z3 C++ stars
zfp C++ stars
zxing-cpp C++ stars
actix-web Rust stars
anki Rust stars
clap Rust stars
coreutils Rust stars
delta-rs Rust stars
diesel Rust stars
html5ever Rust stars
hyper Rust stars
image Rust stars
influxdb Rust stars
json Rust stars
just Rust stars
log Rust stars
logos Rust stars
meilisearch Rust stars
mini-lsm Rust stars
mio Rust stars
nom Rust stars
ockam Rust stars
pyo3 Rust stars
qdrant Rust stars
rand Rust stars
rayon Rust stars
regex Rust stars
ring Rust stars
ripgrep Rust stars
ropey Rust stars
rust-analyzer Rust stars
rust-base64 Rust stars
rustfmt Rust stars
rustls Rust stars
serde Rust stars
smol Rust stars
softposit-rs Rust stars
statrs Rust stars
syn Rust stars
tokenizers Rust stars
tokio Rust stars
tree-sitter Rust stars
typst Rust stars
unicode-normalization Rust stars
wasmtime Rust stars