Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Register allocation


In the News (Tue 14 Feb 12)

  
  REGISTER ALLOCATION - Definition
The phase of a compiler that determines which values will be placed in registers.
Register allocation may be combined with register assignment.
This problem can be shown to be isomorphic to graph colouring by relating values to nodes in the graph and registers to colours.
www.hyperdictionary.com /dictionary/register+allocation   (80 words)

  
  Register allocation - Wikipedia, the free encyclopedia
In compiler optimization, register allocation is the process of multiplexing a large number of target program variables onto a small number of CPU registers.
Like most other compiler optimizations, register allocation is based on the result of some compiler analysis, mostly the result of live variable analysis from data flow analysis.
Ranges with short lifetimes are assigned to registers, whereas those with long lifetimes tend to be spilled, or reside in memory.
en.wikipedia.org /wiki/Register_allocation   (710 words)

  
 Register Allocation
Figure 9 shows the overall performance improvement when we use register allocation instead of copying values from and to memory at each operation.
The maximum speedup factor we achieve by enabling register allocation is about 3 for compress, but generally every benchmark profits from passing the arguments in registers.
The reason is that by using our simple local register allocation scheme we do not always pick the theoretically optimal allocation, and therefore performance may slow down by a nuance if the register allocation that uses only one register less was closer to the optimal solution.
www.usenix.org /events/jvm02/full_papers/jacob/jacob_html/node14.html   (296 words)

  
 Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic ...   (Site not responding. Last check: 2007-11-01)
If a register is unavailable, an intermediate result must either be loaded to main memory where the bulk of programs and data are located, or loaded from said main memory into a register when a register becomes available.
It is an object of this invention to allocate and assign registers optimally during the compilation of source into executable code in either scalar or vector processors, and thereby minimize the number of spills (the number of references to and from memory).
The objects are satisfied by a method for allocating registers and optimizing said allocation local to regions of code without branches termed "basic blocks" during the optimization phase of the compiling of source into executable code in either a scalar or vector processor.
www.freepatentsonline.com /4782444.html   (4643 words)

  
 Register allocation and code spilling using interference graph coloring patent invention   (Site not responding. Last check: 2007-11-01)
The register allocation process is treated as a graph-coloring problem, such that an interference graph is constructed for the software program, the graph is simplified, and an R-coloring the interference graph to the extent possible is attempted.
In general, in using this technique, the register allocation portion of a compiler is applied to intermediate code that references an unlimited number of registers referred to as virtual registers.
When the allocator has modified the program sufficiently to permit a K-coloring, it proceeds to the third phase in which colors are assigned to the nodes in the stack.
www.freshpatents.com /Register-allocation-and-code-spilling-using-interference-graph-coloring-dt20050217ptan20050039175.php   (2660 words)

  
 register allocation at The Weblog of Titus Barik
register allocation at The Weblog of Titus Barik
Register allocation is the phase of the compiler that determines which values will be placed in registers.
Register allocation is tricky enough as it is without extra optimizations, so we examine a vanilla implementation, ignoring spilling, coalescing, and move-move operations.
www.barik.net /archive/2004/09/01/165728   (273 words)

  
 RegisterAllocation - GCC Wiki
There are two files that assist in register allocation: [gccsource:local-alloc.c] that does local register allocation, and [gccsource:global.c] that performs some sort of priority coloring register allocation.
The job of the register allocator is to ensure that the machine resources are used optimally.
This generally has no effect on register allocation, as long as the constraints matched by the pattern are satisfied.
gcc.gnu.org /wiki/RegisterAllocation   (1554 words)

  
 COMPUTER SCIENCE TECHNICAL REPORT ABSTRACTS   (Site not responding. Last check: 2007-11-01)
Register allocation must deal with high register pressure well so that the performance gain of the code transformations is not thrown away by the increased overhead operations.
Fusion-style register allocation starts off with constructing regions and applies graph fusion along control-flow edges to combine the interference graphs of regions into the interference graph for the whole function.
Fusion-based register allocation is sensitive to the ordering of control-flow edges that connect regions.
reports-archive.adm.cs.cmu.edu /anon/1997/abstracts/97-135.html   (360 words)

  
 Comp.compilers index for Feb 1990
Re: Register allocation in the presence of pointers jac@paul.rutgers.edu (1990-02-22)
Register allocation in the presence of pointers worley@compass.com (1990-02-22)
compilers, register allocation, ... preston@rice.edu (Preston Briggs) (1990-02-11)
compilers.iecc.com /comparch/index/1990-02   (242 words)

  
 12.1 Register Allocation Using the Interference Graph
