Add a new InvalidateStructLayoutInfo method and some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25303 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-01-14 00:06:42 +00:00
parent 7e36c47307
commit 2790383f73

View File

@ -113,7 +113,16 @@ public:
uint64_t getIndexedOffset(const Type *Ty,
const std::vector<Value*> &Indices) const;
/// getStructLayout - Return a StructLayout object, indicating the alignment
/// of the struct, its size, and the offsets of its fields. Note that this
/// information is lazily cached.
const StructLayout *getStructLayout(const StructType *Ty) const;
/// InvalidateStructLayoutInfo - TargetData speculatively caches StructLayout
/// objects. If a TargetData object is alive when types are being refined and
/// removed, this method must be called whenever a StructType is removed to
/// avoid a dangling pointer in this cache.
void InvalidateStructLayoutInfo(const StructType *Ty) const;
};
/// StructLayout - used to lazily calculate structure layout information for a