scale.backend.ppc
Class IFormInstruction
java.lang.Object
scale.backend.Instruction
scale.backend.Branch
scale.backend.ppc.PPCBranch
scale.backend.ppc.IFormInstruction
- All Implemented Interfaces:
- java.lang.Cloneable
public class IFormInstruction
- extends PPCBranch
This class represents Sparc calPowerPC I-form instructions.
$Id: IFormInstruction.java,v 1.6 2007-10-04 19:57:55 burrill Exp $
Copyright 2007 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Methods inherited from class scale.backend.Branch |
additionalRegsKilled, additionalRegsSet, additionalRegsUsed, addTarget, copy, defs, getBranchProbability, getExecutionCycles, getRegsKilled, getTarget, isBranch, isCall, markAsCall, mods, nullify, numTargets, remapDestRegister, remapRegisters, remapSrcRegister, setBranchProbability, specifyRegisterUsage, uses, uses |
Methods inherited from class scale.backend.Instruction |
clone, ehash, getBBID, getCopyDest, getCopySrc, getDestRegister, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getSrcRegisters, getTag, isCopy, isLabel, isLoad, isMandatory, isMarker, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, isStore, markSpillInstruction, nullified, 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 |
displacement
protected Displacement displacement
- the displacement
IFormInstruction
public IFormInstruction(int opcode,
int numTargets)
IFormInstruction
public IFormInstruction(int opcode,
Displacement displacement,
int numTargets)
- Create a branch relative that does not set the link register.
- Parameters:
displacement
- is the branch addressnumTargets
- specifies where the number of branch targets
IFormInstruction
public IFormInstruction(int opcode,
Displacement displacement,
int numTargets,
boolean absolute,
boolean link)
- Parameters:
displacement
- is the branch addressnumTargets
- specifies where the number of branch targetsabsolute
- is true if the displacement represents an absolute addresslink
- is true if this instruction sets the link register
independent
public boolean independent(Instruction inst,
RegisterSet registers)
- Return true if this instruction is independent of the specified
instruction. If instructions are independent, than one
instruction can be moved before or after the other instruction
without changing the semantics of the program.
- Overrides:
independent
in class Branch
- Parameters:
inst
- is the specified instruction
assembler
public void assembler(Assembler asm,
Emit emit)
- Insert the assembler representation of the instruction into the
output stream.
- Specified by:
assembler
in class Instruction
toString
public java.lang.String toString()
- Overrides:
toString
in class Branch