If we view each register as a different color, then the register allocation problem for the interference graph is equivalent to the graph coloring problem where we try to assign one of the n different colors to graph nodes so that no two adjacent nodes have the same color.
The register allocation algorithm uses a stack of graph nodes to insert all nodes of the interference graph one at a time.
This is a good thing to do since it reduces the number of registers needed and it removes the move instructions, but it may be bad since it increases the number of neighbors of the merged nodes, which may lead to an irreducible graph and a potential spilling.
lambda.uta.edu /cse5317/notes/node42.html   (854 words)

  
 USENET News article: Re: Register Allocation
All 16 general purpose registers are in a memory block pointed by a single processor register the workspace pointer.
Saving the registers is then just a change of the workspace pointer; pointers that point to registers in previous stack frames still point to the correct object.
On the 9995 the registers can be located on on-chip RAM, so the performance is not affected by the cost of external memory accesses.
www.spinellis.gr /news/27.html   (253 words)

  
 EPA: Federal Register: Allocation of Drinking Water State Revolving Fund Monies
Beginning in fiscal year 1998, EPA established a formula which allocates funds to the States based directly on each State's proportional share of the total State need, provided that each State receives a minimum share of one percent of the funds available to the States, as required by the SDWA.
Allocation Method On October 31, 1996, EPA solicited public comment on six options for using the results of the first Drinking Water Infrastructure Needs Survey to allocate DWSRF monies to the States (61 FR 56231).
Consideration of Alternative Allocation Methods The method that EPA uses to allocate funds to States is based on each State's share of the total State need.
www.epa.gov /fedrgstr/EPA-WATER/2001/May/Day-18/w12579.htm   (2179 words)

  
 [No title]   (Site not responding. Last check: 2007-11-01)
