diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html
index 53c2b54d36a..8d3b7d9b4b3 100644
--- a/docs/CodeGenerator.html
+++ b/docs/CodeGenerator.html
@@ -1768,22 +1768,28 @@ bool RegMapping_Fer::compatible_class(MachineFunction &mf,
different register allocators:
- - Linear Scan — The default allocator. This is the
- well-know linear scan register allocator. Whereas the
- Simple and Local algorithms use a direct mapping
- implementation technique, the Linear Scan implementation
- uses a spiller in order to place load and stores.
-
- Fast — This register allocator is the default for debug
builds. It allocates registers on a basic block level, attempting to keep
values in registers and reusing registers as appropriate.
+ - Basic — This is an incremental approach to register
+ allocation. Live ranges are assigned to registers one at a time in
+ an order that is driven by heuristics. Since code can be rewritten
+ on-the-fly during allocation, this framework allows interesting
+ allocators to be developed as extensions. It is not itself a
+ production register allocator but is a potentially useful
+ stand-alone mode for triaging bugs and as a performance baseline.
+
+
- Greedy — The default allocator. This is a
+ highly tuned implementation of the Basic allocator that
+ incorporates global live range splitting. This allocator works hard
+ to minimize the cost of spill code.
+
- PBQP — A Partitioned Boolean Quadratic Programming (PBQP)
based register allocator. This allocator works by constructing a PBQP
problem representing the register allocation problem under consideration,
solving this using a PBQP solver, and mapping the solution back to a
register assignment.
-
The type of register allocator used in llc can be chosen with the