aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-03-28 02:44:59 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-03-28 02:44:59 +0000
commit72dfb052ab74a9e642256212a50c9b805ce5c943 (patch)
tree4107669b374987d59068c6bd3c52f4864a75d8f3
parentd7216a28d6a07a4ea4047a14427c16b96feeb36f (diff)
Revert "Adding DIImportedModules to DIScopes."
This reverts commit 342d92c7a0adeabc9ab00f3f0d88d739fe7da4c7. Turns out we're going with a different schema design to represent DW_TAG_imported_modules so we won't need this extra field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178215 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/DIBuilder.h6
-rw-r--r--include/llvm/DebugInfo.h116
-rw-r--r--lib/IR/DIBuilder.cpp138
-rw-r--r--lib/IR/DebugInfo.cpp87
-rw-r--r--test/CodeGen/ARM/2010-08-04-StackVariable.ll52
-rw-r--r--test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll28
-rw-r--r--test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll28
-rw-r--r--test/CodeGen/ARM/debug-info-arg.ll26
-rw-r--r--test/CodeGen/ARM/debug-info-blocks.ll208
-rw-r--r--test/CodeGen/ARM/debug-info-branch-folding.ll58
-rw-r--r--test/CodeGen/ARM/debug-info-d16-reg.ll34
-rw-r--r--test/CodeGen/ARM/debug-info-qreg.ll58
-rw-r--r--test/CodeGen/ARM/debug-info-s16-reg.ll32
-rw-r--r--test/CodeGen/ARM/debug-info-sreg2.ll16
-rw-r--r--test/CodeGen/Inputs/DbgValueOtherTargets.ll12
-rw-r--r--test/CodeGen/Thumb/2010-07-15-debugOrdering.ll146
-rw-r--r--test/CodeGen/X86/2010-01-18-DbgValue.ll24
-rw-r--r--test/CodeGen/X86/2010-05-25-DotDebugLoc.ll20
-rw-r--r--test/CodeGen/X86/2010-05-26-DotDebugLoc.ll38
-rw-r--r--test/CodeGen/X86/2010-05-28-Crash.ll16
-rw-r--r--test/CodeGen/X86/2010-06-01-DeadArg-DbgInfo.ll38
-rw-r--r--test/CodeGen/X86/2010-08-04-StackVariable.ll52
-rw-r--r--test/CodeGen/X86/2010-11-02-DbgParameter.ll20
-rw-r--r--test/CodeGen/X86/2011-01-24-DbgValue-Before-Use.ll24
-rw-r--r--test/CodeGen/X86/2012-11-30-misched-dbg.ll32
-rw-r--r--test/CodeGen/X86/MachineSink-DbgValue.ll16
-rw-r--r--test/CodeGen/X86/dbg-byval-parameter.ll24
-rw-r--r--test/CodeGen/X86/dbg-const-int.ll12
-rw-r--r--test/CodeGen/X86/dbg-const.ll8
-rw-r--r--test/CodeGen/X86/dbg-declare-arg.ll50
-rw-r--r--test/CodeGen/X86/dbg-i128-const.ll16
-rw-r--r--test/CodeGen/X86/dbg-large-unsigned-const.ll22
-rw-r--r--test/CodeGen/X86/dbg-merge-loc-entry.ll32
-rw-r--r--test/CodeGen/X86/dbg-prolog-end.ll16
-rw-r--r--test/CodeGen/X86/dbg-subrange.ll14
-rw-r--r--test/CodeGen/X86/dbg-value-dag-combine.ll14
-rw-r--r--test/CodeGen/X86/dbg-value-isel.ll16
-rw-r--r--test/CodeGen/X86/dbg-value-location.ll28
-rw-r--r--test/CodeGen/X86/dbg-value-range.ll18
-rw-r--r--test/DebugInfo/2009-11-03-InsertExtractValue.ll6
-rw-r--r--test/DebugInfo/2010-03-24-MemberFn.ll30
-rw-r--r--test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll32
-rw-r--r--test/DebugInfo/2010-04-19-FramePtr.ll12
-rw-r--r--test/DebugInfo/2010-06-29-InlinedFnLocalVar.ll24
-rw-r--r--test/DebugInfo/AArch64/dwarfdump.ll10
-rw-r--r--test/DebugInfo/AArch64/variable-loc.ll24
-rw-r--r--test/DebugInfo/X86/2010-04-13-PubType.ll22
-rw-r--r--test/DebugInfo/X86/2010-08-10-DbgConstant.ll14
-rw-r--r--test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll12
-rw-r--r--test/DebugInfo/X86/2011-12-16-BadStructRef.ll54
-rw-r--r--test/DebugInfo/X86/DW_AT_byte_size.ll18
-rw-r--r--test/DebugInfo/X86/DW_AT_location-reference.ll12
-rw-r--r--test/DebugInfo/X86/DW_AT_object_pointer.ll30
-rw-r--r--test/DebugInfo/X86/DW_AT_specification.ll22
-rw-r--r--test/DebugInfo/X86/DW_TAG_friend.ll28
-rw-r--r--test/DebugInfo/X86/aligned_stack_var.ll12
-rw-r--r--test/DebugInfo/X86/block-capture.ll76
-rw-r--r--test/DebugInfo/X86/concrete_out_of_line.ll50
-rw-r--r--test/DebugInfo/X86/dbg-value-inlined-parameter.ll32
-rw-r--r--test/DebugInfo/X86/debug-info-block-captured-self.ll28
-rw-r--r--test/DebugInfo/X86/debug-info-static-member.ll36
-rw-r--r--test/DebugInfo/X86/elf-names.ll40
-rw-r--r--test/DebugInfo/X86/empty-and-one-elem-array.ll28
-rw-r--r--test/DebugInfo/X86/empty-array.ll18
-rw-r--r--test/DebugInfo/X86/ending-run.ll12
-rw-r--r--test/DebugInfo/X86/enum-class.ll14
-rw-r--r--test/DebugInfo/X86/enum-fwd-decl.ll6
-rw-r--r--test/DebugInfo/X86/fission-cu.ll6
-rw-r--r--test/DebugInfo/X86/line-info.ll18
-rw-r--r--test/DebugInfo/X86/linkage-name.ll20
-rw-r--r--test/DebugInfo/X86/low-pc-cu.ll14
-rw-r--r--test/DebugInfo/X86/misched-dbg-value.ll60
-rw-r--r--test/DebugInfo/X86/multiple-at-const-val.ll24
-rw-r--r--test/DebugInfo/X86/nondefault-subrange-array.ll18
-rw-r--r--test/DebugInfo/X86/objc-fwd-decl.ll8
-rw-r--r--test/DebugInfo/X86/op_deref.ll18
-rw-r--r--test/DebugInfo/X86/pointer-type-size.ll14
-rw-r--r--test/DebugInfo/X86/pr11300.ll24
-rw-r--r--test/DebugInfo/X86/pr13303.ll12
-rw-r--r--test/DebugInfo/X86/prologue-stack.ll12
-rw-r--r--test/DebugInfo/X86/rvalue-ref.ll14
-rw-r--r--test/DebugInfo/X86/stmt-list-multiple-compile-units.ll20
-rw-r--r--test/DebugInfo/X86/stringpool.ll6
-rw-r--r--test/DebugInfo/X86/struct-loc.ll10
-rw-r--r--test/DebugInfo/X86/subrange-type.ll14
-rw-r--r--test/DebugInfo/X86/subreg.ll12
-rw-r--r--test/DebugInfo/X86/vector.ll10
-rw-r--r--test/DebugInfo/array.ll14
-rw-r--r--test/DebugInfo/dwarf-public-names.ll34
-rw-r--r--test/DebugInfo/inlined-vars.ll14
-rw-r--r--test/DebugInfo/member-pointers.ll16
-rw-r--r--test/DebugInfo/namespace.ll12
-rw-r--r--test/Instrumentation/AddressSanitizer/debug_info.ll12
-rw-r--r--test/Transforms/DeadArgElim/dbginfo.ll18
-rw-r--r--test/Transforms/GCOVProfiling/linkagename.ll8
-rw-r--r--test/Transforms/InstCombine/debuginfo.ll24
-rw-r--r--test/Transforms/Mem2Reg/ConvertDebugInfo.ll14
-rw-r--r--test/Transforms/Mem2Reg/ConvertDebugInfo2.ll18
-rw-r--r--test/Transforms/ScalarRepl/debuginfo-preserved.ll12
99 files changed, 1354 insertions, 1473 deletions
diff --git a/include/llvm/DIBuilder.h b/include/llvm/DIBuilder.h
index a7a8c53e2f..4f0aa07130 100644
--- a/include/llvm/DIBuilder.h
+++ b/include/llvm/DIBuilder.h
@@ -46,7 +46,6 @@ namespace llvm {
class DITemplateTypeParameter;
class DITemplateValueParameter;
class DIObjCProperty;
- class DIImportedModule;
class DIBuilder {
private:
@@ -567,11 +566,6 @@ namespace llvm {
DILexicalBlock createLexicalBlock(DIDescriptor Scope, DIFile File,
unsigned Line, unsigned Col);
-
- /// \brief Create a descriptor for an imported module.
- /// @param NS The namespace being imported here
- DIImportedModule createImportedModule(DINameSpace NS);
-
/// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
/// @param Storage llvm::Value of the variable
/// @param VarInfo Variable's debug info descriptor.
diff --git a/include/llvm/DebugInfo.h b/include/llvm/DebugInfo.h
index 0c8cb5d9e7..15f91870a5 100644
--- a/include/llvm/DebugInfo.h
+++ b/include/llvm/DebugInfo.h
@@ -44,7 +44,6 @@ namespace llvm {
class DIVariable;
class DIType;
class DIObjCProperty;
- class DIImportedModule;
/// DIDescriptor - A thin wraper around MDNode to access encoded debug info.
/// This should not be stored in a container, because the underlying MDNode
@@ -126,7 +125,6 @@ namespace llvm {
bool isTemplateTypeParameter() const;
bool isTemplateValueParameter() const;
bool isObjCProperty() const;
- bool isImportedModule() const;
/// print - print descriptor.
void print(raw_ostream &OS) const;
@@ -169,7 +167,6 @@ namespace llvm {
StringRef getFilename() const;
StringRef getDirectory() const;
- DIArray getImportedModules() const { return getFieldAs<DIArray>(2); }
};
/// DIFile - This is a wrapper for a file.
@@ -191,19 +188,19 @@ namespace llvm {
public:
explicit DICompileUnit(const MDNode *N = 0) : DIScope(N) {}
- unsigned getLanguage() const { return getUnsignedField(3); }
- StringRef getProducer() const { return getStringField(4); }
+ unsigned getLanguage() const { return getUnsignedField(2); }
+ StringRef getProducer() const { return getStringField(3); }
- bool isOptimized() const { return getUnsignedField(5) != 0; }
- StringRef getFlags() const { return getStringField(6); }
- unsigned getRunTimeVersion() const { return getUnsignedField(7); }
+ bool isOptimized() const { return getUnsignedField(4) != 0; }
+ StringRef getFlags() const { return getStringField(5); }
+ unsigned getRunTimeVersion() const { return getUnsignedField(6); }
DIArray getEnumTypes() const;
DIArray getRetainedTypes() const;
DIArray getSubprograms() const;
DIArray getGlobalVariables() const;
- StringRef getSplitDebugFilename() const { return getStringField(12); }
+ StringRef getSplitDebugFilename() const { return getStringField(11); }
/// Verify - Verify that a compile unit is well formed.
bool Verify() const;
@@ -239,15 +236,15 @@ namespace llvm {
explicit DIType(const MDNode *N);
explicit DIType() {}
- DIScope getContext() const { return getFieldAs<DIScope>(3); }
- StringRef getName() const { return getStringField(4); }
- unsigned getLineNumber() const { return getUnsignedField(5); }
- uint64_t getSizeInBits() const { return getUInt64Field(6); }
- uint64_t getAlignInBits() const { return getUInt64Field(7); }
+ DIScope getContext() const { return getFieldAs<DIScope>(2); }
+ StringRef getName() const { return getStringField(3); }
+ unsigned getLineNumber() const { return getUnsignedField(4); }
+ uint64_t getSizeInBits() const { return getUInt64Field(5); }
+ uint64_t getAlignInBits() const { return getUInt64Field(6); }
// FIXME: Offset is only used for DW_TAG_member nodes. Making every type
// carry this is just plain insane.
- uint64_t getOffsetInBits() const { return getUInt64Field(8); }
- unsigned getFlags() const { return getUnsignedField(9); }
+ uint64_t getOffsetInBits() const { return getUInt64Field(7); }
+ unsigned getFlags() const { return getUnsignedField(8); }
bool isPrivate() const {
return (getFlags() & FlagPrivate) != 0;
}
@@ -300,7 +297,7 @@ namespace llvm {
public:
explicit DIBasicType(const MDNode *N = 0) : DIType(N) {}
- unsigned getEncoding() const { return getUnsignedField(10); }
+ unsigned getEncoding() const { return getUnsignedField(9); }
/// Verify - Verify that a basic type descriptor is well formed.
bool Verify() const;
@@ -319,7 +316,7 @@ namespace llvm {
explicit DIDerivedType(const MDNode *N = 0)
: DIType(N, true, true) {}
- DIType getTypeDerivedFrom() const { return getFieldAs<DIType>(10); }
+ DIType getTypeDerivedFrom() const { return getFieldAs<DIType>(9); }
/// getOriginalTypeSize - If this type is derived from a base type then
/// return base type size.
@@ -331,12 +328,12 @@ namespace llvm {
DIType getClassType() const {
assert(getTag() == dwarf::DW_TAG_ptr_to_member_type);
- return getFieldAs<DIType>(11);
+ return getFieldAs<DIType>(10);
}
Constant *getConstant() const {
assert((getTag() == dwarf::DW_TAG_member) && isStaticMember());
- return getConstantField(11);
+ return getConstantField(10);
}
/// Verify - Verify that a derived type descriptor is well formed.
@@ -356,14 +353,14 @@ namespace llvm {
DbgNode = 0;
}
- DIArray getTypeArray() const { return getFieldAs<DIArray>(11); }
+ DIArray getTypeArray() const { return getFieldAs<DIArray>(10); }
void setTypeArray(DIArray Elements, DIArray TParams = DIArray());
- unsigned getRunTimeLang() const { return getUnsignedField(12); }
+ unsigned getRunTimeLang() const { return getUnsignedField(11); }
DICompositeType getContainingType() const {
- return getFieldAs<DICompositeType>(13);
+ return getFieldAs<DICompositeType>(12);
}
void setContainingType(DICompositeType ContainingType);
- DIArray getTemplateParams() const { return getFieldAs<DIArray>(14); }
+ DIArray getTemplateParams() const { return getFieldAs<DIArray>(13); }
/// Verify - Verify that a composite type descriptor is well formed.
bool Verify() const;
@@ -415,62 +412,62 @@ namespace llvm {
public:
explicit DISubprogram(const MDNode *N = 0) : DIScope(N) {}
- DIScope getContext() const { return getFieldAs<DIScope>(3); }
- StringRef getName() const { return getStringField(4); }
- StringRef getDisplayName() const { return getStringField(5); }
- StringRef getLinkageName() const { return getStringField(6); }
- unsigned getLineNumber() const { return getUnsignedField(7); }
- DICompositeType getType() const { return getFieldAs<DICompositeType>(8); }
+ DIScope getContext() const { return getFieldAs<DIScope>(2); }
+ StringRef getName() const { return getStringField(3); }
+ StringRef getDisplayName() const { return getStringField(4); }
+ StringRef getLinkageName() const { return getStringField(5); }
+ unsigned getLineNumber() const { return getUnsignedField(6); }
+ DICompositeType getType() const { return getFieldAs<DICompositeType>(7); }
/// getReturnTypeName - Subprogram return types are encoded either as
/// DIType or as DICompositeType.
StringRef getReturnTypeName() const {
- DICompositeType DCT(getFieldAs<DICompositeType>(8));
+ DICompositeType DCT(getFieldAs<DICompositeType>(7));
if (DCT.Verify()) {
DIArray A = DCT.getTypeArray();
DIType T(A.getElement(0));
return T.getName();
}
- DIType T(getFieldAs<DIType>(8));
+ DIType T(getFieldAs<DIType>(7));
return T.getName();
}
/// isLocalToUnit - Return true if this subprogram is local to the current
/// compile unit, like 'static' in C.
- unsigned isLocalToUnit() const { return getUnsignedField(9); }
- unsigned isDefinition() const { return getUnsignedField(10); }
+ unsigned isLocalToUnit() const { return getUnsignedField(8); }
+ unsigned isDefinition() const { return getUnsignedField(9); }
- unsigned getVirtuality() const { return getUnsignedField(11); }
- unsigned getVirtualIndex() const { return getUnsignedField(12); }
+ unsigned getVirtuality() const { return getUnsignedField(10); }
+ unsigned getVirtualIndex() const { return getUnsignedField(11); }
DICompositeType getContainingType() const {
- return getFieldAs<DICompositeType>(13);
+ return getFieldAs<DICompositeType>(12);
}
unsigned getFlags() const {
- return getUnsignedField(14);
+ return getUnsignedField(13);
}
unsigned isArtificial() const {
- return (getFlags() & FlagArtificial) != 0;
+ return (getUnsignedField(13) & FlagArtificial) != 0;
}
/// isPrivate - Return true if this subprogram has "private"
/// access specifier.
bool isPrivate() const {
- return (getFlags() & FlagPrivate) != 0;
+ return (getUnsignedField(13) & FlagPrivate) != 0;
}
/// isProtected - Return true if this subprogram has "protected"
/// access specifier.
bool isProtected() const {
- return (getFlags() & FlagProtected) != 0;
+ return (getUnsignedField(13) & FlagProtected) != 0;
}
/// isExplicit - Return true if this subprogram is marked as explicit.
bool isExplicit() const {
- return (getFlags() & FlagExplicit) != 0;
+ return (getUnsignedField(13) & FlagExplicit) != 0;
}
/// isPrototyped - Return true if this subprogram is prototyped.
bool isPrototyped() const {
- return (getFlags() & FlagPrototyped) != 0;
+ return (getUnsignedField(13) & FlagPrototyped) != 0;