harpoon.Analysis.Instr
Class RegAllocOpts
java.lang.Object
harpoon.Analysis.Instr.RegAllocOpts
public class RegAllocOpts
- extends Object
RegAllocOpts
encapsulates a set of modifications to
how register allocation will be performed on a particular set of
methods. The choice of modifications are read in from a seperate
file, and then code factories produced by this will use the options
given the file to change how register allocation is done in certain
cases.
Currently, the file supports the following options:
"FORCE_LOCAL method name ..." forces the register allocator to
use a local allocation strategy on method name rather than
whatever default strategy is in place.
"DISABLE_REACHING_DEFS method name ..." forces the
register allocator to use a local allocation strategy on method
name rather than whatever default strategy is in place, and
in addition disables ReachingDefs analysis in local register
allocation. This is a sick hack added just to compile certain spec
classes before his deadline.
"FORCE_GLOBAL method name ..." forces the register
allocator to use a global allocation strategy on method
name, rather than whatever default stategy is in place.
"FORCE_COALESCE method name ..." forces global
allocation with non-conservative move coalescing to take place,
even when it might result in additional memory traffic.
"DISABLE_COALESCE method name ..." turns off
move coalescing on global allocation.
"FORCE_APPEL method name ..." forces the register
allocator to use Appel-style register allocation on method
name, rather than whatever default strategy is in place.
"FORCE_FELIX method name ..." forces the register
allocator to use Appel-style register allocation on method
name (with modifications for architectural indepedence),
rather than whatever default strategy is in place.
"# comment" is a comment line (not strictly an
option, since this line is ignored by this, but too useful to omit)
The method names given in the file should be disjoint; the behavior
of allocation is undefined when a method is listed under
multiple options.
A set of methods with a common prefix can be passed as the method name argument
to a single option by appending the wildcard character '*' to the prefix.
After these options have been loaded, this class can be used to
produce wrapper RegAlloc.Factory
s around other
RegAlloc.Factory
s
- Version:
- $Id: RegAllocOpts.java,v 1.3 2004/02/08 03:19:37 cananian Exp $
- Author:
- Felix S. Klock II <pnkfelix@mit.edu>
Field Summary |
static boolean |
INFO
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INFO
public static final boolean INFO
- See Also:
- Constant Field Values
RegAllocOpts
public RegAllocOpts(String filename)
- Creates a
RegAllocOpts
.
factory
public RegAlloc.Factory factory(RegAlloc.Factory hc)