scale.backend.ppc
Class SCFormInstruction
java.lang.Object
scale.backend.Instruction
scale.backend.Branch
scale.backend.ppc.PPCBranch
scale.backend.ppc.SCFormInstruction
- All Implemented Interfaces:
- java.lang.Cloneable
public class SCFormInstruction
- extends PPCBranch
This class represents PowerPC SC-form instructions.
$Id: SCFormInstruction.java,v 1.5 2007-10-04 19:57:56 burrill Exp $
Copyright 2007 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Constructor Summary |
SCFormInstruction(int numTargets)
Create a branch relative that does not set the link register. |
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 |
SCFormInstruction
public SCFormInstruction(int numTargets)
- Create a branch relative that does not set the link register.
- Parameters:
numTargets
- specifies where the number of branch targets
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