scale.backend.trips2
Class BeginMarker

java.lang.Object
  extended by scale.backend.Instruction
      extended by scale.backend.Marker
          extended by scale.backend.trips2.BeginMarker
All Implemented Interfaces:
java.lang.Cloneable

public class BeginMarker
extends Marker

This class marks the first position in a routine.

$Id: BeginMarker.java,v 1.12 2007-08-27 18:30:13 burrill Exp $

Copyright 2007 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.

An instance of this class is used to generate the assembly directives for the entry point to a routine.


Constructor Summary
BeginMarker(Scribble scribble)
           
 
Method Summary
 void assembler(Assembler asm, Emit emit)
          Insert the assembler representation of the instruction into the output stream.
protected  int getLowTmpReg()
          Return the lowest numbered temp register.
 java.lang.String getName()
          Return the name of the routine.
 RoutineDecl getRoutine()
           
protected  void setLowTmpReg(int lowTempReg)
          Specifiy the lowest numbered temp register for this routine.
 void specifyRegisterUsage(RegisterAllocator rs, int index, int strength)
          Specify the registers used by this instruction.
 java.lang.String toString()
           
 
Methods inherited from class scale.backend.Marker
getExecutionCycles, getOpcode, independent, instructionSize, isMarker, nullify, remapDestRegister, remapRegisters, remapSrcRegister
 
Methods inherited from class scale.backend.Instruction
canBeDeleted, clone, copy, defs, ehash, getBBID, getCopyDest, getCopySrc, getDestRegister, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getSrcRegisters, getTag, isBranch, isCopy, isLabel, isLoad, isMandatory, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, isStore, markSpillInstruction, mods, nullified, numPredicates, removePredicates, setBBID, setLoopNumber, setMandatory, setNext, setPredicate, setPredicate, setPredicatedOnTrue, setPredicates, setsSpecialReg, setTag, specifyNotSpillLoadPoint, specifySpillStorePoint, uses
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BeginMarker

public BeginMarker(Scribble scribble)
Method Detail

setLowTmpReg

protected void setLowTmpReg(int lowTempReg)
Specifiy the lowest numbered temp register for this routine.


getLowTmpReg

protected int getLowTmpReg()
Return the lowest numbered temp register. Should be called just prior to generating code for this routine.


specifyRegisterUsage

public void specifyRegisterUsage(RegisterAllocator rs,
                                 int index,
                                 int strength)
Specify the registers used by this instruction.

Overrides:
specifyRegisterUsage in class Marker
Parameters:
rs - is the register set in use
index - is an index associated with the instruction
strength - is the importance of the instruction
See Also:
RegisterAllocator.useRegister(int,int,int), RegisterAllocator.defRegister(int,int)

assembler

public void assembler(Assembler asm,
                      Emit emit)
Insert the assembler representation of the instruction into the output stream.

Overrides:
assembler in class Marker

getName

public java.lang.String getName()
Return the name of the routine.


getRoutine

public RoutineDecl getRoutine()

toString

public java.lang.String toString()
Overrides:
toString in class Marker