|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.alias.AliasUtil
A collection of utility methods. Most methods are static,
but some methods need references to root objects such
as HirRoot
or SymRoot
and so
are instance methods.
フィールドの概要 | |
IoRoot |
io
|
SymRoot |
symRoot
The SymRoot object shared by every module
in the program. |
コンストラクタの概要 | |
AliasUtil(SymRoot pSymRoot)
Creates a new instance of AliasUtil. |
メソッドの概要 | |
boolean |
areCompatible(Type pType,
Type pType0)
|
static boolean |
areWeakCompatible(Type pType,
Type pType0)
|
void |
dbg(int pLevel,
java.lang.String pHeader,
java.lang.Object pBody)
Prints out the String representation of the
pBody object headed by pHeader
if the debug level for this alias analysis category is
greater than or equal to pLevel . |
static java.util.Set |
getComponentScalarTypes(Type pType)
|
Elem |
getFirstElem(StructType pStructType)
|
static boolean |
ismalloc(Subp pSubp)
Creates a new instance of AliasUtil that is associated with a specified instance of alias analysis. |
static boolean |
isPredefined(Subp pSubp,
java.util.Set pPredefined)
Returns true if the specified argument is known
to be well behaved. |
static boolean |
isScalar(Type pType)
|
boolean |
mayAlias(Type pType,
Type pType0)
Type-based alias testing. |
(パッケージプライベート) static boolean |
subscriptCheck(VectorType pType,
int pSubscript)
Checks if the specified constant subscript is within the bounds for the specified VectorType object. |
Type |
toBareAndSigned(Type pType)
|
(パッケージプライベート) static java.lang.String |
toString(HIR pHIR)
Returns a String representation of the
specified argument that is more representative than the
one its toString method provides.
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public final SymRoot symRoot
SymRoot
object shared by every module
in the program.
public final IoRoot io
コンストラクタの詳細 |
public AliasUtil(SymRoot pSymRoot)
pSymRoot
- SymRoot
object shared by
every module in the program.メソッドの詳細 |
public static boolean ismalloc(Subp pSubp)
pSubp
- Subp
Sym
to test for.
Sym
.public static boolean isPredefined(Subp pSubp, java.util.Set pPredefined)
true
if the specified argument is known
to be well behaved. Well-behavedness of a subprogram here
means it neither modifies objects (an area in the memory
space) that may be accessed from the code outside of the
subprogram nor stores the addresses of such objects in
storage accessible outside of the subprogram nor it
returns a pointer to such objects. I/O is irrelevant.
Most library functions are well behaved.
pSubp
- Subp
Sym
to test for.
public boolean mayAlias(Type pType, Type pType0)
true
for an aggregate type and its member type.
pType
- Type
of an lvalue to test for aliasing.pType0
- Type
of an lvalue to test for aliasing.
Type
s
can possibly alias.public Type toBareAndSigned(Type pType)
public boolean areCompatible(Type pType, Type pType0)
static java.lang.String toString(HIR pHIR)
String
representation of the
specified argument that is more representative than the
one its toString
method provides.
The returned String
contains representation
for the children of the specified argument.
pHIR
- HIR node whose String
representation
is to be returned.
String
representation
of the specified argument than the one its
toString
method provides.static boolean subscriptCheck(VectorType pType, int pSubscript)
VectorType
object.
pType
- VectorType
object to test against.pSubscript
- constant subscript that is tested to see
if it is in the allowed range for the given VectorType
object.
VectorType
.public static boolean isScalar(Type pType)
public static java.util.Set getComponentScalarTypes(Type pType)
public Elem getFirstElem(StructType pStructType)
public static boolean areWeakCompatible(Type pType, Type pType0)
public void dbg(int pLevel, java.lang.String pHeader, java.lang.Object pBody)
String
representation of the
pBody
object headed by pHeader
if the debug level for this alias analysis category is
greater than or equal to pLevel
.
pLevel
- the debug level required to actually print
the debug information.pHeader
- header for the informationpBody
- body of the informationDebug.printObject(int, String, Object)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |