Tag: #compiler
Writing on GPUs, LLMs, MLOps, Kubernetes — and mindset · 41 posts
[Compiler] 18. Interprocedural Analysis and Pointer Analysis
Covers the necessity of interprocedural analysis, call graphs, context sensitivity, pointer analysis (Andersen vs Steensgaard), alias analysis, flow-sensitive/insensitive analysis, and interprocedural data-flow analysis.
2026-03-19 · 11 min read #compiler#cs-fundamentals[Compiler] 15. Loop Optimization and Code Motion
Covers dominators and dominator trees, natural loops, loop-invariant code detection and motion, induction variable detection and elimination, strength reduction within loops, and loop unrolling techniques.
2026-03-19 · 11 min read #compiler#cs-fundamentals[Compiler] 17. Parallelism Detection and Loop Transformations
Covers types of data parallelism and task parallelism, array dependence analysis, loop transformations (interchange, tiling, fusion, fission), basics of affine transformation theory, and locality optimization.
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 12. Code Generation Algorithms and Register Allocation
Covers the simple code generation algorithm, register/address descriptors, DAG-based code generation, tree-based optimal code generation, graph coloring for register allocation, and peephole optimization.
2026-03-19 · 9 min read #compiler#cs-fundamentals[Compiler] 14. Data-Flow Analysis Framework
Covers the basic principles of data-flow analysis, reaching definitions, live variable analysis, available expressions analysis, iterative algorithms, gen/kill sets, and the basics of lattice theory.
2026-03-19 · 11 min read #compiler#cs-fundamentals[Compiler] 09. Intermediate Code Generation - Three-Address Code and Type Checking
Covers syntax tree variants (DAG), three-address code (quadruples, triples, SSA), type expressions and type checking, type conversion, and control flow translation with backpatching.
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 11. Code Generation - Basic Blocks and Flow Graphs
Covers the key issues in code generator design, basic blocks, and flow graph concepts. Examines instruction selection, register allocation, addressing modes in target code, and DAG representation.
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 06. Syntax Analysis (1) - Top-Down Parsing and LL Parsers
Review the role of parsers and context-free grammars, and cover ambiguity elimination, left recursion elimination, and left factoring techniques. Explains recursive descent parsers, predictive parsers, FIRST/FOLLOW sets,
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 08. Syntax-Directed Translation - SDD and SDT
Covers the concepts of synthesized and inherited attributes, dependency graphs and evaluation order, S-attributed and L-attributed definitions, and implementation methods for syntax-directed translation schemes (SDT).
2026-03-19 · 8 min read #compiler#cs-fundamentals[Compiler] 03. Building a Simple Syntax-Directed Translator
Learn about grammar definition, derivation, parse trees, and ambiguity, then build a simple translator using operator precedence, associativity, syntax-directed translation, postfix notation, and synthesized attributes.
2026-03-19 · 8 min read #compiler#cs-fundamentals[Compiler] 20. Modern Compiler Development and Applications
Covers LLVM architecture, GCC vs LLVM vs Clang comparison, JIT compilation, compilation challenges of modern language features, compiler technology in security, AI/ML compilers (XLA, TVM), and WebAssembly compilation.
2026-03-19 · 11 min read #compiler#cs-fundamentals[Compiler] 05. Finite Automata and Lexical Analyzer Implementation
Covers the concepts of NFA and DFA, Thompson construction from regular expressions to NFA, subset construction from NFA to DFA, DFA minimization, and automatic lexical analyzer generation using the Lex tool.
2026-03-19 · 9 min read #compiler#cs-fundamentals[Compiler] 02. Programming Language Basics and Compiler Technology Applications
Review the evolution of programming languages, static/dynamic distinctions, scope rules, and parameter passing mechanisms, and explore how compiler technology is applied to IDE tools and security analysis.
2026-03-19 · 6 min read #compiler#cs-fundamentals[Compiler] 19. SSA Form and Modern Compiler Optimization
Covers SSA (Static Single Assignment) form concepts, phi functions, SSA construction using dominance frontiers, SSA-based optimizations (constant propagation, dead code elimination, global value numbering), and SSA decon
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 16. Instruction-Level Parallelism and Scheduling
Covers instruction-level parallelism (ILP) concepts, pipelining and superscalar processors, list scheduling, software pipelining, the relationship between register allocation and scheduling, and VLIW architecture.
2026-03-19 · 9 min read #compiler#cs-fundamentals[Compiler] 13. Machine-Independent Code Optimization Basics
Covers common subexpression elimination, dead code elimination, constant folding, loop-invariant code motion, induction variables, strength reduction, and the basics of data-flow analysis.
2026-03-19 · 9 min read #compiler#cs-fundamentals[Compiler] 10. Runtime Environments - Stack, Heap, and Garbage Collection
Covers memory organization during program execution, stack-based activation records and calling sequences, non-local variable access methods (access links, displays), heap management and fragmentation, and major garbage
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 07. Syntax Analysis (2) - Bottom-Up Parsing and LR Parsers
Covers the core concepts of Bottom-Up parsing (reduction, handle, shift-reduce), and explores SLR, canonical LR(1), LALR parsing techniques and the Yacc parser generator.
2026-03-19 · 10 min read #compiler#cs-fundamentals[Compiler] 04. Lexical Analysis - Tokens, Patterns, and Regular Expressions
Explore the role of the lexical analyzer and the concepts of tokens, patterns, and lexemes, and learn how to specify tokens using regular expressions and regular definitions.
2026-03-19 · 8 min read #compiler#cs-fundamentals[Compiler] 01. Compiler Structure and How It Works
Explore the overall structure of a compiler and the roles of each phase (lexical analysis, syntax analysis, semantic analysis, intermediate code generation, optimization, code generation), along with the symbol table and
2026-03-19 · 7 min read #compiler#cs-fundamentals