harpoon.Backend.Sparc
Class CodeGen.InstrCC

java.lang.Object
  extended by harpoon.IR.Assem.Instr
      extended by harpoon.Backend.Sparc.CodeGen.InstrCC
All Implemented Interfaces:
HCodeElement, CFGraphable<Instr,InstrEdge>, UseDefable, Graph.Node<Instr,InstrEdge>
Enclosing class:
CodeGen

public class CodeGen.InstrCC
extends Instr

Sub-class to indicate dependencies on the condition code register for later optimization. This prevents putting the cmp instruction in the delay-slot of its branch-conditional.


Field Summary
 
Fields inherited from class harpoon.IR.Assem.Instr
arrayFactory, canFallThrough, next, prev
 
Constructor Summary
CodeGen.InstrCC(InstrFactory inf, HCodeElement source, String assem, Temp[] dst, Temp[] src)
           
CodeGen.InstrCC(InstrFactory inf, HCodeElement source, String assem, Temp[] dst, Temp[] src, boolean canFallThrough, List<Label> targets)
           
 
Method Summary
 
Methods inherited from class harpoon.IR.Assem.Instr
accept, cloneMutateAssem, cloneMutateAssem, def, defC, edgeC, edges, getAssem, getEntry, getExit, getFactory, getGroups, getID, getInstrFor, getLineNumber, getNext, getPrev, getSourceFile, getTargets, hashCode, hasModifiableTargets, hasMultiplePredecessors, insertAt, insertInstrsAt, isDirective, isDummy, isJump, isLabel, isMove, isPred, isSucc, layout, map, map, map, pred, predC, remove, rename, rename, rename, replace, replaceInstrList, setGroup, succ, succC, toString, use, useC
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CodeGen.InstrCC

public CodeGen.InstrCC(InstrFactory inf,
                       HCodeElement source,
                       String assem,
                       Temp[] dst,
                       Temp[] src)

CodeGen.InstrCC

public CodeGen.InstrCC(InstrFactory inf,
                       HCodeElement source,
                       String assem,
                       Temp[] dst,
                       Temp[] src,
                       boolean canFallThrough,
                       List<Label> targets)