summaryrefslogtreecommitdiff
path: root/lib/IR/DIBuilder.cpp
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2014-03-03 18:53:17 +0000
committerDiego Novillo <dnovillo@google.com>2014-03-03 18:53:17 +0000
commit6f8c0c061331324faef1fdb6e39724045fc7a140 (patch)
treea6893e570add59bee7bdd7c34d2486a61fdb44e1 /lib/IR/DIBuilder.cpp
parent98b5aaeebbd2eff44aa74d456fece7d3f92e9de5 (diff)
downloadllvm-6f8c0c061331324faef1fdb6e39724045fc7a140.tar.gz
llvm-6f8c0c061331324faef1fdb6e39724045fc7a140.tar.bz2
llvm-6f8c0c061331324faef1fdb6e39724045fc7a140.tar.xz
Add DWARF discriminator support to DILexicalBlocks.
This adds support for emitting discriminators from DILexicalBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202736 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/IR/DIBuilder.cpp')
-rw-r--r--lib/IR/DIBuilder.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/IR/DIBuilder.cpp b/lib/IR/DIBuilder.cpp
index d15de61479..773a8cf0f5 100644
--- a/lib/IR/DIBuilder.cpp
+++ b/lib/IR/DIBuilder.cpp
@@ -1186,7 +1186,8 @@ DILexicalBlockFile DIBuilder::createLexicalBlockFile(DIDescriptor Scope,
}
DILexicalBlock DIBuilder::createLexicalBlock(DIDescriptor Scope, DIFile File,
- unsigned Line, unsigned Col) {
+ unsigned Line, unsigned Col,
+ unsigned Discriminator) {
// Defeat MDNode uniquing for lexical blocks by using unique id.
static unsigned int unique_id = 0;
Value *Elts[] = {
@@ -1195,6 +1196,7 @@ DILexicalBlock DIBuilder::createLexicalBlock(DIDescriptor Scope, DIFile File,
getNonCompileUnitScope(Scope),
ConstantInt::get(Type::getInt32Ty(VMContext), Line),
ConstantInt::get(Type::getInt32Ty(VMContext), Col),
+ ConstantInt::get(Type::getInt32Ty(VMContext), Discriminator),
ConstantInt::get(Type::getInt32Ty(VMContext), unique_id++)
};
DILexicalBlock R(MDNode::get(VMContext, Elts));