Changes in directory llvm/include/llvm/Target:
TargetData.h updated: 1.32 -> 1.33 --- Log message: Add a new InvalidateStructLayoutInfo method and some comments. --- Diffs of the changes: (+9 -0) TargetData.h | 9 +++++++++ 1 files changed, 9 insertions(+) Index: llvm/include/llvm/Target/TargetData.h diff -u llvm/include/llvm/Target/TargetData.h:1.32 llvm/include/llvm/Target/TargetData.h:1.33 --- llvm/include/llvm/Target/TargetData.h:1.32 Sat Apr 23 17:35:26 2005 +++ llvm/include/llvm/Target/TargetData.h Fri Jan 13 18:06:42 2006 @@ -113,7 +113,16 @@ 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 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits