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)

Special Acknowledgement: Thank @goldsteinn for providing additional computational resources to meet the growing demand for testing!

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

About

An LLVM IR dataset for data-driven compiler optimization research

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages