coins.simd
クラス LirUtil

java.lang.Object
  |
  +--coins.simd.LirUtil

public class LirUtil
extends java.lang.Object

LIR utility class for SIMD


コンストラクタの概要
LirUtil()
           
 
メソッドの概要
static Symbol basesymbol(LirNode exp)
          Returns MEM expression's base symbol
static ImList btoim(BiList b)
          Transforms a BiList into ImList
static java.util.Vector btov(BiList b)
          Transforms a BiList into Vector
static int calcBoundary(int typ)
          Gets a boundary from a type
static long calcIncval(int type)
          Returns type's byte
static boolean contains(LirNode a, LirNode b)
          Checks if first LirNode contains second LirNode
static long dispval(LirNode exp)
          Returns memory expression's displacement
static java.util.Vector imlistToVector(ImList xs)
          Transforms an ImList into Vector
static boolean isShiftOp(LirNode e)
          Checks if a LirNode's operator is "shift"
static boolean isUsed(LirNode a, LirNode b)
          Checks if first LirNode is contained in second LirNode
static LirNode operator(LirFactory factory, int c, int t, LirNode[] srcs, ImList opt)
          Makes a LirNode
static LirNode[] pickupDefReferent(LirNode e)
           
static void pickupDefReferent(LirNode e, java.util.Vector v)
           
static LirNode[] pickupReferent(LirNode e)
           
static void pickupReferent(LirNode e, java.util.Vector v)
           
static LirNode[] pickupUseReferent(LirNode e)
           
static java.lang.String typeKind(int typ)
          Changes a type to its kind(I or F or etc.)
static int typeNum(int typ)
          Changes a type to bits
static BiList vtob(java.util.Vector v)
          Transforms a Vecgtor into a BiList
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

LirUtil

public LirUtil()
メソッドの詳細

typeNum

public static int typeNum(int typ)
Changes a type to bits

パラメータ:
typ - int
戻り値:
int

typeKind

public static java.lang.String typeKind(int typ)
Changes a type to its kind(I or F or etc.)

戻り値:
String

basesymbol

public static Symbol basesymbol(LirNode exp)
Returns MEM expression's base symbol

パラメータ:
exp - LirNode
戻り値:
Symbol

dispval

public static long dispval(LirNode exp)
Returns memory expression's displacement

パラメータ:
exp - LirNode
戻り値:
long

calcIncval

public static long calcIncval(int type)
Returns type's byte

パラメータ:
type - int
戻り値:
long

imlistToVector

public static java.util.Vector imlistToVector(ImList xs)
Transforms an ImList into Vector

パラメータ:
xs - ImList
戻り値:
Vector

calcBoundary

public static int calcBoundary(int typ)
Gets a boundary from a type

パラメータ:
typ - int
戻り値:
int

btov

public static java.util.Vector btov(BiList b)
Transforms a BiList into Vector

パラメータ:
b - BiList
戻り値:
Vector

vtob

public static BiList vtob(java.util.Vector v)
Transforms a Vecgtor into a BiList

パラメータ:
v - Vector
戻り値:
BiList

btoim

public static ImList btoim(BiList b)
Transforms a BiList into ImList

パラメータ:
b - BiList
戻り値:
ImList

contains

public static boolean contains(LirNode a,
                               LirNode b)
Checks if first LirNode contains second LirNode

パラメータ:
a - LirNode
b - LirNode
戻り値:
boolean

isUsed

public static boolean isUsed(LirNode a,
                             LirNode b)
Checks if first LirNode is contained in second LirNode

パラメータ:
a - LirNode
b - LirNode
戻り値:
boolean

pickupDefReferent

public static LirNode[] pickupDefReferent(LirNode e)
                                   throws SimdOptException
SimdOptException

pickupDefReferent

public static void pickupDefReferent(LirNode e,
                                     java.util.Vector v)
                              throws SimdOptException
SimdOptException

pickupUseReferent

public static LirNode[] pickupUseReferent(LirNode e)
                                   throws SimdOptException
SimdOptException

pickupReferent

public static LirNode[] pickupReferent(LirNode e)
                                throws SimdOptException
SimdOptException

pickupReferent

public static void pickupReferent(LirNode e,
                                  java.util.Vector v)
                           throws SimdOptException
SimdOptException

operator

public static LirNode operator(LirFactory factory,
                               int c,
                               int t,
                               LirNode[] srcs,
                               ImList opt)
Makes a LirNode

パラメータ:
factory - LirFactory
c - int
t - int
srcs - LirNode[]
opt - ImList
戻り値:
LirNode

isShiftOp

public static boolean isShiftOp(LirNode e)
Checks if a LirNode's operator is "shift"

パラメータ:
e - LirNode
戻り値:
boolean