[llvm] r184365 - DebugInfo: Specify that a value is stored indirectly
David Blaikie
dblaikie at gmail.com
Wed Jun 19 14:52:48 PDT 2013
Author: dblaikie
Date: Wed Jun 19 16:52:48 2013
New Revision: 184365
URL: http://llvm.org/viewvc/llvm-project?rev=184365&view=rev
Log:
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.
Modified:
llvm/trunk/include/llvm/DebugInfo.h
Modified: llvm/trunk/include/llvm/DebugInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo.h?rev=184365&r1=184364&r2=184365&view=diff
==============================================================================
--- llvm/trunk/include/llvm/DebugInfo.h (original)
+++ llvm/trunk/include/llvm/DebugInfo.h Wed Jun 19 16:52:48 2013
@@ -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;
More information about the llvm-commits
mailing list