| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.backend.Instruction
scale.backend.mips.MipsInstruction
scale.backend.mips.IntOpLitInstruction
public class IntOpLitInstruction
This class represents Mips integer arithmetic instructions.
$Id: IntOpLitInstruction.java,v 1.13 2006-11-09 00:56:07 burrill Exp $
 Copyright 2005 by the Scale Compiler Group,
 Department of Computer Science
 University of Massachusetts,
 Amherst MA. 01003, USA
 All Rights Reserved.
| Field Summary | |
|---|---|
| protected  int | dftnThe function applied to the displacement (e.g., %hi, %lo, etc). | 
| protected  int | rathe ra register. | 
| protected  int | rbthe rb register | 
| protected  Displacement | valuethe rc register | 
| Constructor Summary | |
|---|---|
| IntOpLitInstruction(int opcode,
                    int ra,
                    int rb,
                    Displacement value) | |
| IntOpLitInstruction(int opcode,
                    int ra,
                    int rb,
                    Displacement value,
                    int dftn) | |
| Method Summary | |
|---|---|
|  void | assembler(Assembler gen,
          Emit emit)Insert the assembler representation of the instruction into the output stream. | 
|  boolean | canBeDeleted(RegisterSet registers)Return true if the instruction can be deleted without changing program semantics. | 
| static int | created()Return the number of instances of this class created. | 
|  boolean | defs(int register,
     RegisterSet registers)Return true if the instruction sets the register. | 
|  int | getDestRegister()Return the destination register or -1 if none. | 
|  int | getOpcode()Return the numeric opcode of the instruction. | 
|  int[] | getSrcRegisters()Return the source registers or nullif none. | 
|  boolean | independent(Instruction inst,
            RegisterSet registers)Return true if this instruction is independent of the specified instruction. | 
|  void | remapDestRegister(int oldReg,
                  int newReg)Map the registers defined in the instruction as destinations to the specified register. | 
|  void | remapRegisters(int[] map)Map the virtual registers referenced in the instruction to the specified real registers. | 
|  void | remapSrcRegister(int oldReg,
                 int newReg)Map the registers used in the instruction as sources to the specified register. | 
|  void | specifyRegisterUsage(RegisterAllocator rs,
                     int index,
                     int strength)Specify the registers used by this instruction. | 
|  java.lang.String | toString() | 
|  boolean | uses(int register,
     RegisterSet registers)Return true if the instruction uses the register. | 
| Methods inherited from class scale.backend.mips.MipsInstruction | 
|---|
| assembleDisp, instructionSize, setOpcode | 
| Methods inherited from class scale.backend.Instruction | 
|---|
| clone, copy, ehash, getBBID, getCopyDest, getCopySrc, getExecutionCycles, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getTag, isBranch, isCopy, isLabel, isLoad, isMandatory, isMarker, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, isStore, markSpillInstruction, mods, nullified, nullify, numPredicates, removePredicates, setBBID, setLoopNumber, setMandatory, setNext, setPredicate, setPredicate, setPredicatedOnTrue, setPredicates, setsSpecialReg, setTag, specifyNotSpillLoadPoint, specifySpillStorePoint | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
protected int ra
protected int rb
protected Displacement value
protected int dftn
| Constructor Detail | 
|---|
public IntOpLitInstruction(int opcode,
                           int ra,
                           int rb,
                           Displacement value,
                           int dftn)
dftn - is the function to apply to the Displacement (%hi or %lo or nothing)
public IntOpLitInstruction(int opcode,
                           int ra,
                           int rb,
                           Displacement value)
| Method Detail | 
|---|
public static int created()
public int getDestRegister()
getDestRegister in class Instructionpublic int[] getSrcRegisters()
null if none.
getSrcRegisters in class Instructionpublic void remapRegisters(int[] map)
Instruction
remapRegisters in class MipsInstructionmap - maps from the virtual register to real register
public void remapSrcRegister(int oldReg,
                             int newReg)
remapSrcRegister in class InstructionoldReg - is the previous source registernewReg - is the new source register
public void remapDestRegister(int oldReg,
                              int newReg)
remapDestRegister in class InstructionoldReg - is the previous destination registernewReg - is the new destination registerpublic int getOpcode()
Instruction
getOpcode in class MipsInstruction
public void specifyRegisterUsage(RegisterAllocator rs,
                                 int index,
                                 int strength)
specifyRegisterUsage in class MipsInstructionrs - is the register set in useindex - is an index associated with the instructionstrength - is the importance of the instructionRegisterAllocator.useRegister(int,int,int), 
RegisterAllocator.defRegister(int,int)
public boolean uses(int register,
                    RegisterSet registers)
uses in class MipsInstruction
public boolean defs(int register,
                    RegisterSet registers)
defs in class MipsInstruction
public boolean independent(Instruction inst,
                           RegisterSet registers)
independent in class Instructioninst - is the specified instructionpublic boolean canBeDeleted(RegisterSet registers)
canBeDeleted in class Instruction
public void assembler(Assembler gen,
                      Emit emit)
assembler in class MipsInstructionpublic java.lang.String toString()
toString in class MipsInstruction| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||