thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: llvm
swiftlang/swift ★ 70415 10822 APPLICATION

This is the Swift compiler and standard library repository, implementing the full Swift language toolchain. It includes the compiler frontend (parser, type checker, SIL optimizer, LLVM IR generation), runtime libraries (memory management, concurrency, reflection), platform overlays (Android, WASI, Windows), interop layers (C, C++, Objective-C), IDE support (SourceKit, code completion, refactoring), and an extensive test suite. The architecture is a monolith of multiple libraries and executables, with key entry points being the `swiftc` compiler driver, `sourcekitd` IDE service, and the Swift runtime libraries. Data flows from source code through AST, SIL, and LLVM IR to machine code, with module serialization/deserialization. External dependencies include LLVM, Clang, libdispatch, and ICU. The codebase demonstrates world-class engineering craftsmanship with well-defined abstractions and comprehensive testing.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
JuliaLang/julia ★ 49182 5982 APPLICATION

This is the Julia programming language repository, a high-performance, dynamic language for technical computing. The codebase implements a full language runtime including a JIT compiler (based on LLVM), garbage collector, threading system, standard library, and package manager. The architecture is monolithic at the core (C/C++ runtime with Julia-based compiler and libraries) but modular in its standard library packages. Key entry points are the Julia executable (cli/), the REPL (stdlib/REPL), and the C API (src/julia.h). Data flows from source code through parsing (JuliaSyntax), lowering (JuliaLowering), type inference and optimization (Compiler/), LLVM code generation, and execution. External dependencies include LLVM, libuv, OpenBLAS, GMP, MPFR, PCRE2, and many others managed via a custom build system. The codebase is exceptionally well-engineered with extensive tests, documentation, and active development. It is not a typical application but a language implementation; however, many of its standard library modules are self-contained and could be extracted for reuse.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
llvm/llvm-project ★ 39817 18277 APPLICATION

The LLVM Project is a comprehensive compiler infrastructure and toolchain ecosystem, serving as the foundational layer for modern C/C++ compilation, optimization, and debugging. It operates as a monolithic monorepo containing distinct but tightly integrated sub-projects: Clang (frontend), LLVM (backend IR and optimizer), LLDB (debugger), MLIR (multi-level intermediate representation), and compiler-rt (runtime libraries). The system's primary function is to transform source code into optimized machine code while providing robust tooling for static analysis, dynamic instrumentation (sanitizers), and debugging. It supports a vast array of architectures (x86, ARM, RISC-V, etc.) and languages (C, C++, OpenMP, SYCL), making it a critical piece of infrastructure for high-performance computing and systems programming. Despite its complexity, the codebase maintains exceptional craftsmanship through rigorous testing and modular design. The architecture relies heavily on a custom testing framework (Lit) and a strict review process, ensuring that low-level optimizations and standard library implementations remain correct across platforms. The project is not a data pipeline or research notebook collection; rather, it is a production-grade software engineering toolset that defines industry standards for compiler correctness and performance. Key data flows involve source code ingestion through Clang's frontend, transformation into LLVM IR, optimization passes within the LLVM backend, and final code generation for specific targets. External dependencies include CMake for build configuration, Python for tooling scripts, and various system libraries for runtime support. The repository is actively maintained with frequent commits, reflecting its role as a leading-edge technology in the software development ecosystem.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
carbon-language/carbon-lang ★ 33900 1684 APPLICATION

This repository is the compiler toolchain for the Carbon Language, an experimental successor to C++ focused on performance, C++ interoperability, and memory safety. The codebase implements a full compilation pipeline from lexing and parsing through semantic analysis (SemIR) to LLVM IR code generation, along with a language server (LSP), a formatting tool, and C++ interop via Clang integration. The architecture follows a phased compiler design with distinct modules for lex, parse, check, sem_ir, lower, and driver, all orchestrated through a Bazel build system. Key entry points include the main driver binary (`toolchain/driver/`) with subcommands like `compile`, `link`, `build`, `format`, and `language-server`, and the semantic checker (`toolchain/check/`) which handles type checking, generics, and impl resolution. The toolchain also features a robust diagnostics system, a custom high-performance hashtable, and an extensive file-based testing framework with automatic CHECK-line updates. The codebase is actively developed with frequent commits, extensive test coverage, and fuzz testing, though it remains experimental and subject to breaking changes.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nodejs/llhttp ★ 1941 237 APPLICATION

