Showing posts with label compilation. Show all posts
Showing posts with label compilation. Show all posts

Monday, 9 February 2026

What is Ready to Run (R2R) Compilation in Visual Studio?

Ready-to-run compilation is a feature in .NET that improves startup performance by compiling them in Ready-to-run format. This is a form of AOT (ahead-of-time) compilation that reduces work for the JIT compiler as the application loads. Your binary contains IL and precompiled IL. It only works if you target specific environments such as Linux x64 or Windows x64.

Friday, 12 December 2025

LLVM Concepts - Optimizable IL from SSA Approach

What is LLVM?

LLVM ("Low Level Virtual Machine") is a collection of modular and reusable compiler and toolchain technologies (you could call it a "compiler infrastructure framework" or a "framework of reusable components to build compilers"). 

LLVM was born from research work at the University of Illinois.

How does LLVM tackle the compilation problem?

LLVM analyses a program and renders it into intermediate language.

The intermediate language (IL) is constrained by static single assignment (or SSA), where variables are assigned only once - enabling aggressive optimization. 

The IL is an abstract RISC-like instruction set with additional information - a major feature being type information.  A detailed guide can be found here.  It is designed to be human-readable. Note that LLVM documentation does not refer tot the language as an IL but rather an IR, or intermediate representation.

A Core Tenent of LLVM - "Lifelong" Program Analysis and Transformation

One of the stated goals of LLVM is to make "lifelong program analysis and transformation available for arbitrary software".