Package harpoon.IR.Assem

An opaque representation of machine-specific assembly instructions for use in register-allocation.

See:
          Description

Class Summary
Code IR.Assem.Code is an abstract superclass of codeviews which use Instrs.
Instr Instr is the primary class for representing assembly-level instructions used in the Backend.* packages.
InstrCALL InstrCALL
InstrDIRECTIVE InstrDIRECTIVE is used to represents assembler directives.
InstrEdge InstrEdge is an object representing an edge between two Instrs.
InstrFactory A InstrFactory is responsible for generating generic Assem.Instrs used in code generation.
InstrGroup InstrGroup collects a group of assembly instructions together so that they can be viewed as a single atomic element of the code.
InstrGroup.Type InstrGroup.Type is associated with a collection of InstrGroups for a given Assem.Code.
InstrJUMP InstrJUMP represents a shift in control flow to one target Label with no side-effects.
InstrLABEL InstrLABEL is used to represents code labels in assembly-level instruction representations.
InstrMEM InstrMEM is used to represent memory operations in assembly-level instruction representations.
InstrMOVE InstrMOVE represents a copying of a set of source Temps to a set of destination Temps.
InstrVisitor InstrVisitor is an implementation of the Visitor pattern coupled to the Instr intermediate representation.
 

Package harpoon.IR.Assem Description

An opaque representation of machine-specific assembly instructions for use in register-allocation.

Backends that require more machine-specific classification of instructions (for scheduling, peephole optimization, etc) are encouraged to subtype harpoon.IR.Assem.Instr appropriately.

Author:
Andrew Berkheimer <andyb@mit.edu>