diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-06-15 21:58:33 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-06-15 21:58:33 +0000 |
| commit | 8a3eab9b20acb7193285bc31c9a3e23c7c7d7173 (patch) | |
| tree | 30b13ccea1740455dcef80b5cb4bdb6a70f54bc3 /docs/CodeGenerator.html | |
| parent | bf37850e4289308c7d74d720b1d9556c99b6719d (diff) | |
Remove the local register allocator.
Please use the fast allocator instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106051 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CodeGenerator.html')
| -rw-r--r-- | docs/CodeGenerator.html | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html index fbdc294e4a..8b1db7ac3d 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> |
