The LLVM Lexicon

NOTE: This document is a work in progress!

Table Of Contents

- A -
ADCE
- B -
BURS
- C -
CSE
- D -
DSA | DSE
- I -
IPA | IPO
- L -
LICM | Load-VN
- P -
PRE
- R -
Reassociation
- S -
SCC | SCCP | SRoA | SSA

Definitions
- A -

ADCE
  Aggressive Dead Code Elimination

- B -

BURS
  Bottom Up Rewriting System - A method of instruction selection for code generation. An example is the BURG tool.

- C -

CSE
  Common Subexpression Elimination. An optimization that removes common subexpression compuation. For example `(a+b)*(a+b)` has two subexpressions that are the same: `(a+b)`. This optimization would perform the addition only once and then perform the multiply (but only if its compulationally correct/safe).

- D -

DSA
  Data Structure Analysis
DSE
  Dead Store Elimination

- I -

IPA
  Inter-Procedural Analysis. Refers to any variety of code analysis that occurs between procedures, functions or compilation units (modules).
IPO
  Inter-Procedural Optimization. Refers to any variety of code optimization that occurs between procedures, functions or compilation units (modules).

- L -

LICM
  Loop Invariant Code Motion
Load-VN
  Load Value Numbering

- P -

PRE
  Partial Redundancy Elimination

- R -

Reassociation
  Rearranging associative expressions to promote better redundancy elimination and other optimization. For example, changing (A+B-A) into (B+A-A), permitting it to be optimized into (B+0) then (B).

- S -

SCC
  Strongly Connected Component
SCCP
  Sparse Conditional Constant Propagation
SRoA
  Scalar Replacement of Aggregates
SSA
  Static Single Assignment