This repository is the main source code for the Rust programming language compiler (rustc) and its standard library. It is a monorepo containing the compiler, standard library (core, alloc, std), and development tools (clippy linter, miri interpreter, rustfmt formatter, rust-analyzer, rustdoc documentation generator). The compiler is implemented as a collection of Rust crates under compiler/, each handling a specific phase: lexing, parsing, AST construction, HIR lowering, type inference, borrow checking, MIR optimization, and code generation (LLVM, GCC, Cranelift backends). The architecture is modular with well-defined interfaces between phases, enabling incremental compilation and separate development of backends. The primary entry point is compiler/rustc/src/main.rs, which drives the compilation pipeline. Source code flows through the lexer, parser, AST, HIR, MIR, and finally to code generation. The borrow checker (rustc_borrowck) performs region-based static analysis for memory safety. The type inference engine (rustc_infer) handles complex type relationships including generics, traits, and higher-ranked types. The MIR optimization framework (rustc_mir_transform) applies numerous passes such as constant propagation, dead store elimination, and GVN. External dependencies include LLVM for the primary code generation backend, libgccjit for the GCC backend, and various system libraries for platform-specific functionality. The standard library provides OS abstractions, synchronization primitives, I/O, and collections. The repository also includes extensive test suites (tests/) covering compiler diagnostics, code generation, optimization, and tool behavior.
This repository is a comprehensive educational and research resource for low-level systems programming, focusing on Linux kernel modules, baremetal programming, CPU architectures (x86_64, ARM, AArch64), and emulation with QEMU and gem5. It contains hundreds of self-contained examplesβfrom trivial 'hello world' kernel modules to advanced topics like IRQ handling, RCU stalls, inline assembly patterns, CPU pipeline hazards, and floating-point arithmetic. The repository is not a production application but rather a knowledge base with automated build and test infrastructure that systematically verifies correctness across multiple architectures and emulators. It also serves as a reference for gem5 simulation, including checkpoint/restore, performance counters, and benchmarking (e.g., Dhrystone, cache performance). While primarily a research/teaching tool, it includes a reusable Python automation framework (CLI generators, parallel test runners, path-based property configuration) that could be extracted for other projects. The repository is hybrid in nature: its core content is data/research (experimental, analytical), but it incorporates application-quality infrastructure.
This repository is a large, curated collection of technical PDF documents primarily focused on systems programming, computer architecture, operating systems, algorithms, and low-level software engineering. It contains thousands of papers, manuals, specifications, and tutorials from sources like Intel, AMD, NVIDIA, Microsoft, and academic researchers. The repo also includes a small static site generator in `.site/` that produces a browsable web interface for the collection. The primary value is the curated set of high-quality reference materials, not the minimal code. The repository is a powerful resource for engineers and researchers looking for deep technical knowledge, especially in areas like x86 assembly, GPU computing, memory management, and concurrent programming.