Uses of Class
org.jikesrvm.compilers.opt.controlflow.LSTNode

Packages that use LSTNode
org.jikesrvm.compilers.opt.controlflow   
 

Uses of LSTNode in org.jikesrvm.compilers.opt.controlflow
 

Subclasses of LSTNode in org.jikesrvm.compilers.opt.controlflow
 class AnnotatedLSTNode
          A node in the LST (Loop Structure Tree) with added information on: Whether this is a countable, affine or non-regular loop The registers being used to hold the loop iterator The initial loop iterator value The terminal loop iterator value The instruction that modifies the iterator The phi instruction that merges the redefined iterator with its original value The condition used to test for loop termination The stride operand The information is only held on regular loops.
 

Fields in org.jikesrvm.compilers.opt.controlflow declared as LSTNode
protected  LSTNode LSTGraph.rootNode
           
 

Fields in org.jikesrvm.compilers.opt.controlflow with type parameters of type LSTNode
private  HashMap<BasicBlock,LSTNode> LSTGraph.loopMap
          Map of bb to LSTNode of innermost loop containing bb
 

Methods in org.jikesrvm.compilers.opt.controlflow that return LSTNode
 LSTNode LSTGraph.getLoop(BasicBlock b)
           
 LSTNode LSTNode.getParent()
           
 LSTNode LSTGraph.getRoot()
          Return the root node of the tree
 

Methods in org.jikesrvm.compilers.opt.controlflow that return types with arguments of type LSTNode
 Enumeration<LSTNode> LSTNode.getChildren()
           
 

Methods in org.jikesrvm.compilers.opt.controlflow with parameters of type LSTNode
private  float EstimateBlockFrequencies.computeLoopExitWeight(LSTNode n)
           
private  void EstimateBlockFrequencies.computeLoopMultipliers(LSTNode n)
          Postorder traversal of LST computing loop multiplier and loop exits for each loop.
private  void EstimateBlockFrequencies.computeMultiplier(LSTNode n)
          Compute the loop multiplier for this loop nest
private  void EstimateBlockFrequencies.computeNodeWeights(LSTNode n)
          Propagate execution frequencies through the loop.
private  String LSTGraph.dumpIt(LSTNode n)
           
private static void CFGTransformations.ensureLandingPad(LSTNode n, IR ir)
           
private static void CFGTransformations.ensureLandingPads(LSTNode t, IR ir)
          deal with a sub tree of the loop structure tree
private static BasicBlock[] CFGTransformations.inLoopPredecessors(LSTNode n)
          the predecessors of the loop header that are part of the loop.
private static BasicBlock[] CFGTransformations.inLoopSuccessors(LSTNode n)
          the successors of the loop header that are part of the loop.
private static BasicBlock[] CFGTransformations.loopPredecessors(LSTNode n)
          the predecessors of the loop header that are not part of the loop
private static void LoopUnrolling.markHeaders(LSTNode t)
           
private  void LoopUnrolling.naiveUnroller(LSTNode t, IR ir)
           
private  void EstimateBlockFrequencies.processEdge(LSTNode n, BasicBlock source, BasicBlock target, float prob, float weight)
           
private  void YieldPoints.processLoopNest(LSTNode n)
          Process all loop heads in a loop nest by inserting a backedge yieldpoint in each of them.
private  void LSTGraph.setDepth(IR ir, LSTNode node, int depth)
           
private static boolean CFGTransformations.turnLoopIntoUntil(LSTNode n, IR ir)
          Transform a given loop Look for the set S of in-loop predecessors of the loop header h.
private static boolean CFGTransformations.turnLoopTreeIntoUntils(LSTNode t, IR ir)
          deal with a sub tree of the loop structure tree
(package private)  boolean LoopUnrolling.unrollLeaf(LSTNode t, IR ir)
           
(package private)  int LoopUnrolling.unrollLoopTree(LSTNode t, IR ir, int target)
          loop unrolling on a given loop structure sub tree
 

Constructors in org.jikesrvm.compilers.opt.controlflow with parameters of type LSTNode
AnnotatedLSTNode(IR ir, LSTNode node)
          Constructor
LSTNode(LSTNode node)
          Copy constructor