Package harpoon.Analysis.Instr

Provides the classes for performing general analyses on code in the Instr intermediate representation.

See:
          Description

Interface Summary
RegAlloc.IntermediateCode IntermediateCode is a code which has been register allocated but the architecture-specific spill instructions and method prologue/epilogue have not been inserted yet.
RegAlloc.IntermediateCodeFactory IntermediateCodeFactory is an HCodeFactory that is guaranteed to produce IntermediateCodes.
 

Class Summary
AppelRegAlloc AppelRegAlloc
AppelRegAllocFsk  
AppelRegAllocStd  
BasePointerPreservingUseDefer BasePointerPreservingUseDefer defines a view of the code where uses of derived pointer values are also considered uses of the base pointers that were used to compute the derived value.
Check  
DemandDrivenRegAlloc DemandDrivenRegAlloc performs Demand-Driven Register Allocation for a set of Instrs in a Code.
EqTempSets EqTempSets tracks a set of disjoint set of temps, and potentially associates each set with a favored register temp (which itself is not part of the set) Overview: an EqTempSets is a pair <S,M>, where S is a set of disjoint sets of temps M is a mapping from disjoint sets to register temps.
GraphColoringRegAlloc GraphColoringRegAlloc uses graph coloring heuristics to find a register assignment for a Code.
IgnoreSpillUseDefer IgnoreSpillUseDefer defines a view of the code that will skip over newly inserted spill instructions when deciding what Temps instructions read and write.
InstrMOVEproxy InstrMOVEproxy
LocalCffRegAlloc LocalCffRegAlloc performs Local Register Allocation for a given set of Instrs using a conservative-furthest-first algorithm.
LocalCffRegAlloc.PreassignTemp PreassignTemp represents Temps which have been pre-assigned to machine registers.
RegAlloc RegAlloc performs Register Allocation for a set of Instrs in a Backend.Generic.Code.
RegAlloc.Factory  
RegAlloc.SpillLoad Class for RegAlloc usage in loading registers.
RegAlloc.SpillStore Class for RegAlloc usage in spilling registers.
RegAllocOpts RegAllocOpts encapsulates a set of modifications to how register allocation will be performed on a particular set of methods.
SpillHeuristics Abstracts away the heuristic used for deciding between spill candidates during graph simplification.
TempInstrPair TempInstrPair is an immutable data structure that associates an Instr with a Temp.
 

Package harpoon.Analysis.Instr Description

Provides the classes for performing general analyses on code in the Instr intermediate representation.

The only analysis designed specifically for Instr form currently is register allocation. More will come when we have end-to-end going.

Related Documentation

For further information, see:

Author:
Felix S. Klock II <pnkfelix@mit.edu>