coins.lparallel
クラス LoopUtil

java.lang.Object
  |
  +--coins.lparallel.LoopUtil

public class LoopUtil
extends java.lang.Object


フィールドの概要
 FlowResults fResults
           
 SubpFlow fSubpFlow
           
 boolean TraceFlag
           
 java.lang.String TraceString
           
 
コンストラクタの概要
LoopUtil(FlowResults pResults, SubpFlow pSubpFlow)
          LoopUtil:
 
メソッドの概要
(パッケージプライベート)  void BBlockListSearch(BBlockVector markBit, BBlock curr, BBlock head, BBlock tail, BBlock body)
          BBlockListSearch:
(パッケージプライベート)  boolean BBlockListSearchXXX(BBlockVector markBit, BBlock curr, BBlock head, BBlock tail, java.util.LinkedList addList)
           
(パッケージプライベート)  boolean def_check(LoopTable lTable, AssignStmt AssignNode)
          def_check:
(パッケージプライベート)  boolean dom_check(BBlock pBBlock, BBlock pExitBlock)
          dom_check: Dominate : true
(パッケージプライベート)  boolean EQVar(Exp exp, VarNode var)
          EQVar:
 void getLoopBBlockList(java.util.LinkedList blist, BBlock head, BBlock tail, BBlock body)
          getLoopBBlockList: LOOP(head,tail) = { blist(Bn, ....Bm)}
 void getLoopBBlockListXXXXX(java.util.LinkedList blist, BBlock head, BBlock tail, BBlock body)
           
(パッケージプライベート)  void getLoopInnerBBlockList(LoopTable pLoopTable)
          getLoopInnerBBlockList:
(パッケージプライベート)  LoopTable getLoopTable(LoopTable pTable, BBlock pBlock)
          getLoopTable:
(パッケージプライベート)  HIR getParentASSIGN(HIR pNode)
          getParentASSIGN:
(パッケージプライベート)  TmpVarManager getTmpVarManager()
          getTmpVarManager:
(パッケージプライベート)  HIR getTopVarNode(HIR pNode)
          getTopVarNode:
(パッケージプライベート)  boolean inner_loop_body(LoopTable lTable, HIR node)
          inner_loop_body:
(パッケージプライベート)  boolean IsAutoVarNode(HIR pNode)
          IsAutoVarNode: AutoVarNode true else false
(パッケージプライベート)  boolean IsInduction(LoopTable lTable, VarNode node)
          IsInduction:
(パッケージプライベート)  boolean IsLastPrivate(LoopTable pTable, Var var)
          IsLastPrivate:
(パッケージプライベート)  boolean IsPrivate(LoopTable pTable, Var var)
          IsPrivate:
(パッケージプライベート)  boolean IsReduction(LoopTable lTable, Var var)
          IsReduction:
(パッケージプライベート)  boolean IsScalar(HIR pNode)
          IsScalar:
(パッケージプライベート)  boolean IsVarNode(HIR pNode)
          IsVarNode:
(パッケージプライベート)  boolean loop_body(LoopTable lTable, HIR node)
          loop_body:
 BBlock LoopNextBBlock(LoopTable lTable)
          LoopNextBBlock:
(パッケージプライベート)  int NodeOrder(Exp Node1, Exp Node2)
          NodeOrder:
(パッケージプライベート)  Exp SkipCommonTag(Exp exp)
          SkipCommonTag:
(パッケージプライベート)  Exp SkipConv(Exp exp)
          SkipConv: ex) expression :p = (int) a; exp := (int) [node] return ; a [node] ;
(パッケージプライベート)  void Trace(java.lang.String s, int n)
          Trace: print basic parallelizer information.
(パッケージプライベート)  void TraceBBlockList(LoopTable lTable)
          TraceBBlockList:
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

fResults

public final FlowResults fResults

fSubpFlow

public final SubpFlow fSubpFlow

TraceFlag

public boolean TraceFlag

TraceString

public java.lang.String TraceString
コンストラクタの詳細

LoopUtil

public LoopUtil(FlowResults pResults,
                SubpFlow pSubpFlow)
LoopUtil:

メソッドの詳細

dom_check

boolean dom_check(BBlock pBBlock,
                  BBlock pExitBlock)
dom_check: Dominate : true


loop_body

boolean loop_body(LoopTable lTable,
                  HIR node)
loop_body:


inner_loop_body

boolean inner_loop_body(LoopTable lTable,
                        HIR node)
inner_loop_body:


TraceBBlockList

void TraceBBlockList(LoopTable lTable)
TraceBBlockList:


getLoopTable

LoopTable getLoopTable(LoopTable pTable,
                       BBlock pBlock)
getLoopTable:


IsInduction

boolean IsInduction(LoopTable lTable,
                    VarNode node)
IsInduction:


IsPrivate

boolean IsPrivate(LoopTable pTable,
                  Var var)
IsPrivate:


IsLastPrivate

boolean IsLastPrivate(LoopTable pTable,
                      Var var)
IsLastPrivate:


IsReduction

boolean IsReduction(LoopTable lTable,
                    Var var)
IsReduction:


NodeOrder

int NodeOrder(Exp Node1,
              Exp Node2)
NodeOrder:


SkipConv

Exp SkipConv(Exp exp)
SkipConv: ex) expression :p = (int) a; exp := (int) [node] return ; a [node] ;


IsAutoVarNode

boolean IsAutoVarNode(HIR pNode)
IsAutoVarNode: AutoVarNode true else false


getParentASSIGN

HIR getParentASSIGN(HIR pNode)
getParentASSIGN:


SkipCommonTag

Exp SkipCommonTag(Exp exp)
SkipCommonTag:


getTmpVarManager

TmpVarManager getTmpVarManager()
getTmpVarManager:


getTopVarNode

HIR getTopVarNode(HIR pNode)
getTopVarNode:


IsVarNode

boolean IsVarNode(HIR pNode)
IsVarNode:


EQVar

boolean EQVar(Exp exp,
              VarNode var)
EQVar:


getLoopBBlockList

public void getLoopBBlockList(java.util.LinkedList blist,
                              BBlock head,
                              BBlock tail,
                              BBlock body)
getLoopBBlockList: LOOP(head,tail) = { blist(Bn, ....Bm)}


getLoopBBlockListXXXXX

public void getLoopBBlockListXXXXX(java.util.LinkedList blist,
                                   BBlock head,
                                   BBlock tail,
                                   BBlock body)

getLoopInnerBBlockList

void getLoopInnerBBlockList(LoopTable pLoopTable)
getLoopInnerBBlockList:


BBlockListSearch

void BBlockListSearch(BBlockVector markBit,
                      BBlock curr,
                      BBlock head,
                      BBlock tail,
                      BBlock body)
BBlockListSearch:


BBlockListSearchXXX

boolean BBlockListSearchXXX(BBlockVector markBit,
                            BBlock curr,
                            BBlock head,
                            BBlock tail,
                            java.util.LinkedList addList)

IsScalar

boolean IsScalar(HIR pNode)
IsScalar:


def_check

boolean def_check(LoopTable lTable,
                  AssignStmt AssignNode)
def_check:


LoopNextBBlock

public BBlock LoopNextBBlock(LoopTable lTable)
LoopNextBBlock:


Trace

void Trace(java.lang.String s,
           int n)
Trace: print basic parallelizer information. Driver Option : [-coins:trace=Para1.n]