Add isArray flag

llvm-svn: 4230
This commit is contained in:
Chris Lattner 2002-10-20 20:28:35 +00:00
parent ee5fb32466
commit 2ff405c7e1
1 changed files with 9 additions and 6 deletions

View File

@ -119,13 +119,12 @@ class DSNode {
/// ///
std::vector<DSNodeHandle*> Referrers; std::vector<DSNodeHandle*> Referrers;
/// TypeEntries - As part of the merging process of this algorithm, nodes of /// TypeRec - This structure is used to represent a single type that is held
/// different types can be represented by this single DSNode. This vector is /// in a DSNode.
/// kept sorted.
///
struct TypeRec { struct TypeRec {
const Type *Ty; const Type *Ty; // The type itself...
unsigned Offset; unsigned Offset; // The offset in the node
bool isArray; // Have we accessed an array of elements?
TypeRec() : Ty(0), Offset(0) {} TypeRec() : Ty(0), Offset(0) {}
TypeRec(const Type *T, unsigned O) : Ty(T), Offset(O) {} TypeRec(const Type *T, unsigned O) : Ty(T), Offset(O) {}
@ -140,6 +139,10 @@ class DSNode {
bool operator!=(const TypeRec &TR) const { return !operator==(TR); } bool operator!=(const TypeRec &TR) const { return !operator==(TR); }
}; };
/// TypeEntries - As part of the merging process of this algorithm, nodes of
/// different types can be represented by this single DSNode. This vector is
/// kept sorted.
///
std::vector<TypeRec> TypeEntries; std::vector<TypeRec> TypeEntries;
/// Globals - The list of global values that are merged into this node. /// Globals - The list of global values that are merged into this node.