# llvm-project | LLVM | Knowledge Base | Instagit

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

GitHub Stars: 40.4k

Repository: https://github.com/llvm/llvm-project

---

## Articles

### [LLVM Codegen Options and Their Impact on Instruction Selection](/llvm/llvm-project/what-are-llvm-codegen-options-and-how-do-they-affect-instruction-selection)

Explore LLVM codegen options and their impact on instruction selection. Discover how TargetOptions and CodeGenOptions influence the IR to machine instruction conversion process.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Debug LLVM Using Crash Dumps: A Step-by-Step Guide](/llvm/llvm-project/how-do-i-debug-llvm-itself-using-crash-dumps)

Learn to debug LLVM with crash dumps. Use core dumps in LLDB or GDB to inspect compiler state after a fatal signal. Follow our step-by-step guide for effective LLVM debugging.

- Tags: how-to-guide
- Published: 2026-09-11

### [How to Use LLVM's C API (LLVM-C) to Build Custom Tools: A Complete Guide](/llvm/llvm-project/how-do-i-use-llvm-s-c-api-for-custom-tools)

Master LLVM's C API (LLVM-C) to build custom tools. This guide covers IR generation, JIT compilation, and code execution using key LLVM-C functions. Start building now!

- Tags: how-to-guide
- Published: 2026-09-11

### [How to Build LLVM with Link Time Optimization (LTO)](/llvm/llvm-project/how-do-i-build-llvm-with-link-time-optimization-lto)

Learn how to build LLVM with Link Time Optimization LTO using CMake options like Thin or Full. Ensure you use LLD or Gold for effective LTO builds in your llvm project.

- Tags: how-to-guide
- Published: 2026-09-11

### [Polly Polyhedral Framework: LLVM's Mathematical Loop Optimizer](/llvm/llvm-project/what-is-the-polly-polyhedral-framework-for-optimizing-loops)

Discover Polly, LLVM's polyhedral optimizer. Transform loops mathematically for advanced optimizations like tiling and automatic parallelization on SCoPs. Boost your code's performance.

- Tags: deep-dive
- Published: 2026-09-11

### [How Does libc++ Compare to Other C++ Standard Libraries?](/llvm/llvm-project/how-does-libc-compare-to-other-c-standard-libraries)

Discover how libc++ stands out from GNU libstdc++ and Microsoft STL. LLVM's modern C++ library offers better C++20/23 support, configurable hardening, and LLVM toolchain integration.

- Tags: comparison
- Published: 2026-09-11

### [LLVM Performance Profiling with `perf` and Intel VTune: A Complete Guide](/llvm/llvm-project/what-are-llvm-performance-profiling-options-with-perf-or-vtune)

Master LLVM performance profiling with Linux perf and Intel VTune. Learn to convert perf recordings with llvm-profgen and analyze JIT-compiled code with VTune for optimal performance.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Enable Z3 Solver Support in LLVM for Symbolic Execution](/llvm/llvm-project/how-do-i-enable-z3-solver-support-in-llvm-for-symbolic-execution)

Learn how to enable Z3 solver support in LLVM for symbolic execution. Configure your build with LLVM_ENABLE_Z3_SOLVER=ON and streamline your static analysis workflow.

- Tags: how-to-guide
- Published: 2026-09-11

### [What Is MLIR and How Does It Relate to LLVM: A Technical Deep Dive](/llvm/llvm-project/what-is-mlir-and-how-does-it-relate-to-llvm)

Discover MLIR, LLVM's flexible compiler infrastructure. Learn how MLIR's modular dialects enable advanced compiler front-ends, optimizers, and code generators. Dive deep into this LLVM sub-project.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Use LLVM TableGen for Defining Instruction Sets: A Complete Guide](/llvm/llvm-project/how-do-i-use-llvm-s-tablegen-for-defining-instruction-sets)

Learn to use LLVM TableGen to define instruction sets in .td files and generate C++ backend code with the llvm-tblgen tool. Master this essential LLVM feature today.

- Tags: how-to-guide
- Published: 2026-09-11

### [How LLVM Bitcode Format Works for Serialization: A Deep Dive into IR Module Encoding](/llvm/llvm-project/how-does-llvm-s-bitcode-format-work-for-serialization)

Discover how LLVM bitcode serializes IR modules with a hierarchical block and record structure. Learn about efficient storage, transmission, and lazy loading.

- Tags: deep-dive
- Published: 2026-09-11

### [LLDB Debugger Architecture and Clang AST Integration: A Technical Deep Dive](/llvm/llvm-project/what-is-the-lldb-debugger-architecture-and-how-does-it-interact-with-clang-asts)

Explore the LLDB debugger architecture and its seamless integration with Clang ASTs. Understand how LLDB parses user expressions and resolves types for efficient debugging.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Write an LLVM Backend for a Custom Target Using TableGen](/llvm/llvm-project/how-do-i-write-an-llvm-backend-for-a-custom-target-using-tablegen)

Learn to write an LLVM backend for a custom target with TableGen. Define registers and instructions in TD files, then use C++ to generate compiler source code.

- Tags: how-to-guide
- Published: 2026-09-11

### [LLVM Built-in Sanitizers: A Complete Guide to Enabling AddressSanitizer](/llvm/llvm-project/what-are-llvm-built-in-sanitizers-and-how-do-i-enable-addresssanitizer)

Learn how to enable LLVM AddressSanitizer to detect memory errors like use-after-free and buffer overflows in your C++ code using the -fsanitize=address flag.

- Tags: how-to-guide
- Published: 2026-09-11

### [How the LLVM JIT Compiler Works: Embedding ORC v2 in C++ Applications](/llvm/llvm-project/how-does-the-llvm-jit-compiler-work-and-how-can-i-embed-it)

