summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-06-19 21:52:48 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-06-19 21:52:48 +0000
commitc971cb828164e02cb9ab4d715e0a0fe00566dcbb (patch)
treeca01fb5945c320f3dff68f79a7758527b1cc2f1a /include
parent0812304ad8c8eded9785acff3194e3f5058e5dbf (diff)
downloadllvm-c971cb828164e02cb9ab4d715e0a0fe00566dcbb.tar.gz
llvm-c971cb828164e02cb9ab4d715e0a0fe00566dcbb.tar.bz2
llvm-c971cb828164e02cb9ab4d715e0a0fe00566dcbb.tar.xz
DebugInfo: Specify that a value is stored indirectly
This is a precursor to fix a regression caused by PR14763/r183329 where the location of a non-trivial pass-by-value parameter ends up incorrectly referring directly to the parameter (a pointer) rather than the object pointed to by the pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184365 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/DebugInfo.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/llvm/DebugInfo.h b/include/llvm/DebugInfo.h
index 61d0681f9b..01ff6342cf 100644
--- a/include/llvm/DebugInfo.h
+++ b/include/llvm/DebugInfo.h
@@ -63,7 +63,8 @@ namespace llvm {
FlagObjcClassComplete = 1 << 9,
FlagObjectPointer = 1 << 10,
FlagVector = 1 << 11,
- FlagStaticMember = 1 << 12
+ FlagStaticMember = 1 << 12,
+ FlagIndirectVariable = 1 << 13
};
protected:
const MDNode *DbgNode;
@@ -553,6 +554,11 @@ namespace llvm {
return (getUnsignedField(6) & FlagObjectPointer) != 0;
}
+ /// \brief Return true if this variable is represented as a pointer.
+ bool isIndirect() const {
+ return (getUnsignedField(6) & FlagIndirectVariable) != 0;
+ }
+
/// getInlinedAt - If this variable is inlined then return inline location.
MDNode *getInlinedAt() const;