org.jikesrvm.compilers.opt.lir2mir.ia32
Class BURS_TreeNode

java.lang.Object
  extended by org.jikesrvm.compilers.opt.lir2mir.ia32.BURS_TreeNode
All Implemented Interfaces:
BURS_Definitions
Direct Known Subclasses:
ArchitectureSpecificOpt.BURS_TreeNode

public class BURS_TreeNode
extends Object
implements BURS_Definitions

An BURS_TreeNode is a node in a binary tree that is fed as input to BURS. Machine-generated, do not edit.

See Also:
BURS, BURS_STATE

Field Summary
 ArchitectureSpecificOpt.BURS_TreeNode child1
           
 ArchitectureSpecificOpt.BURS_TreeNode child2
           
 char cost_address
           
 char cost_address1reg
           
 char cost_address1scaledreg
           
 char cost_any
           
 char cost_bittest
           
 char cost_boolcmp
           
 char cost_cz
           
 char cost_czr
           
 char cost_double_load
           
 char cost_float_load
           
 char cost_load16
           
 char cost_load16_32
           
 char cost_load32
           
 char cost_load64
           
 char cost_load8
           
 char cost_load8_16_32
           
 char cost_r
           
 char cost_riv
           
 char cost_rlv
           
 char cost_sload16
           
 char cost_sload8
           
 char cost_stm
          remainder will be inserted by the BURS generator
 char cost_szp
           
 char cost_szpr
           
 char cost_uload16
           
 char cost_uload8
           
 DepGraphNode dg_node
          Dependence graph node corresponding to interior node in BURS tree (set to null for leaf node or for OTHER_OPERAND node).
private  byte nonterminal
          nonterminal > 0 ==> this tree node is the root of a "supernode"; the value of nonterminal identifies the matching non-terminal nonterminal = 0 ==> this tree node is NOT the root of a "supernode".
private  char opcode
          Opcode of instruction
private  byte treeroot_registersused
           trrr rrrr t = tree root r = num of registers used
 int word0
           
 int word1
           
 int word2
           
 
Fields inherited from interface org.jikesrvm.compilers.opt.lir2mir.ia32.BURS_Definitions
address_NT, address1reg_NT, address1scaledreg_NT, any_NT, bittest_NT, boolcmp_NT, cz_NT, czr_NT, double_load_NT, float_load_NT, load16_32_NT, load16_NT, load32_NT, load64_NT, load8_16_32_NT, load8_NT, r_NT, riv_NT, rlv_NT, sload16_NT, sload8_NT, stm_NT, szp_NT, szpr_NT, uload16_NT, uload8_NT
 
Constructor Summary
BURS_TreeNode(char Opcode)
          Constructor for leaf/auxiliary node.
BURS_TreeNode(DepGraphNode n)
          Constructor for interior node.
 
Method Summary
 char getCost(int goalNT)
           
 Instruction getInstruction()
           
 int getNonTerminal()
           
 char getOpcode()
           
 void initCost()
           
 boolean isREGISTERNode()
           
 boolean isSuperNodeRoot()
           
 boolean isTreeRoot()
           
 int numRegisters()
           
 int rule(int goalNT)
           
 void setNonTerminal(int nonterminal)
           
 void setNumRegisters(int r)
           
 void setTreeRoot()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

child1

public ArchitectureSpecificOpt.BURS_TreeNode child1

child2

public ArchitectureSpecificOpt.BURS_TreeNode child2

dg_node

public final DepGraphNode dg_node
Dependence graph node corresponding to interior node in BURS tree (set to null for leaf node or for OTHER_OPERAND node).


opcode

private final char opcode
Opcode of instruction


nonterminal

private byte nonterminal
nonterminal > 0 ==> this tree node is the root of a "supernode"; the value of nonterminal identifies the matching non-terminal nonterminal = 0 ==> this tree node is NOT the root of a "supernode".


treeroot_registersused

private byte treeroot_registersused
 trrr rrrr
 t = tree root
 r = num of registers used
 


cost_stm

public char cost_stm
remainder will be inserted by the BURS generator


cost_r

public char cost_r

cost_czr

public char cost_czr

cost_cz

public char cost_cz

cost_szpr

public char cost_szpr

cost_szp

public char cost_szp

cost_riv

public char cost_riv

cost_rlv

public char cost_rlv

cost_any

public char cost_any

cost_sload8

public char cost_sload8

cost_uload8

public char cost_uload8

cost_load8

public char cost_load8

cost_sload16

public char cost_sload16

cost_uload16

public char cost_uload16

cost_load16

public char cost_load16

cost_load32

public char cost_load32

cost_load16_32

public char cost_load16_32

cost_load8_16_32

public char cost_load8_16_32

cost_load64

public char cost_load64

cost_address1scaledreg

public char cost_address1scaledreg

cost_address1reg

public char cost_address1reg

cost_address

public char cost_address

cost_boolcmp

public char cost_boolcmp

cost_bittest

public char cost_bittest

cost_float_load

public char cost_float_load

cost_double_load

public char cost_double_load

word0

public int word0

word1

public int word1

word2

public int word2
Constructor Detail

BURS_TreeNode

public BURS_TreeNode(DepGraphNode n)
Constructor for interior node.


BURS_TreeNode

public BURS_TreeNode(char Opcode)
Constructor for leaf/auxiliary node.

Method Detail

getOpcode

public final char getOpcode()

getNonTerminal

public final int getNonTerminal()

setNonTerminal

public final void setNonTerminal(int nonterminal)

isTreeRoot

public final boolean isTreeRoot()

setTreeRoot

public final void setTreeRoot()

setNumRegisters

public final void setNumRegisters(int r)

numRegisters

public final int numRegisters()

getInstruction

public final Instruction getInstruction()

toString

public String toString()
Overrides:
toString in class Object

isSuperNodeRoot

public final boolean isSuperNodeRoot()

isREGISTERNode

public final boolean isREGISTERNode()

getCost

public char getCost(int goalNT)

initCost

public void initCost()

rule

public int rule(int goalNT)