| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.backend.Instruction
scale.backend.ppc.PPCInstruction
scale.backend.ppc.FDInstruction
scale.backend.ppc.FDrInstruction
scale.backend.ppc.FDrrInstruction
public class FDrrInstruction
This is the base class for all PPC instructions that have a destination register and two source registers.
$Id: FDrrInstruction.java,v 1.5 2006-11-09 00:56:04 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 | rbThe left source register. | 
| Fields inherited from class scale.backend.ppc.FDrInstruction | 
|---|
| ra | 
| Fields inherited from class scale.backend.ppc.FDInstruction | 
|---|
| rd | 
| Fields inherited from class scale.backend.ppc.PPCInstruction | 
|---|
| opcode | 
| Constructor Summary | |
|---|---|
| FDrrInstruction(int opcode,
                int rd,
                int ra,
                int rb) | |
| Method Summary | |
|---|---|
|  void | assembler(Assembler asm,
          Emit emit)Insert the assembler representation of the instruction into the output stream. | 
|  int | getDestRegister()Return the destination register or -1 if none. | 
|  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 | 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.ppc.FDInstruction | 
|---|
| defs, remapDestRegister | 
| Methods inherited from class scale.backend.ppc.PPCInstruction | 
|---|
| assembleDisp, canBeDeleted, getOpcode, instructionSize, isLoad, isStore, setOpcode | 
| Methods inherited from class scale.backend.Instruction | 
|---|
| clone, copy, ehash, getBBID, getCopyDest, getCopySrc, getExecutionCycles, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getTag, isBranch, isCopy, isLabel, isMandatory, isMarker, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, 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 rb
| Constructor Detail | 
|---|
public FDrrInstruction(int opcode,
                       int rd,
                       int ra,
                       int rb)
opcode - is the instruction's opcoderd - is the destination registerra - is the left source registerrb - is the right source register| Method Detail | 
|---|
public int getDestRegister()
getDestRegister in class FDrInstructionpublic int[] getSrcRegisters()
null if none.
getSrcRegisters in class FDrInstructionpublic void remapRegisters(int[] map)
Instruction
remapRegisters in class FDrInstructionmap - maps from the virtual register to real register
public void remapSrcRegister(int oldReg,
                             int newReg)
remapSrcRegister in class FDrInstructionoldReg - is the previous source registernewReg - is the new source register
public void specifyRegisterUsage(RegisterAllocator rs,
                                 int index,
                                 int strength)
specifyRegisterUsage in class FDrInstructionrs - 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 FDrInstruction
public boolean independent(Instruction inst,
                           RegisterSet registers)
independent in class FDrInstructioninst - is the specified instruction
public void assembler(Assembler asm,
                      Emit emit)
assembler in class FDrInstructionpublic java.lang.String toString()
toString in class FDrInstruction| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||