diff options
author | Eric Christopher <echristo@apple.com> | 2012-02-01 06:07:23 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-02-01 06:07:23 +0000 |
commit | 0086a5b44af6384b369f8660da69cf2775d09733 (patch) | |
tree | ed984432659c588377a3ab7d87e90bbfb344703d /lib/CodeGen/CGDebugInfo.h | |
parent | 7b48a2986345480241f3b8209f71bb21b0530b4f (diff) |
For pass-by-value record arguments to functions emit a forward decl
instead of the entire class definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149474 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDebugInfo.h')
-rw-r--r-- | lib/CodeGen/CGDebugInfo.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/CodeGen/CGDebugInfo.h b/lib/CodeGen/CGDebugInfo.h index e33b282511..c2a28fd8e3 100644 --- a/lib/CodeGen/CGDebugInfo.h +++ b/lib/CodeGen/CGDebugInfo.h @@ -73,6 +73,9 @@ class CGDebugInfo { llvm::DenseMap<const FunctionDecl *, llvm::WeakVH> SPCache; llvm::DenseMap<const NamespaceDecl *, llvm::WeakVH> NameSpaceCache; + /// Helper functions for getOrCreateLimitedType. + llvm::DIType CreateLimitedType(const RecordType *Ty); + /// Helper functions for getOrCreateType. llvm::DIType CreateType(const BuiltinType *Ty); llvm::DIType CreateType(const ComplexType *Ty); @@ -257,9 +260,17 @@ private: /// necessary. llvm::DIType getOrCreateType(QualType Ty, llvm::DIFile F); + /// getOrCreateLimitedType - Get the type from the cache or create a flat + /// limited type. + llvm::DIType getOrCreateLimitedType(QualType Ty, llvm::DIFile F); + /// CreateTypeNode - Create type metadata for a source language type. llvm::DIType CreateTypeNode(QualType Ty, llvm::DIFile F); + /// CreateLimitedTypeNode - Create type metadata for a source language type, + /// but create as little as possible. + llvm::DIType CreateLimitedTypeNode(QualType Ty, llvm::DIFile F); + /// CreateMemberType - Create new member and increase Offset by FType's size. llvm::DIType CreateMemberType(llvm::DIFile Unit, QualType FType, StringRef Name, uint64_t *Offset); |