It is profile driven and besed on scope of intervals.
Restrict register conflict graph of loops and conditionals to be an interval graph to locate clique separators.
[Register allocation problem for software pipeline is formulated and several algorithms (best fit, first fit, end fit, adjacency ordering, conflict ordering) have been tested.
compilers.cs.uec.ac.jp /compeg/cb-regAlloc.txt   (1387 words)

  
 Bits and pieces : Weblog
The register window makes the call stack trace explicit, straightfoward and transparent, thus makes it fairly simple to do a stack unwind and do some tricks in the exception handling code.
Another hidden benefit is the simpler register allocation in the compiler.
Because of the register window and non-executable stack, it is quite a bit more difficult to exploit the buffer overflow vulnerability on SPARC, although it doesn't make exploiting impossible.
blogs.sun.com /roller/page/seongbae?entry=hidden_benefits_of_the_register   (202 words)

  
 Citations: Advanced Register Allocation - Steenkiste (ResearchIndex)   (Site not responding. Last check: 2007-11-01)
....allocate registers for one procedure at a time in a bottom up traversal of the procedure call graph, and avoid using registers used by the descendant procedures we do not need to save and restore registers around procedure calls.
Register allocation is in many ways more similar to the optimal buffer allocation problem we are considering.
Such situations require the register allocator to insert move and or save constructs until the constraints can be solved.
citeseer.ist.psu.edu /context/14200/0   (824 words)

  
 CALCM - Computer Architecture Lab at Carnegie Mellon   (Site not responding. Last check: 2007-11-01)
Register allocation is one of the most important and necessary optimizations that compilers perform.
In this talk I will discuss several limitations of traditional graph-coloring register allocation when applied to irregular architectures such as the x86 and 68k processors.
These architectures are characterized by limited numbers of registers, register usage restrictions, memory operands, and variable length instructions.
www.ece.cmu.edu /CALCM/seminar/042004.html   (126 words)

  
 2005 GCC Developers' Summit, June 21 ~ 24, 2005, Ottawa, Canada
allocation which became a bigger problem after introducing the new IL (Tree-SSA) to GCC and the optimizations performed on it.
register or stack memory to an allocno, coalescing a pair of allocnos,
GCC register allocation passes and to use the proposed register
www.gccsummit.org /2005/view_abstract.php?content_key=14   (204 words)

  
 Register allocation - TheBestLinks.com - CPU, Compiler, Computer program, Random access memory, ...
Register allocation, CPU, Compiler, Computer program, Random access memory...
In compilers, register allocation is the process of multiplexing a large number of target program variables onto a small number of CPU registers.
Register allocation is the process of planning this in advance when constructing machine code, with the aim to keep execution of the target program as fast as possible (usually by keeping the number of loads and stores between RAM and registers as small as possible).
www.thebestlinks.com /Register_allocation.html   (187 words)

  
 Iterated Register Coalescing in VPO
Graph coloring register allocation is the dominant paradigm for register allocation.
The iterated register coalescing register allocator proposed by Lal George and Andrew Appel follows safe, yet aggressive heuristics to minimize copy instructions while performing register allocation.
The project also studies the effect of repeating register assignment and register allocation until the resultant code cannot be improved by other compiler optimizations.
www.cs.virginia.edu /colloquia/event334.html   (94 words)

  
 Federal Register: Allocation of Royalties   (Site not responding. Last check: 2007-11-01)
It is then the task of the Register to review the Panel's report and make her recommendation to the Librarian as to whether it is arbitrary or contrary to the provisions of the Copyright Act and, if so, whether and in what manner, the Librarian should substitute his own determination.
Absent a showing of bad faith, the remedy for failure to comply with the regulation is an order from the Register, directing the offending party to amend his or her petition and include the proper citations to the relevant sections of the party's proposed findings of fact and conclusions of law.
For the reasons stated in the Register's recommendation, the Librarian is exercising his authority under 17 U.S.C. 802(f) and is issuing an order announcing the allocation of the royalty fees in the 1995, 1997 and 1998 Musical Works Funds.
www.copyright.gov /fedreg/2001/66fr9360.html   (4570 words)

  
 Register allocation
Then every use of a virtual register in your "infinite register set" will need spill code to be generated which is an overhead of approximately 1-store and 1-load for every register access.
Unless you are dealing with a trivial C program, number of registers is probably not the most important thing that impacts the error range of your estimate, a good optimizer (which will include a good global register allocator) will probably impact it a lot more.
No doubt the speed with which a register can be accessed is much higher than a first-level cache access, but the performance difference between a good and bad allocation strategy may not amount to a lot [and that is a guess].
www.codecomments.com /Compilers/message236733.html   (1361 words)

  
 Google Groups: perl.perl6.internals
behaviour is for allocator, when it's given conflicts.
And indeed, if there is a conflict the register shouldn't get a color.
it depends on the register allocator which register C and C have.
www.xrl.us /dy54   (1166 words)

  
 Wimmer - Linear Scan Register Allocation for the Java HotSpot™ Client Compiler
Register allocation is the task of assigning local variables and temporary values to physical registers of a processor.
In the context of this master thesis, a research version of the compiler was extended with the linear scan algorithm for register allocation.
Benchmark results prove that the linear scan algorithm is a good tradeoff if both compilation time and runtime of a program matter: The compilation time is only slightly higher in comparison with the old local heuristic for register allocation, but the resulting code executes about 30% faster.
www.ssw.uni-linz.ac.at /Research/Papers/Wimmer04Master   (507 words)

  
 Embedded Systems
An explicit add instruction for the address register must be prior to the loop and in line (4), but this takes less cycles than the code given in the original program.
This is achieved by replacing the increment of the address register and the prior address operation by a cheaper addressing mode (also known as strength reduction).
Modeling register banks with overlapping memory and constraints which are imposed by the instruction set, e.g indexed modes where only certain register pairs are allowed, are very challenging.
www.complang.tuwien.ac.at /scholz/embedded.html   (892 words)

  
 The LaTTe Virtual Machine Memos   (Site not responding. Last check: 2007-11-01)
At the same time, we must allocate registers wisely so as to obviate copies corresponding to pushes and pops between stack and local variables.
However, we do not want to use graph-coloring register allocation with copy coalescing because while the quality would be good, the speed would be very slow.
The unit of register allocation is extended basic block, and we use a local lookahead to reduce copies.
latte.snu.ac.kr /doc/latte_performance.shtml   (978 words)

  
 IMCC operation -
$I0 are assigned a physical parrot register depending on the life range of these variables.
During the usage of a PASM register this register will be not get assigned to.
This means that at this point the life range of the symbol ends and a new life range is started, which allows the allocation of a different register to the same variable or the same register to a different variable.
www.parrotcode.org /docs/imcc/operation.html   (562 words)

  
 Home Page of Charles N. Fischer   (Site not responding. Last check: 2007-11-01)
Careful register allocation is vital in generating code -- unnecessary loads and stores must be avoided.
The ultimate in register allocation is interprocedural register allocation in which all the procedures of a program are analyzed.
Other models that explicitly quantify the likelihood and benefit of register residence are very attractive.
www.cs.wisc.edu /~fischer/fischer.html   (796 words)

  
 Gforth Manual - Assembler and Code Words
In the assembly code you will want to refer to the inner interpreter's registers (e.g., the data stack pointer) and you may want to use other registers for temporary storage.
does not allow you to explicitly declare all the registers you need), you have to find out by looking at the code where the inner interpreter's registers reside and which registers can be used for temporary storage.
In any case, it is good practice to abstract your assembly code from the actual register allocation.
www.public.iastate.edu /~forth/gforth_89.html   (460 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.