Learn how the LLVM JIT compiler works by embedding ORC v2 in C++ applications. Compile LLVM IR to machine code at runtime and get callable function pointers.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Customize LLVM's Pass Pipeline: A Complete Guide to Optimization Passes](/llvm/llvm-project/what-is-llvm-s-pass-pipeline-and-how-can-i-customize-optimization-passes)

Customize LLVM's pass pipeline with PassBuilder. Learn to inject custom optimization passes programmatically or via command line for enhanced compiler performance.

- Tags: how-to-guide
- Published: 2026-09-11

### [How to Integrate LLVM into Your Own Project Using CMake](/llvm/llvm-project/how-do-i-integrate-llvm-into-my-own-project-using-cmake)

Easily integrate LLVM into your CMake project. Learn to use find_package LLVM, include directories, and link libraries for seamless integration.

- Tags: how-to-guide
- Published: 2026-09-11

### [LLVM Built-in Assembler vs GNU Assembler: Key Differences Explained](/llvm/llvm-project/what-is-the-difference-between-llvm-s-built-in-assembler-and-the-gnu-assembler)

Explore the key differences between LLVM's built-in assembler and GNU assembler. Understand how LLVM-as and LLVM-mc differ from GNU as for your development needs.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Build LLVM with Cross-Compilation Support for Multiple Target Architectures](/llvm/llvm-project/how-do-i-build-llvm-with-cross-compilation-support-for-multiple-target-architectures)

Learn to build LLVM with cross-compilation for multiple targets. Use a CMake toolchain file and the CrossCompile.cmake module to configure native host tools and orchestrate your build.

- Tags: how-to-guide
- Published: 2026-09-11

### [What Is LLVM IR and How to Optimize It Programmatically](/llvm/llvm-project/what-is-llvm-ir-and-how-can-i-optimize-it-programmatically)

Understand LLVM IR, the compiler infrastructure's intermediate representation. Learn to programmatically optimize LLVM IR using the PassBuilder API to create custom C++ transformation pipelines.

- Tags: deep-dive
- Published: 2026-09-11

### [How LLVM Target-Independent Code Generation Works: SelectionDAG vs GlobalISel](/llvm/llvm-project/how-does-llvm-s-target-independent-code-generation-work-with-selectiondag-and-globalisel)

Explore LLVM target-independent code generation. Understand the differences between the legacy SelectionDAG and modern GlobalISel pipelines for transforming LLVM-IR into machine code.

- Tags: deep-dive
- Published: 2026-09-11

### [How to Write a Custom LLVM Pass: A Complete Guide to the New Pass Manager](/llvm/llvm-project/how-to-write-custom-llvm-pass)

Learn to write a custom LLVM pass by deriving from PassInfoMixin, implementing run(), and registering with PassBuilder. Master the new LLVM Pass Manager for efficient code analysis and transformation.

- Tags: how-to-guide
- Published: 2026-09-09

### [What Are LLVM Passes? Architecture, Types, and Implementation Guide](/llvm/llvm-project/what-are-llvm-passes)

Discover LLVM passes, the modular units transforming LLVM IR. Learn their architecture, types, and how pass managers orchestrate optimizations for your compiler.

- Tags: architecture
- Published: 2026-09-09

### [What is LLVM IR? A Deep Dive into the LLVM Intermediate Representation](/llvm/llvm-project/what-is-llvm-ir)

Understand LLVM IR, the universal bridge in LLVM compiler infrastructure. Explore this language-agnostic representation and its role in compiling code.

- Tags: deep-dive
- Published: 2026-09-09

### [How to Run LLVM Tests: Unit, Regression, and Lit Execution Guide](/llvm/llvm-project/how-to-run-llvm-tests)

Learn how to run LLVM tests including unit and regression tests with ninja. Discover how to execute individual tests using llvm-lit for efficient debugging and validation. Build LLVM with assertions enabled.

- Tags: how-to-guide
- Published: 2026-09-09

### [What Are the Dependencies for Building LLVM? Essential Tools and Libraries Explained](/llvm/llvm-project/what-are-dependencies-for-building-llvm)

Discover the essential dependencies for building LLVM. Learn about required tools like CMake, C++ compilers, Git, Python, and recommended libraries for optimal performance.

- Tags: how-to-guide
- Published: 2026-09-09

### [How to Set Up a Development Environment for LLVM: A Complete Guide](/llvm/llvm-project/how-to-set-up-development-environment-for-llvm)

Set up your LLVM development environment quickly. This guide details cloning llvm-project, configuring with CMake and Ninja, and enabling Clang and LLD projects for efficient LLVM development.

- Tags: getting-started
- Published: 2026-09-09

### [What Is the LLVM Build System? A Complete Guide to CMake Configuration](/llvm/llvm-project/what-is-the-llvm-build-system)

Discover the LLVM build system, a powerful CMake infrastructure for compiling core libraries and subprojects. Learn how to configure LLVM efficiently with this comprehensive guide.

- Tags: how-to-guide
- Published: 2026-09-09

### [What Are the Main Sub-Projects Within the LLVM Monorepo?](/llvm/llvm-project/what-are-the-main-sub-projects-within-llvm-monorepo)

Explore the core LLVM sub-projects like Clang, LLDB, libc++, and MLIR within the llvm-project monorepo. Understand their roles and organization.

- Tags: overview
- Published: 2026-09-09

### [How to Build LLVM from Source: A Complete CMake Guide](/llvm/llvm-project/how-to-build-llvm-from-source)

Learn how to build LLVM from source using CMake. Follow our complete guide to configure, compile, and install LLVM efficiently for your development needs.

- Tags: how-to-guide
- Published: 2026-09-09