llhttp is a high-performance HTTP/1.1 parser written in TypeScript that generates optimized C source code via the llparse state machine compiler. It is the parser used by Node.js for handling HTTP requests and responses. The core logic is defined as a finite state machine in TypeScript, which is then compiled to C for maximum performance, achieving around 156% faster parsing than the legacy http_parser. The architecture separates the HTTP line parsing (method, URL, version) from header and chunked body parsing, with a dedicated URL state machine. The parser supports both request and response modes, configurable lenient parsing for non-compliant clients, and exposes callbacks for message begin/end, headers, body, and chunk events. It is distributed as both a native C library and a WebAssembly module, making it usable in diverse environments.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
capstone-engine/capstone ★ 9103 1741 APPLICATION

Capstone is a multi-architecture disassembly engine written in C, derived from LLVM's MC disassembler. It supports over 20 architectures including x86, ARM, AArch64, MIPS, PowerPC, RISC-V, and more. The core library provides a stable C API (cs_open, cs_disasm, cs_option, etc.) and includes per-architecture backends with mapping, disassembler, and instruction printer modules. The architecture is modular: each architecture has a Module.c that registers callbacks into a common cs_struct. The primary data flow is: user provides raw bytes and arch/mode, the engine selects the appropriate disassembler, decodes instructions into MCInst, then prints via instruction printer, optionally filling cs_detail with operand/register/group information. The repository also includes a CLI tool (cstool), extensive test suites (MC regression tests, cstest YAML-based detail tests), fuzzing harnesses, and an automated LLVM sync pipeline (auto-sync) that translates LLVM C++ disassembler code to C using tree-sitter patches. The codebase is well-structured with clean abstractions for operand models (MCInst/MCOperand), string output (SStream), and architecture-specific mapping. The auto-sync tooling is a notable engineering achievement, enabling systematic translation of LLVM backend code to C. Language bindings for Python, Java, OCaml, and others demonstrate the library's embeddability. The test infrastructure is comprehensive, covering both basic disassembly and detailed operand/register analysis. External dependencies are minimal for the core library (pure C), but the auto-sync tooling depends on Python, tree-sitter, clang-format, and lit. Overall, Capstone is a mature, actively maintained disassembly framework with high craftsmanship and reusable components.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
scala-native/scala-native ★ 4687 391 APPLICATION

Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime for Scala, enabling compilation of Scala code to native executables. The repository implements the full toolchain: a Scala compiler plugin (nscplugin) that emits an intermediate representation (NIR), a linker and optimizer (tools) that perform reachability analysis, inlining, and code generation targeting LLVM, and a native runtime (nativelib) with multiple garbage collectors (immix, commix, Boehm), memory management (zones, unsafe pointers), and platform abstractions. It also provides extensive reimplementations of the Java standard library (javalib), POSIX and Windows bindings (posixlib, windowslib), and a JUnit test framework adapted for native execution. The project is highly modular, with over 3500 files spanning compiler internals, runtime C code, and library ports. It is actively maintained with frequent commits and a large test suite covering JDK compatibility, concurrency, and platform-specific behavior. Notable technical depth includes a custom NIR serialization format, graph-coloring for trait dispatch, polymorphic inline caching, and concurrent garbage collection algorithms.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
trailofbits/CoBRA ★ 343 18 APPLICATION

CoBRA is a C++ library and CLI tool for simplifying mixed Boolean-arithmetic (MBA) expressions, commonly used in software obfuscation. It ingests expressions combining arithmetic (+, -, *) with bitwise (&, |, ^, ~) and shift operators and outputs a simplified equivalent form. The core engine uses a worklist orchestrator that coordinates 36+ passes, including signature-based transforms (CoB butterfly, ANF recovery), semilinear normalization with bit partitioning, decomposition (product, polynomial, template cores), ghost residual solving, and pattern matching. An optional Z3 verifier proves full-width equivalence. The tool can be used as a standalone CLI (`cobra-cli`), as an LLVM pass for automatic deobfuscation during compilation, or as a library (`cobra::Simplify()`). The codebase is well-structured with extensive test coverage (1195+ tests) and benchmark datasets from multiple research projects. While the core is tightly coupled internally, several generic utilities (Result type, profiling stubs, math helpers) are reusable independently.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
andreasfertig/cppinsights ★ 4521 266 APPLICATION

