coins.backend.sched
クラス LirNodeInf

java.lang.Object
  |
  +--coins.backend.sched.LirNodeInf

public class LirNodeInf
extends java.lang.Object

Class to generate information of LirNode instruction


フィールドの概要
(パッケージプライベート)  LirNode lirNode
           
(パッケージプライベート) static int LOAD_LATENCY
           
(パッケージプライベート)  MachineParams machineParams
           
(パッケージプライベート) static LirNode MEM
           
(パッケージプライベート) static int PARALLEL_LATENCY
           
(パッケージプライベート)  Schedule schedule
           
(パッケージプライベート) static LirNode STACK_REG
           
 
コンストラクタの概要
(パッケージプライベート) LirNodeInf(LirNode ln, Schedule schedule)
           
 
メソッドの概要
(パッケージプライベート)  void addMemDef(BiList bl, LirNode ln)
          Add constant MEM to BiList bl, if ln is a SET instruction and left hand child has a MEM instruction
(パッケージプライベート)  void addMemUse(BiList bl, LirNode ln)
          Add constant MEM to BiList bl, if ln is a SET instruction and right hand child has a MEM instruction, or if ln is a CALL instruction (because stack memory may be used as parameters)
(パッケージプライベート)  void addReg(BiList bl, LirNode ln)
           
(パッケージプライベート)  void addRegDef(BiList bl, LirNode ln)
          Add registers defined in LirNode ln to BiList bl
(パッケージプライベート)  void addRegUse(BiList bl, LirNode ln)
          Add registers used in LirNode ln to BiList bl
(パッケージプライベート)  boolean containsMEM(LirNode ln)
          Return true if LirNode ln contains Op.MEM
(パッケージプライベート)  LirNode getCalleeReg(LirNode ln)
           
(パッケージプライベート)  BiList input()
          Return list of input(use) registers or MEM of this LirNode
(パッケージプライベート)  int latency(int cost)
          Retrun latency of this LirNode
(パッケージプライベート)  BiList output()
          Return list of output(def) registers or MEM of this LirNode
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

LOAD_LATENCY

static final int LOAD_LATENCY
関連項目:
定数フィールド値

PARALLEL_LATENCY

static final int PARALLEL_LATENCY
関連項目:
定数フィールド値

MEM

static final LirNode MEM

STACK_REG

static final LirNode STACK_REG

lirNode

LirNode lirNode

schedule

Schedule schedule

machineParams

MachineParams machineParams
コンストラクタの詳細

LirNodeInf

LirNodeInf(LirNode ln,
           Schedule schedule)
メソッドの詳細

input

BiList input()
Return list of input(use) registers or MEM of this LirNode


output

BiList output()
Return list of output(def) registers or MEM of this LirNode


latency

int latency(int cost)
Retrun latency of this LirNode

パラメータ:
cost -

containsMEM

boolean containsMEM(LirNode ln)
Return true if LirNode ln contains Op.MEM

パラメータ:
ln -

addMemUse

void addMemUse(BiList bl,
               LirNode ln)
Add constant MEM to BiList bl, if ln is a SET instruction and right hand child has a MEM instruction, or if ln is a CALL instruction (because stack memory may be used as parameters)

パラメータ:
bl -
ln -

addMemDef

void addMemDef(BiList bl,
               LirNode ln)
Add constant MEM to BiList bl, if ln is a SET instruction and left hand child has a MEM instruction

パラメータ:
bl -
ln -

addRegUse

void addRegUse(BiList bl,
               LirNode ln)
Add registers used in LirNode ln to BiList bl

パラメータ:
bl -
ln -

addRegDef

void addRegDef(BiList bl,
               LirNode ln)
Add registers defined in LirNode ln to BiList bl

パラメータ:
bl -
ln -

addReg

void addReg(BiList bl,
            LirNode ln)

getCalleeReg

LirNode getCalleeReg(LirNode ln)