summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DIBuilder.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2012-02-06 17:49:43 +0000
committerDevang Patel <dpatel@apple.com>2012-02-06 17:49:43 +0000
commit4488217f730e06c16ae09f3f59f9be2fdef69cb9 (patch)
treed52434f712874a2768d979329f9de5bf8d1dd860 /llvm/lib/Analysis/DIBuilder.cpp
parent3bb42f38f4c75de8859a3e1c0de229e2eff947fb (diff)
downloadbcm5719-llvm-4488217f730e06c16ae09f3f59f9be2fdef69cb9.tar.gz
bcm5719-llvm-4488217f730e06c16ae09f3f59f9be2fdef69cb9.zip
DebugInfo: Provide a new hook to encode relationship between a property and an ivar.
llvm-svn: 149874
Diffstat (limited to 'llvm/lib/Analysis/DIBuilder.cpp')
-rw-r--r--llvm/lib/Analysis/DIBuilder.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/DIBuilder.cpp b/llvm/lib/Analysis/DIBuilder.cpp
index ee7ecd1b052..cfb58f6243f 100644
--- a/llvm/lib/Analysis/DIBuilder.cpp
+++ b/llvm/lib/Analysis/DIBuilder.cpp
@@ -359,6 +359,30 @@ DIType DIBuilder::createObjCIVar(StringRef Name,
return DIType(MDNode::get(VMContext, Elts));
}
+/// createObjCIVar - Create debugging information entry for Objective-C
+/// instance variable.
+DIType DIBuilder::createObjCIVar(StringRef Name,
+ DIFile File, unsigned LineNumber,
+ uint64_t SizeInBits, uint64_t AlignInBits,
+ uint64_t OffsetInBits, unsigned Flags,
+ DIType Ty, MDNode *PropertyNode) {
+ // TAG_member is encoded in DIDerivedType format.
+ Value *Elts[] = {
+ GetTagConstant(VMContext, dwarf::DW_TAG_member),
+ getNonCompileUnitScope(File),
+ MDString::get(VMContext, Name),
+ File,
+ ConstantInt::get(Type::getInt32Ty(VMContext), LineNumber),
+ ConstantInt::get(Type::getInt64Ty(VMContext), SizeInBits),
+ ConstantInt::get(Type::getInt64Ty(VMContext), AlignInBits),
+ ConstantInt::get(Type::getInt64Ty(VMContext), OffsetInBits),
+ ConstantInt::get(Type::getInt32Ty(VMContext), Flags),
+ Ty,
+ PropertyNode
+ };
+ return DIType(MDNode::get(VMContext, Elts));
+}
+
/// createObjCProperty - Create debugging information entry for Objective-C
/// property.
DIObjCProperty DIBuilder::createObjCProperty(StringRef Name,
OpenPOWER on IntegriCloud