C++ Insights is a source-to-source transformation tool built on LLVM/Clang that reveals compiler-generated code by making implicit C++ mechanisms explicit. It processes C++ source through Clang's AST, applies transformations to show template expansions, lambda desugaring, coroutine state machines, lifetime tracking, and other low-level details, outputting valid C++ that illustrates what the compiler does internally. The architecture centers on AST traversal via custom visitors and code generators, with modular components for different transformation modes (standard, Cfront-style, coroutine-specific). Key entry points include Insights.cpp (main driver) and specialized generators like CoroutinesCodeGenerator.cpp. The tool serves an educational purpose, helping developers understand C++ language semantics through visualizing compiler transformations.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
avast/retdec ★ 8615 998 APPLICATION

RetDec is a retargetable machine-code decompiler based on LLVM, designed to convert binary executables (supporting ELF, PE, Mach-O, COFF, Intel HEX, and raw machine code) into high-level code (primarily C-like) and perform various analyses. The architecture is modular, consisting of stages: binary loading and format detection, conversion to LLVM IR, optimization and analysis on the IR, lifting to a high-level intermediate representation, and finally generation of readable code or other outputs (like JSON, debug information, etc.). Key entry points include the command-line tools `retdec-decompiler`, `retdec-fileinfo`, and `retdec-unpacker`, as well as a library interface for integration into other tools. The project demonstrates strong software engineering practices with a clear separation of concerns, extensive use of design patterns (such as visitor, factory, and smart pointers), and a focus on reusability. Notable reusable components include a thread-safe smart pointer implementation with weak pointer support and a comprehensive C type system that enables type-safe representation and manipulation of C language constructs. These components are sufficiently isolated to be extracted and used in other projects with minimal modification. Despite its strengths, the repository shows signs of technical drift due to delayed dependency updates and operates under a limited maintenance mode where issue responses may be delayed and only critical fixes are prioritized. However, the core functionality remains robust and well-tested, making it a reliable tool for reverse engineering tasks.

RATING: 8.6/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
github0null/eide ★ 1038 106 APPLICATION

EIDE (Embedded IDE) is a VS Code extension for embedded microcontroller development, supporting a wide range of architectures (8051, STM8, Cortex-M, RISC-V, MIPS) and toolchains (GCC, Arm Compiler, IAR, SDCC, COSMIC, LLVM). It provides project management (create, import from Keil/IAR/Eclipse), build system integration, flash programming (JLink, STLink, OpenOCD, pyOCD, probe-rs), and analysis tools (callgraph visualization, stack usage, memory map, CMSIS pack management). The extension includes a web-based configuration UI, a Model Context Protocol (MCP) server for headless tool access, and custom language support for embedded assembly/linker scripts. The architecture is a VS Code extension with TypeScript core, Vue.js webviews, and platform-specific .NET binaries for build/flash operations. While deeply functional and feature-rich, the codebase exhibits some monolithic files, vendored outdated dependencies (Bootstrap 4.3.1, Vue 2.6), and a high degree of coupling between project management and UI logic.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
joaoleal/CppADCodeGen ★ 202 45 APPLICATION

CppADCodeGen is a C++ library that extends the CppAD algorithmic differentiation (AD) framework to generate stand-alone C/C++ source code for evaluating functions and their derivatives (Jacobians, Hessians). It converts a CppAD operation tape into a computation graph and then emits efficient, compilable code via multiple backends: C, LaTeX, MathML, and DOT. The generated code can be compiled into dynamic libraries at runtime (Linux) or JIT-compiled using Clang/LLVM, enabling high-performance derivative computation in production environments. The library also includes a suite of algorithms for differential-algebraic equation (DAE) index reduction (Pantelides, Soares-Secchi, dummy derivatives), pattern detection for loop optimization, sparse derivative computation, and a thread pool for parallel evaluation. It is heavily used in scientific computing, simulation, and optimization contexts (e.g., chemical engineering models). The codebase is a header-only template library with optional runtime compilation components, distributed under dual EPL-1.0 and GPL-3.0 licenses.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
hellogcc/osdt-weekly ★ 207 22 DATA_RESEARCH

This repository is a long-running weekly newsletter archive (OSDT Weekly) for the Chinese open-source compiler and toolchain community. It aggregates and summarizes upstream development activity from GCC, LLVM, Binutils, GDB, glibc, QEMU, RISC-V, RT-Thread, and AI compiler projects, along with job postings and community event announcements. The content is entirely hand-curated Markdown files organized by year and date, with no executable code, build scripts, or automated pipelines. While it serves as a valuable historical record and community hub, it is not a software application or a traditional data research project with reproducible pipelines. The repository is actively maintained with weekly updates extending into 2026, but its reproducibility is low due to the lack of dependency management, structured data sources, or environment definitions.

RATING: 6.2/10 REPRO: 2.0/10 MAINT: active DRIFT: low
── end of results ──
$ submit: