diff options
Diffstat (limited to 'docs/CodeGenerator.html')
-rw-r--r-- | docs/CodeGenerator.html | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html index ec050bf..4071787 100644 --- a/docs/CodeGenerator.html +++ b/docs/CodeGenerator.html @@ -1594,22 +1594,22 @@ bool RegMapping_Fer::compatible_class(MachineFunction &mf, different register allocators:</p> <ul> - <li><i>Simple</i> — This is a very simple implementation that does not - keep values in registers across instructions. This register allocator - immediately spills every value right after it is computed, and reloads all - used operands from memory to temporary registers before each - instruction.</li> - - <li><i>Local</i> — This register allocator is an improvement on the - <i>Simple</i> implementation. It allocates registers on a basic block - level, attempting to keep values in registers and reusing registers as - appropriate.</li> - <li><i>Linear Scan</i> — <i>The default allocator</i>. This is the well-know linear scan register allocator. Whereas the <i>Simple</i> and <i>Local</i> algorithms use a direct mapping implementation technique, the <i>Linear Scan</i> implementation uses a spiller in order to place load and stores.</li> + + <li><i>Fast</i> — 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.</li> + + <li><i>PBQP</i> — 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.</li> + </ul> <p>The type of register allocator used in <tt>llc</tt> can be chosen with the @@ -1617,9 +1617,9 @@ bool RegMapping_Fer::compatible_class(MachineFunction &mf, <div class="doc_code"> <pre> -$ llc -regalloc=simple file.bc -o sp.s; -$ llc -regalloc=local file.bc -o lc.s; $ llc -regalloc=linearscan file.bc -o ln.s; +$ llc -regalloc=fast file.bc -o fa.s; +$ llc -regalloc=pbqp file.bc -o pbqp.s; </pre> </div> @@ -2162,7 +2162,7 @@ MOVSX32rm16 -> movsx, 32-bit register, 16-bit memory <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ + Last modified: $Date: 2010-06-15 23:58:33 +0200 (Tue, 15 Jun 2010) $ </address> </body> |