[llvm] r369860 - Removing block comments from CodeView records in assembly files & related code cleanup
Nilanjana Basu via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 24 18:09:12 PDT 2019
Author: nilanjana_basu
Date: Sat Aug 24 18:09:11 2019
New Revision: 369860
URL: http://llvm.org/viewvc/llvm-project?rev=369860&view=rev
Log:
Removing block comments from CodeView records in assembly files & related code cleanup
Modified:
llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h
llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
llvm/trunk/test/DebugInfo/COFF/array-odr-violation.ll
llvm/trunk/test/DebugInfo/COFF/class-options-common.ll
llvm/trunk/test/DebugInfo/COFF/inlining.ll
llvm/trunk/test/DebugInfo/COFF/pr37492.ll
llvm/trunk/test/DebugInfo/COFF/synthetic.ll
llvm/trunk/test/DebugInfo/COFF/types-basic.ll
llvm/trunk/test/DebugInfo/COFF/types-data-members.ll
Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h (original)
+++ llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h Sat Aug 24 18:09:11 2019
@@ -11,7 +11,6 @@
#include "llvm/DebugInfo/CodeView/CVRecord.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
-#include "llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h"
#include "llvm/Support/Error.h"
namespace llvm {
@@ -31,9 +30,6 @@ enum VisitorDataSource {
Error visitTypeRecord(CVType &Record, TypeIndex Index,
TypeVisitorCallbacks &Callbacks,
VisitorDataSource Source = VDS_BytesPresent);
-Error visitTypeRecord(CVType &Record, TypeIndex Index,
- TypeVisitorCallbackPipeline &Callbacks,
- VisitorDataSource Source = VDS_BytesPresent);
Error visitTypeRecord(CVType &Record, TypeVisitorCallbacks &Callbacks,
VisitorDataSource Source = VDS_BytesPresent);
Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h (original)
+++ llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h Sat Aug 24 18:09:11 2019
@@ -82,11 +82,6 @@ public:
Pipeline.push_back(&Callbacks);
}
- void addCallbackToPipelineFront(TypeVisitorCallbacks &Callbacks) {
- auto CallBackItr = Pipeline.begin();
- Pipeline.insert(CallBackItr, &Callbacks);
- }
-
#define TYPE_RECORD(EnumName, EnumVal, Name) \
Error visitKnownRecord(CVType &CVR, Name##Record &Record) override { \
return visitKnownRecordImpl(CVR, Record); \
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp Sat Aug 24 18:09:11 2019
@@ -642,27 +642,8 @@ void CodeViewDebug::emitTypeInformation(
OS.SwitchSection(Asm->getObjFileLowering().getCOFFDebugTypesSection());
emitCodeViewMagicVersion();
- SmallString<8> CommentPrefix;
- if (OS.isVerboseAsm()) {
- CommentPrefix += '\t';
- CommentPrefix += Asm->MAI->getCommentString();
- CommentPrefix += ' ';
- }
-
TypeTableCollection Table(TypeTable.records());
TypeVisitorCallbackPipeline Pipeline;
- SmallString<512> CommentBlock;
- raw_svector_ostream CommentOS(CommentBlock);
- std::unique_ptr<ScopedPrinter> SP;
- std::unique_ptr<TypeDumpVisitor> TDV;
-
- if (OS.isVerboseAsm()) {
- // To construct block comment describing the type record for readability.
- SP = std::make_unique<ScopedPrinter>(CommentOS);
- SP->setPrefix(CommentPrefix);
- TDV = std::make_unique<TypeDumpVisitor>(Table, SP.get(), false);
- Pipeline.addCallbackToPipeline(*TDV);
- }
// To emit type record using Codeview MCStreamer adapter
CVMCAdapter CVMCOS(OS, Table);
@@ -674,7 +655,6 @@ void CodeViewDebug::emitTypeInformation(
// This will fail if the record data is invalid.
CVType Record = Table.getType(*B);
- CommentBlock.clear();
Error E = codeview::visitTypeRecord(Record, *B, Pipeline);
if (E) {
@@ -682,13 +662,6 @@ void CodeViewDebug::emitTypeInformation(
llvm_unreachable("produced malformed type record");
}
- if (OS.isVerboseAsm()) {
- // emitRawComment will insert its own tab and comment string before
- // the first line, so strip off our first one. It also prints its own
- // newline.
- OS.emitRawComment(
- CommentOS.str().drop_front(CommentPrefix.size() - 1).rtrim());
- }
B = Table.getNext(*B);
}
}
Modified: llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp (original)
+++ llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp Sat Aug 24 18:09:11 2019
@@ -209,14 +209,6 @@ struct VisitHelper {
}
}
- VisitHelper(TypeVisitorCallbackPipeline &Callbacks, VisitorDataSource Source)
- : Visitor((Source == VDS_BytesPresent) ? Pipeline : Callbacks) {
- if (Source == VDS_BytesPresent) {
- Pipeline = Callbacks;
- Pipeline.addCallbackToPipelineFront(Deserializer);
- }
- }
-
TypeDeserializer Deserializer;
TypeVisitorCallbackPipeline Pipeline;
CVTypeVisitor Visitor;
@@ -228,13 +220,6 @@ Error llvm::codeview::visitTypeRecord(CV
VisitorDataSource Source) {
VisitHelper V(Callbacks, Source);
return V.Visitor.visitTypeRecord(Record, Index);
-}
-
-Error llvm::codeview::visitTypeRecord(CVType &Record, TypeIndex Index,
- TypeVisitorCallbackPipeline &Callbacks,
- VisitorDataSource Source) {
- VisitHelper V(Callbacks, Source);
- return V.Visitor.visitTypeRecord(Record, Index);
}
Error llvm::codeview::visitTypeRecord(CVType &Record,
Modified: llvm/trunk/test/DebugInfo/COFF/array-odr-violation.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/array-odr-violation.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/array-odr-violation.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/array-odr-violation.ll Sat Aug 24 18:09:11 2019
@@ -17,27 +17,24 @@
; FIXME: sizeof(a) in the user program is 1, but we claim it is 4 because
; sometimes the frontend lies to us. See array-types-advanced.ll for an example.
;
-; CHECK: Array ({{.*}}) {
-; CHECK: TypeLeafKind: LF_ARRAY (0x1503)
-; CHECK: ElementType: YYSTYPE ({{.*}})
-; CHECK: IndexType: unsigned __int64 (0x23)
-; CHECK: SizeOf: 4
-; CHECK: Name:
-; CHECK: }
+; CHECK: # Array (0x1004)
+; CHECK: .short 0xe # Record length
+; CHECK: .short 0x1503 # Record kind: LF_ARRAY
+; CHECK: .long 0x1003 # ElementType: YYSTYPE
+; CHECK: .long 0x23 # IndexType: unsigned __int64
+; CHECK: .short 0x4 # SizeOf
+; CHECK: .byte 0 # Name
+; CHECK: .byte 241
-; sizeof(YYSTYPE) == 4
-; CHECK: Union ({{.*}}) {
-; CHECK: TypeLeafKind: LF_UNION (0x1506)
-; CHECK: MemberCount: 1
-; CHECK: Properties [ (0x600)
-; CHECK: HasUniqueName (0x200)
-; CHECK: Sealed (0x400)
-; CHECK: ]
-; CHECK: FieldList: <field list>
-; CHECK: SizeOf: 4
-; CHECK: Name: YYSTYPE
-; CHECK: LinkageName: .?ATYYSTYPE@@
-; CHECK: }
+; CHECK: # Union (0x1006)
+; CHECK: .short 0x22 # Record length
+; CHECK: .short 0x1506 # Record kind: LF_UNION
+; CHECK: .short 0x1 # MemberCount
+; CHECK: .short 0x600 # Properties ( HasUniqueName (0x200) | Sealed (0x400) )
+; CHECK: .long 0x1005 # FieldList: <field list>
+; CHECK: .short 0x4 # SizeOf
+; CHECK: .asciz "YYSTYPE" # Name
+; CHECK: .asciz ".?ATYYSTYPE@@" # LinkageName
; ModuleID = 'llvm-link'
source_filename = "llvm-link"
Modified: llvm/trunk/test/DebugInfo/COFF/class-options-common.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/class-options-common.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/class-options-common.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/class-options-common.ll Sat Aug 24 18:09:11 2019
@@ -662,17 +662,6 @@
; ASM-INLINE-COMMENTS: .short 0x3 # Attrs: Public
; ASM-INLINE-COMMENTS: .short 0x0
; ASM-INLINE-COMMENTS: .long 0x1087 # Type: void Foo::(const Foo&)
-; ASM-INLINE-COMMENTS: # MethodOverloadList (0x1088) {
-; ASM-INLINE-COMMENTS: # TypeLeafKind: LF_METHODLIST (0x1206)
-; ASM-INLINE-COMMENTS: # Method [
-; ASM-INLINE-COMMENTS: # AccessSpecifier: Public (0x3)
-; ASM-INLINE-COMMENTS: # Type: void Foo::() (0x1083)
-; ASM-INLINE-COMMENTS: # ]
-; ASM-INLINE-COMMENTS: # Method [
-; ASM-INLINE-COMMENTS: # AccessSpecifier: Public (0x3)
-; ASM-INLINE-COMMENTS: # Type: void Foo::(const Foo&) (0x1087)
-; ASM-INLINE-COMMENTS: # ]
-; ASM-INLINE-COMMENTS: # }
; ModuleID = 'class-options-common.cpp'
Modified: llvm/trunk/test/DebugInfo/COFF/inlining.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/inlining.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/inlining.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/inlining.ll Sat Aug 24 18:09:11 2019
@@ -75,33 +75,30 @@
; ASM: .section .debug$T,"dr"
; ASM: .long 4 # Debug section magic
-; ASM: # ArgList (0x1000) {
-; ASM: # TypeLeafKind: LF_ARGLIST (0x1201)
-; ASM: # NumArgs: 0
-; ASM: # Arguments [
-; ASM: # ]
-; ASM: # }
-; ASM: # Procedure (0x1001) {
-; ASM: # TypeLeafKind: LF_PROCEDURE (0x1008)
-; ASM: # ReturnType: void (0x3)
-; ASM: # CallingConvention: NearC (0x0)
-; ASM: # FunctionOptions [ (0x0)
-; ASM: # ]
-; ASM: # NumParameters: 0
-; ASM: # ArgListType: () (0x1000)
-; ASM: # }
-; ASM: # FuncId (0x1002) {
-; ASM: # TypeLeafKind: LF_FUNC_ID (0x1601)
-; ASM: # ParentScope: 0x0
-; ASM: # FunctionType: void () (0x1001)
-; ASM: # Name: bar
-; ASM: # }
-; ASM: # FuncId (0x1003) {
-; ASM: # TypeLeafKind: LF_FUNC_ID (0x1601)
-; ASM: # ParentScope: 0x0
-; ASM: # FunctionType: void () (0x1001)
-; ASM: # Name: foo
-; ASM: # }
+; ASM: # ArgList (0x1000)
+; ASM: .short 0x6 # Record length
+; ASM: .short 0x1201 # Record kind: LF_ARGLIST
+; ASM: .long 0x0 # NumArgs
+; ASM: # Procedure (0x1001)
+; ASM: .short 0xe # Record length
+; ASM: .short 0x1008 # Record kind: LF_PROCEDURE
+; ASM: .long 0x3 # ReturnType: void
+; ASM: .byte 0x0 # CallingConvention: NearC
+; ASM: .byte 0x0 # FunctionOptions
+; ASM: .short 0x0 # NumParameters
+; ASM: .long 0x1000 # ArgListType: ()
+; ASM: # FuncId (0x1002)
+; ASM: .short 0xe # Record length
+; ASM: .short 0x1601 # Record kind: LF_FUNC_ID
+; ASM: .long 0x0 # ParentScope
+; ASM: .long 0x1001 # FunctionType: void ()
+; ASM: .asciz "bar" # Name
+; ASM: # FuncId (0x1003)
+; ASM: .short 0xe # Record length
+; ASM: .short 0x1601 # Record kind: LF_FUNC_ID
+; ASM: .long 0x0 # ParentScope
+; ASM: .long 0x1001 # FunctionType: void ()
+; ASM: .asciz "foo" # Name
; We should only the LF_FUNC_ID records that we needed to reference.
; OBJ: CodeViewTypes [
Modified: llvm/trunk/test/DebugInfo/COFF/pr37492.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/pr37492.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/pr37492.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/pr37492.ll Sat Aug 24 18:09:11 2019
@@ -12,20 +12,22 @@
; collision between this LF_BITFIELD and LF_MODIFIER record, so we only emitted
; one under the assumption that the other was redundant. Check that we emit both.
-; CHECK-LABEL: # BitField ({{.*}}) {
-; CHECK-NEXT: # TypeLeafKind: LF_BITFIELD (0x1205)
-; CHECK-NEXT: # Type: unsigned char (0x20)
-; CHECK-NEXT: # BitSize: 1
-; CHECK-NEXT: # BitOffset: 0
-; CHECK-NEXT: # }
+; CHECK-LABEL: # BitField (0x1001)
+; CHECK-NEXT: .short 0xa # Record length
+; CHECK-NEXT: .short 0x1205 # Record kind: LF_BITFIELD
+; CHECK-NEXT: .long 0x20 # Type: unsigned char
+; CHECK-NEXT: .byte 0x1 # BitSize
+; CHECK-NEXT: .byte 0x0 # BitOffset
+; CHECK-NEXT: .byte 242
+; CHECK-NEXT: .byte 241
-; CHECK-LABEL: # Modifier ({{.*}}) {
-; CHECK-NEXT: # TypeLeafKind: LF_MODIFIER (0x1001)
-; CHECK-NEXT: # ModifiedType: unsigned char (0x20)
-; CHECK-NEXT: # Modifiers [ (0x1)
-; CHECK-NEXT: # Const (0x1)
-; CHECK-NEXT: # ]
-; CHECK-NEXT: # }
+; CHECK-LABEL: # Modifier (0x1007)
+; CHECK-NEXT: .short 0xa # Record length
+; CHECK-NEXT: .short 0x1001 # Record kind: LF_MODIFIER
+; CHECK-NEXT: .long 0x20 # ModifiedType: unsigned char
+; CHECK-NEXT: .short 0x1 # Modifiers ( Const (0x1) )
+; CHECK-NEXT: .byte 242
+; CHECK-NEXT: .byte 241
; ModuleID = 't.cpp'
source_filename = "t.cpp"
Modified: llvm/trunk/test/DebugInfo/COFF/synthetic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/synthetic.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/synthetic.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/synthetic.ll Sat Aug 24 18:09:11 2019
@@ -40,16 +40,16 @@ entry:
!27 = !DIDerivedType(tag: DW_TAG_member, name: "Size", scope: !1, file: !1, baseType: !26, size: 32, offset: 32)
!28 = !DILocation(line: 1, scope: !6)
-; CHECK: # Struct
-; CHECK: # TypeLeafKind: LF_STRUCTURE
-; CHECK: # MemberCount: 0
-; CHECK: # Properties [
-; CHECK: # ForwardReference
-; CHECK: # ]
-; CHECK: # FieldList: 0x0
-; CHECK: # DerivedFrom: 0x0
-; CHECK: # VShape: 0x0
-; CHECK: # SizeOf: 0
-; CHECK: # Name: __block_descriptor
-; CHECK: # }
-
+; CHECK: # Struct (0x1003)
+; CHECK: .short 0x2a # Record length
+; CHECK: .short 0x1505 # Record kind: LF_STRUCTURE
+; CHECK: .short 0x0 # MemberCount
+; CHECK: .short 0x80 # Properties ( ForwardReference (0x80) )
+; CHECK: .long 0x0 # FieldList
+; CHECK: .long 0x0 # DerivedFrom
+; CHECK: .long 0x0 # VShape
+; CHECK: .short 0x0 # SizeOf
+; CHECK: .asciz "__block_descriptor" # Name
+; CHECK: .byte 243
+; CHECK: .byte 242
+; CHECK: .byte 241
Modified: llvm/trunk/test/DebugInfo/COFF/types-basic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/types-basic.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/types-basic.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/types-basic.ll Sat Aug 24 18:09:11 2019
@@ -357,15 +357,6 @@
; ASM: .long 0x40 # Argument: float
; ASM: .long 0x41 # Argument: double
; ASM: .long 0x13 # Argument: __int64
-; ASM: # ArgList (0x1000) {
-; ASM: # TypeLeafKind: LF_ARGLIST (0x1201)
-; ASM: # NumArgs: 3
-; ASM: # Arguments [
-; ASM: # ArgType: float (0x40)
-; ASM: # ArgType: double (0x41)
-; ASM: # ArgType: __int64 (0x13)
-; ASM: # ]
-; ASM: # }
; ASM: # Procedure (0x1001)
; ASM: .short 0xe # Record length
; ASM: .short 0x1008 # Record kind: LF_PROCEDURE
@@ -374,15 +365,6 @@
; ASM: .byte 0x0 # FunctionOptions
; ASM: .short 0x3 # NumParameters
; ASM: .long 0x1000 # ArgListType: (float, double, __int64)
-; ASM: # Procedure (0x1001) {
-; ASM: # TypeLeafKind: LF_PROCEDURE (0x1008)
-; ASM: # ReturnType: void (0x3)
-; ASM: # CallingConvention: NearC (0x0)
-; ASM: # FunctionOptions [ (0x0)
-; ASM: # ]
-; ASM: # NumParameters: 3
-; ASM: # ArgListType: (float, double, __int64) (0x1000)
-; ASM: # }
; ASM: # FuncId (0x1002)
; ASM: .short 0xe # Record length
; ASM: .short 0x1601 # Record kind: LF_FUNC_ID
@@ -391,12 +373,6 @@
; ASM: .asciz "f" # Name
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # FuncId (0x1002) {
-; ASM: # TypeLeafKind: LF_FUNC_ID (0x1601)
-; ASM: # ParentScope: 0x0
-; ASM: # FunctionType: void (float, double, __int64) (0x1001)
-; ASM: # Name: f
-; ASM: # }
; ASM: # Modifier (0x1003)
; ASM: .short 0xa # Record length
; ASM: .short 0x1001 # Record kind: LF_MODIFIER
@@ -404,32 +380,11 @@
; ASM: .short 0x1 # Modifiers ( Const (0x1) )
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Modifier (0x1003) {
-; ASM: # TypeLeafKind: LF_MODIFIER (0x1001)
-; ASM: # ModifiedType: int (0x74)
-; ASM: # Modifiers [ (0x1)
-; ASM: # Const (0x1)
-; ASM: # ]
-; ASM: # }
; ASM: # Pointer (0x1004)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x1003 # PointeeType: const int
; ASM: .long 0x1000c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8 ]
-; ASM: # Pointer (0x1004) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: const int (0x1003)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # Struct (0x1005)
; ASM: .short 0x16 # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -440,18 +395,6 @@
; ASM: .long 0x0 # VShape
; ASM: .short 0x0 # SizeOf
; ASM: .asciz "A" # Name
-; ASM: # Struct (0x1005) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 0
-; ASM: # Properties [ (0x80)
-; ASM: # ForwardReference (0x80)
-; ASM: # ]
-; ASM: # FieldList: 0x0
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 0
-; ASM: # Name: A
-; ASM: # }
; ASM: # Pointer (0x1006)
; ASM: .short 0x12 # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
@@ -461,51 +404,15 @@
; ASM: .short 0x4 # Representation: GeneralData
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Pointer (0x1006) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: int (0x74)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: PointerToDataMember (0x2)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 4
-; ASM: # ClassType: A (0x1005)
-; ASM: # Representation: GeneralData (0x4)
-; ASM: # }
; ASM: # Pointer (0x1007)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x1005 # PointeeType: A
; ASM: .long 0x1040c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8, isConst ]
-; ASM: # Pointer (0x1007) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: A (0x1005)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 1
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # ArgList (0x1008)
; ASM: .short 0x6 # Record length
; ASM: .short 0x1201 # Record kind: LF_ARGLIST
; ASM: .long 0x0 # NumArgs
-; ASM: # ArgList (0x1008) {
-; ASM: # TypeLeafKind: LF_ARGLIST (0x1201)
-; ASM: # NumArgs: 0
-; ASM: # Arguments [
-; ASM: # ]
-; ASM: # }
; ASM: # MemberFunction (0x1009)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1009 # Record kind: LF_MFUNCTION
@@ -517,18 +424,6 @@
; ASM: .short 0x0 # NumParameters
; ASM: .long 0x1008 # ArgListType: ()
; ASM: .long 0x0 # ThisAdjustment
-; ASM: # MemberFunction (0x1009) {
-; ASM: # TypeLeafKind: LF_MFUNCTION (0x1009)
-; ASM: # ReturnType: void (0x3)
-; ASM: # ClassType: A (0x1005)
-; ASM: # ThisType: A* const (0x1007)
-; ASM: # CallingConvention: NearC (0x0)
-; ASM: # FunctionOptions [ (0x0)
-; ASM: # ]
-; ASM: # NumParameters: 0
-; ASM: # ArgListType: () (0x1008)
-; ASM: # ThisAdjustment: 0
-; ASM: # }
; ASM: # FieldList (0x100A)
; ASM: .short 0x1e # Record length
; ASM: .short 0x1203 # Record kind: LF_FIELDLIST
@@ -544,22 +439,6 @@
; ASM: .byte 243
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # FieldList (0x100A) {
-; ASM: # TypeLeafKind: LF_FIELDLIST (0x1203)
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x0
-; ASM: # Name: a
-; ASM: # }
-; ASM: # OneMethod {
-; ASM: # TypeLeafKind: LF_ONEMETHOD (0x1511)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: void A::() (0x1009)
-; ASM: # Name: A::f
-; ASM: # }
-; ASM: # }
; ASM: # Struct (0x100B)
; ASM: .short 0x16 # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -570,39 +449,17 @@
; ASM: .long 0x0 # VShape
; ASM: .short 0x4 # SizeOf
; ASM: .asciz "A" # Name
-; ASM: # Struct (0x100B) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 2
-; ASM: # Properties [ (0x0)
-; ASM: # ]
-; ASM: # FieldList: <field list> (0x100A)
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 4
-; ASM: # Name: A
-; ASM: # }
; ASM: # StringId (0x100C)
; ASM: .short 0x1e # Record length
; ASM: .short 0x1605 # Record kind: LF_STRING_ID
; ASM: .long 0x0 # Id
; ASM: .asciz "D:\\src\\llvm\\build\\t.cpp" # StringData
-; ASM: # StringId (0x100C) {
-; ASM: # TypeLeafKind: LF_STRING_ID (0x1605)
-; ASM: # Id: 0x0
-; ASM: # StringData: D:\src\llvm\build\t.cpp
-; ASM: # }
; ASM: # UdtSourceLine (0x100D)
; ASM: .short 0xe # Record length
; ASM: .short 0x1606 # Record kind: LF_UDT_SRC_LINE
; ASM: .long 0x100b # UDT: A
; ASM: .long 0x100c # SourceFile: D:\src\llvm\build\t.cpp
; ASM: .long 0x1 # LineNumber
-; ASM: # UdtSourceLine (0x100D) {
-; ASM: # TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
-; ASM: # UDT: A (0x100B)
-; ASM: # SourceFile: D:\src\llvm\build\t.cpp (0x100C)
-; ASM: # LineNumber: 1
-; ASM: # }
; ASM: # Pointer (0x100E)
; ASM: .short 0x12 # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
@@ -612,22 +469,6 @@
; ASM: .short 0x8 # Representation: GeneralFunction
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Pointer (0x100E) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: void A::() (0x1009)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: PointerToMemberFunction (0x3)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # ClassType: A (0x1005)
-; ASM: # Representation: GeneralFunction (0x8)
-; ASM: # }
; ASM: # Modifier (0x100F)
; ASM: .short 0xa # Record length
; ASM: .short 0x1001 # Record kind: LF_MODIFIER
@@ -635,32 +476,11 @@
; ASM: .short 0x1 # Modifiers ( Const (0x1) )
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Modifier (0x100F) {
-; ASM: # TypeLeafKind: LF_MODIFIER (0x1001)
-; ASM: # ModifiedType: void (0x3)
-; ASM: # Modifiers [ (0x1)
-; ASM: # Const (0x1)
-; ASM: # ]
-; ASM: # }
; ASM: # Pointer (0x1010)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x100f # PointeeType: const void
; ASM: .long 0x1000c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8 ]
-; ASM: # Pointer (0x1010) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: const void (0x100F)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # Procedure (0x1011)
; ASM: .short 0xe # Record length
; ASM: .short 0x1008 # Record kind: LF_PROCEDURE
@@ -669,15 +489,6 @@
; ASM: .byte 0x0 # FunctionOptions
; ASM: .short 0x0 # NumParameters
; ASM: .long 0x1008 # ArgListType: ()
-; ASM: # Procedure (0x1011) {
-; ASM: # TypeLeafKind: LF_PROCEDURE (0x1008)
-; ASM: # ReturnType: void (0x3)
-; ASM: # CallingConvention: NearC (0x0)
-; ASM: # FunctionOptions [ (0x0)
-; ASM: # ]
-; ASM: # NumParameters: 0
-; ASM: # ArgListType: () (0x1008)
-; ASM: # }
; ASM: # FuncId (0x1012)
; ASM: .short 0x16 # Record length
; ASM: .short 0x1601 # Record kind: LF_FUNC_ID
@@ -686,12 +497,6 @@
; ASM: .asciz "CharTypes" # Name
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # FuncId (0x1012) {
-; ASM: # TypeLeafKind: LF_FUNC_ID (0x1601)
-; ASM: # ParentScope: 0x0
-; ASM: # FunctionType: void () (0x1011)
-; ASM: # Name: CharTypes
-; ASM: # }
; ASM: # StringId (0x1013)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1605 # Record kind: LF_STRING_ID
@@ -699,11 +504,6 @@
; ASM: .asciz "D:\\src\\llvm\\build" # StringData
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # StringId (0x1013) {
-; ASM: # TypeLeafKind: LF_STRING_ID (0x1605)
-; ASM: # Id: 0x0
-; ASM: # StringData: D:\src\llvm\build
-; ASM: # }
; ASM: # StringId (0x1014)
; ASM: .short 0xe # Record length
; ASM: .short 0x1605 # Record kind: LF_STRING_ID
@@ -711,11 +511,6 @@
; ASM: .asciz "t.cpp" # StringData
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # StringId (0x1014) {
-; ASM: # TypeLeafKind: LF_STRING_ID (0x1605)
-; ASM: # Id: 0x0
-; ASM: # StringData: t.cpp
-; ASM: # }
; ASM: # BuildInfo (0x1015)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1603 # Record kind: LF_BUILDINFO
@@ -727,17 +522,6 @@
; ASM: .long 0x0 # Argument
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # BuildInfo (0x1015) {
-; ASM: # TypeLeafKind: LF_BUILDINFO (0x1603)
-; ASM: # NumArgs: 5
-; ASM: # Arguments [
-; ASM: # ArgType: D:\src\llvm\build (0x1013)
-; ASM: # ArgType: 0x0
-; ASM: # ArgType: t.cpp (0x1014)
-; ASM: # ArgType: 0x0
-; ASM: # ArgType: 0x0
-; ASM: # ]
-; ASM: # }
; ModuleID = 't.cpp'
source_filename = "t.cpp"
Modified: llvm/trunk/test/DebugInfo/COFF/types-data-members.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/types-data-members.ll?rev=369860&r1=369859&r2=369860&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/types-data-members.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/types-data-members.ll Sat Aug 24 18:09:11 2019
@@ -397,12 +397,6 @@
; ASM: .short 0x6 # Record length
; ASM: .short 0x1201 # Record kind: LF_ARGLIST
; ASM: .long 0x0 # NumArgs
-; ASM: # ArgList (0x1000) {
-; ASM: # TypeLeafKind: LF_ARGLIST (0x1201)
-; ASM: # NumArgs: 0
-; ASM: # Arguments [
-; ASM: # ]
-; ASM: # }
; ASM: # Procedure (0x1001)
; ASM: .short 0xe # Record length
; ASM: .short 0x1008 # Record kind: LF_PROCEDURE
@@ -411,15 +405,6 @@
; ASM: .byte 0x0 # FunctionOptions
; ASM: .short 0x0 # NumParameters
; ASM: .long 0x1000 # ArgListType: ()
-; ASM: # Procedure (0x1001) {
-; ASM: # TypeLeafKind: LF_PROCEDURE (0x1008)
-; ASM: # ReturnType: void (0x3)
-; ASM: # CallingConvention: NearC (0x0)
-; ASM: # FunctionOptions [ (0x0)
-; ASM: # ]
-; ASM: # NumParameters: 0
-; ASM: # ArgListType: () (0x1000)
-; ASM: # }
; ASM: # FuncId (0x1002)
; ASM: .short 0x16 # Record length
; ASM: .short 0x1601 # Record kind: LF_FUNC_ID
@@ -429,12 +414,6 @@
; ASM: .byte 243
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # FuncId (0x1002) {
-; ASM: # TypeLeafKind: LF_FUNC_ID (0x1601)
-; ASM: # ParentScope: 0x0
-; ASM: # FunctionType: void () (0x1001)
-; ASM: # Name: UseTypes
-; ASM: # }
; ASM: # Struct (0x1003)
; ASM: .short 0x2a # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -448,20 +427,6 @@
; ASM: .asciz ".?AUStruct@@" # LinkageName
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Struct (0x1003) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 0
-; ASM: # Properties [ (0x280)
-; ASM: # ForwardReference (0x80)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: 0x0
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 0
-; ASM: # Name: Struct
-; ASM: # LinkageName: .?AUStruct@@
-; ASM: # }
; ASM: # Modifier (0x1004)
; ASM: .short 0xa # Record length
; ASM: .short 0x1001 # Record kind: LF_MODIFIER
@@ -469,13 +434,6 @@
; ASM: .short 0x1 # Modifiers ( Const (0x1) )
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Modifier (0x1004) {
-; ASM: # TypeLeafKind: LF_MODIFIER (0x1001)
-; ASM: # ModifiedType: int (0x74)
-; ASM: # Modifiers [ (0x1)
-; ASM: # Const (0x1)
-; ASM: # ]
-; ASM: # }
; ASM: # FieldList (0x1005)
; ASM: .short 0x3e # Record length
; ASM: .short 0x1203 # Record kind: LF_FIELDLIST
@@ -507,36 +465,6 @@
; ASM: .short 0x3 # Attrs: Public
; ASM: .long 0x1004 # Type: const int
; ASM: .asciz "sdm" # Name
-; ASM: # FieldList (0x1005) {
-; ASM: # TypeLeafKind: LF_FIELDLIST (0x1203)
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x0
-; ASM: # Name: s1
-; ASM: # }
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x4
-; ASM: # Name: s2
-; ASM: # }
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x8
-; ASM: # Name: s3
-; ASM: # }
-; ASM: # StaticDataMember {
-; ASM: # TypeLeafKind: LF_STMEMBER (0x150E)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: const int (0x1004)
-; ASM: # Name: sdm
-; ASM: # }
-; ASM: # }
; ASM: # Struct (0x1006)
; ASM: .short 0x2a # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -550,41 +478,17 @@
; ASM: .asciz ".?AUStruct@@" # LinkageName
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Struct (0x1006) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 4
-; ASM: # Properties [ (0x200)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: <field list> (0x1005)
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 12
-; ASM: # Name: Struct
-; ASM: # LinkageName: .?AUStruct@@
-; ASM: # }
; ASM: # StringId (0x1007)
; ASM: .short 0x1e # Record length
; ASM: .short 0x1605 # Record kind: LF_STRING_ID
; ASM: .long 0x0 # Id
; ASM: .asciz "D:\\src\\llvm\\build\\t.cpp" # StringData
-; ASM: # StringId (0x1007) {
-; ASM: # TypeLeafKind: LF_STRING_ID (0x1605)
-; ASM: # Id: 0x0
-; ASM: # StringData: D:\src\llvm\build\t.cpp
-; ASM: # }
; ASM: # UdtSourceLine (0x1008)
; ASM: .short 0xe # Record length
; ASM: .short 0x1606 # Record kind: LF_UDT_SRC_LINE
; ASM: .long 0x1006 # UDT: Struct
; ASM: .long 0x1007 # SourceFile: D:\src\llvm\build\t.cpp
; ASM: .long 0x1 # LineNumber
-; ASM: # UdtSourceLine (0x1008) {
-; ASM: # TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
-; ASM: # UDT: Struct (0x1006)
-; ASM: # SourceFile: D:\src\llvm\build\t.cpp (0x1007)
-; ASM: # LineNumber: 1
-; ASM: # }
; ASM: # Union (0x1009)
; ASM: .short 0x1e # Record length
; ASM: .short 0x1506 # Record kind: LF_UNION
@@ -594,18 +498,6 @@
; ASM: .short 0x0 # SizeOf
; ASM: .asciz "Union" # Name
; ASM: .asciz ".?ATUnion@@" # LinkageName
-; ASM: # Union (0x1009) {
-; ASM: # TypeLeafKind: LF_UNION (0x1506)
-; ASM: # MemberCount: 0
-; ASM: # Properties [ (0x280)
-; ASM: # ForwardReference (0x80)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: 0x0
-; ASM: # SizeOf: 0
-; ASM: # Name: Union
-; ASM: # LinkageName: .?ATUnion@@
-; ASM: # }
; ASM: # FieldList (0x100A)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1203 # Record kind: LF_FIELDLIST
@@ -619,23 +511,6 @@
; ASM: .long 0x40 # Type: float
; ASM: .short 0x0 # FieldOffset
; ASM: .asciz "b" # Name
-; ASM: # FieldList (0x100A) {
-; ASM: # TypeLeafKind: LF_FIELDLIST (0x1203)
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x0
-; ASM: # Name: a
-; ASM: # }
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: float (0x40)
-; ASM: # FieldOffset: 0x0
-; ASM: # Name: b
-; ASM: # }
-; ASM: # }
; ASM: # Union (0x100B)
; ASM: .short 0x1e # Record length
; ASM: .short 0x1506 # Record kind: LF_UNION
@@ -645,30 +520,12 @@
; ASM: .short 0x4 # SizeOf
; ASM: .asciz "Union" # Name
; ASM: .asciz ".?ATUnion@@" # LinkageName
-; ASM: # Union (0x100B) {
-; ASM: # TypeLeafKind: LF_UNION (0x1506)
-; ASM: # MemberCount: 2
-; ASM: # Properties [ (0x600)
-; ASM: # HasUniqueName (0x200)
-; ASM: # Sealed (0x400)
-; ASM: # ]
-; ASM: # FieldList: <field list> (0x100A)
-; ASM: # SizeOf: 4
-; ASM: # Name: Union
-; ASM: # LinkageName: .?ATUnion@@
-; ASM: # }
; ASM: # UdtSourceLine (0x100C)
; ASM: .short 0xe # Record length
; ASM: .short 0x1606 # Record kind: LF_UDT_SRC_LINE
; ASM: .long 0x100b # UDT: Union
; ASM: .long 0x1007 # SourceFile: D:\src\llvm\build\t.cpp
; ASM: .long 0x7 # LineNumber
-; ASM: # UdtSourceLine (0x100C) {
-; ASM: # TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
-; ASM: # UDT: Union (0x100B)
-; ASM: # SourceFile: D:\src\llvm\build\t.cpp (0x1007)
-; ASM: # LineNumber: 7
-; ASM: # }
; ASM: # Class (0x100D)
; ASM: .short 0x26 # Record length
; ASM: .short 0x1504 # Record kind: LF_CLASS
@@ -680,20 +537,6 @@
; ASM: .short 0x0 # SizeOf
; ASM: .asciz "Class" # Name
; ASM: .asciz ".?AVClass@@" # LinkageName
-; ASM: # Class (0x100D) {
-; ASM: # TypeLeafKind: LF_CLASS (0x1504)
-; ASM: # MemberCount: 0
-; ASM: # Properties [ (0x280)
-; ASM: # ForwardReference (0x80)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: 0x0
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 0
-; ASM: # Name: Class
-; ASM: # LinkageName: .?AVClass@@
-; ASM: # }
; ASM: # FieldList (0x100E)
; ASM: .short 0x32 # Record length
; ASM: .short 0x1203 # Record kind: LF_FIELDLIST
@@ -716,30 +559,6 @@
; ASM: .short 0x8 # FieldOffset
; ASM: .asciz "prot" # Name
; ASM: .byte 241
-; ASM: # FieldList (0x100E) {
-; ASM: # TypeLeafKind: LF_FIELDLIST (0x1203)
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x0
-; ASM: # Name: pub
-; ASM: # }
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Private (0x1)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x4
-; ASM: # Name: priv
-; ASM: # }
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Protected (0x2)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x8
-; ASM: # Name: prot
-; ASM: # }
-; ASM: # }
; ASM: # Class (0x100F)
; ASM: .short 0x26 # Record length
; ASM: .short 0x1504 # Record kind: LF_CLASS
@@ -751,31 +570,12 @@
; ASM: .short 0xc # SizeOf
; ASM: .asciz "Class" # Name
; ASM: .asciz ".?AVClass@@" # LinkageName
-; ASM: # Class (0x100F) {
-; ASM: # TypeLeafKind: LF_CLASS (0x1504)
-; ASM: # MemberCount: 3
-; ASM: # Properties [ (0x200)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: <field list> (0x100E)
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 12
-; ASM: # Name: Class
-; ASM: # LinkageName: .?AVClass@@
-; ASM: # }
; ASM: # UdtSourceLine (0x1010)
; ASM: .short 0xe # Record length
; ASM: .short 0x1606 # Record kind: LF_UDT_SRC_LINE
; ASM: .long 0x100f # UDT: Class
; ASM: .long 0x1007 # SourceFile: D:\src\llvm\build\t.cpp
; ASM: .long 0xb # LineNumber
-; ASM: # UdtSourceLine (0x1010) {
-; ASM: # TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
-; ASM: # UDT: Class (0x100F)
-; ASM: # SourceFile: D:\src\llvm\build\t.cpp (0x1007)
-; ASM: # LineNumber: 11
-; ASM: # }
; ASM: # Struct (0x1011)
; ASM: .short 0x36 # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -789,68 +589,22 @@
; ASM: .asciz ".?AUDerivedClass@@" # LinkageName
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Struct (0x1011) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 0
-; ASM: # Properties [ (0x280)
-; ASM: # ForwardReference (0x80)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: 0x0
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 0
-; ASM: # Name: DerivedClass
-; ASM: # LinkageName: .?AUDerivedClass@@
-; ASM: # }
; ASM: # Pointer (0x1012)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x1004 # PointeeType: const int
; ASM: .long 0x1000c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8 ]
-; ASM: # Pointer (0x1012) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: const int (0x1004)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # VFTableShape (0x1013)
; ASM: .short 0x6 # Record length
; ASM: .short 0xa # Record kind: LF_VTSHAPE
; ASM: .short 0x1 # VFEntryCount
; ASM: .byte 0x0
; ASM: .byte 241
-; ASM: # VFTableShape (0x1013) {
-; ASM: # TypeLeafKind: LF_VTSHAPE (0xA)
-; ASM: # VFEntryCount: 1
-; ASM: # }
; ASM: # Pointer (0x1014)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x1013 # PointeeType: <vftable 1 methods>
; ASM: .long 0x1000c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8 ]
-; ASM: # Pointer (0x1014) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: <vftable 1 methods> (0x1013)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # FieldList (0x1015)
; ASM: .short 0x32 # Record length
; ASM: .short 0x1203 # Record kind: LF_FIELDLIST
@@ -874,34 +628,6 @@
; ASM: .long 0x74 # Type: int
; ASM: .short 0x18 # FieldOffset
; ASM: .asciz "d" # Name
-; ASM: # FieldList (0x1015) {
-; ASM: # TypeLeafKind: LF_FIELDLIST (0x1203)
-; ASM: # BaseClass {
-; ASM: # TypeLeafKind: LF_BCLASS (0x1400)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # BaseType: Struct (0x1003)
-; ASM: # BaseOffset: 0x0
-; ASM: # }
-; ASM: # VirtualBaseClass {
-; ASM: # TypeLeafKind: LF_VBCLASS (0x1401)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # BaseType: Class (0x100D)
-; ASM: # VBPtrType: const int* (0x1012)
-; ASM: # VBPtrOffset: 0x0
-; ASM: # VBTableIndex: 0x1
-; ASM: # }
-; ASM: # VFPtr {
-; ASM: # TypeLeafKind: LF_VFUNCTAB (0x1409)
-; ASM: # Type: <vftable 1 methods>* (0x1014)
-; ASM: # }
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x18
-; ASM: # Name: d
-; ASM: # }
-; ASM: # }
; ASM: # Struct (0x1016)
; ASM: .short 0x36 # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -915,31 +641,12 @@
; ASM: .asciz ".?AUDerivedClass@@" # LinkageName
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # Struct (0x1016) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 4
-; ASM: # Properties [ (0x200)
-; ASM: # HasUniqueName (0x200)
-; ASM: # ]
-; ASM: # FieldList: <field list> (0x1015)
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 48
-; ASM: # Name: DerivedClass
-; ASM: # LinkageName: .?AUDerivedClass@@
-; ASM: # }
; ASM: # UdtSourceLine (0x1017)
; ASM: .short 0xe # Record length
; ASM: .short 0x1606 # Record kind: LF_UDT_SRC_LINE
; ASM: .long 0x1016 # UDT: DerivedClass
; ASM: .long 0x1007 # SourceFile: D:\src\llvm\build\t.cpp
; ASM: .long 0x14 # LineNumber
-; ASM: # UdtSourceLine (0x1017) {
-; ASM: # TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
-; ASM: # UDT: DerivedClass (0x1016)
-; ASM: # SourceFile: D:\src\llvm\build\t.cpp (0x1007)
-; ASM: # LineNumber: 20
-; ASM: # }
; ASM: # Struct (0x1018)
; ASM: .short 0x36 # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -952,21 +659,6 @@
; ASM: .asciz "Class::Nested" # Name
; ASM: .asciz ".?AUNested at Class@@" # LinkageName
; ASM: .byte 241
-; ASM: # Struct (0x1018) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 0
-; ASM: # Properties [ (0x288)
-; ASM: # ForwardReference (0x80)
-; ASM: # HasUniqueName (0x200)
-; ASM: # Nested (0x8)
-; ASM: # ]
-; ASM: # FieldList: 0x0
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 0
-; ASM: # Name: Class::Nested
-; ASM: # LinkageName: .?AUNested at Class@@
-; ASM: # }
; ASM: # FieldList (0x1019)
; ASM: .short 0xe # Record length
; ASM: .short 0x1203 # Record kind: LF_FIELDLIST
@@ -975,16 +667,6 @@
; ASM: .long 0x74 # Type: int
; ASM: .short 0x0 # FieldOffset
; ASM: .asciz "n" # Name
-; ASM: # FieldList (0x1019) {
-; ASM: # TypeLeafKind: LF_FIELDLIST (0x1203)
-; ASM: # DataMember {
-; ASM: # TypeLeafKind: LF_MEMBER (0x150D)
-; ASM: # AccessSpecifier: Public (0x3)
-; ASM: # Type: int (0x74)
-; ASM: # FieldOffset: 0x0
-; ASM: # Name: n
-; ASM: # }
-; ASM: # }
; ASM: # Struct (0x101A)
; ASM: .short 0x36 # Record length
; ASM: .short 0x1505 # Record kind: LF_STRUCTURE
@@ -997,51 +679,17 @@
; ASM: .asciz "Class::Nested" # Name
; ASM: .asciz ".?AUNested at Class@@" # LinkageName
; ASM: .byte 241
-; ASM: # Struct (0x101A) {
-; ASM: # TypeLeafKind: LF_STRUCTURE (0x1505)
-; ASM: # MemberCount: 1
-; ASM: # Properties [ (0x208)
-; ASM: # HasUniqueName (0x200)
-; ASM: # Nested (0x8)
-; ASM: # ]
-; ASM: # FieldList: <field list> (0x1019)
-; ASM: # DerivedFrom: 0x0
-; ASM: # VShape: 0x0
-; ASM: # SizeOf: 4
-; ASM: # Name: Class::Nested
-; ASM: # LinkageName: .?AUNested at Class@@
-; ASM: # }
; ASM: # UdtSourceLine (0x101B)
; ASM: .short 0xe # Record length
; ASM: .short 0x1606 # Record kind: LF_UDT_SRC_LINE
; ASM: .long 0x101a # UDT: Class::Nested
; ASM: .long 0x1007 # SourceFile: D:\src\llvm\build\t.cpp
; ASM: .long 0x17 # LineNumber
-; ASM: # UdtSourceLine (0x101B) {
-; ASM: # TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
-; ASM: # UDT: Class::Nested (0x101A)
-; ASM: # SourceFile: D:\src\llvm\build\t.cpp (0x1007)
-; ASM: # LineNumber: 23
-; ASM: # }
; ASM: # Pointer (0x101C)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x1011 # PointeeType: DerivedClass
; ASM: .long 0x1040c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8, isConst ]
-; ASM: # Pointer (0x101C) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: DerivedClass (0x1011)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 1
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # MemberFunction (0x101D)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1009 # Record kind: LF_MFUNCTION
@@ -1053,18 +701,6 @@
; ASM: .short 0x0 # NumParameters
; ASM: .long 0x1000 # ArgListType: ()
; ASM: .long 0x0 # ThisAdjustment
-; ASM: # MemberFunction (0x101D) {
-; ASM: # TypeLeafKind: LF_MFUNCTION (0x1009)
-; ASM: # ReturnType: void (0x3)
-; ASM: # ClassType: DerivedClass (0x1011)
-; ASM: # ThisType: DerivedClass* const (0x101C)
-; ASM: # CallingConvention: NearC (0x0)
-; ASM: # FunctionOptions [ (0x0)
-; ASM: # ]
-; ASM: # NumParameters: 0
-; ASM: # ArgListType: () (0x1000)
-; ASM: # ThisAdjustment: 0
-; ASM: # }
; ASM: # MemberFuncId (0x101E)
; ASM: .short 0x26 # Record length
; ASM: .short 0x1602 # Record kind: LF_MFUNC_ID
@@ -1072,31 +708,11 @@
; ASM: .long 0x101d # FunctionType: void DerivedClass::()
; ASM: .asciz "DerivedClass::DerivedClass" # Name
; ASM: .byte 241
-; ASM: # MemberFuncId (0x101E) {
-; ASM: # TypeLeafKind: LF_MFUNC_ID (0x1602)
-; ASM: # ClassType: DerivedClass (0x1011)
-; ASM: # FunctionType: void DerivedClass::() (0x101D)
-; ASM: # Name: DerivedClass::DerivedClass
-; ASM: # }
; ASM: # Pointer (0x101F)
; ASM: .short 0xa # Record length
; ASM: .short 0x1002 # Record kind: LF_POINTER
; ASM: .long 0x1011 # PointeeType: DerivedClass
; ASM: .long 0x1000c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8 ]
-; ASM: # Pointer (0x101F) {
-; ASM: # TypeLeafKind: LF_POINTER (0x1002)
-; ASM: # PointeeType: DerivedClass (0x1011)
-; ASM: # PtrType: Near64 (0xC)
-; ASM: # PtrMode: Pointer (0x0)
-; ASM: # IsFlat: 0
-; ASM: # IsConst: 0
-; ASM: # IsVolatile: 0
-; ASM: # IsUnaligned: 0
-; ASM: # IsRestrict: 0
-; ASM: # IsThisPtr&: 0
-; ASM: # IsThisPtr&&: 0
-; ASM: # SizeOf: 8
-; ASM: # }
; ASM: # StringId (0x1020)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1605 # Record kind: LF_STRING_ID
@@ -1104,11 +720,6 @@
; ASM: .asciz "D:\\src\\llvm\\build" # StringData
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # StringId (0x1020) {
-; ASM: # TypeLeafKind: LF_STRING_ID (0x1605)
-; ASM: # Id: 0x0
-; ASM: # StringData: D:\src\llvm\build
-; ASM: # }
; ASM: # StringId (0x1021)
; ASM: .short 0xe # Record length
; ASM: .short 0x1605 # Record kind: LF_STRING_ID
@@ -1116,11 +727,6 @@
; ASM: .asciz "t.cpp" # StringData
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # StringId (0x1021) {
-; ASM: # TypeLeafKind: LF_STRING_ID (0x1605)
-; ASM: # Id: 0x0
-; ASM: # StringData: t.cpp
-; ASM: # }
; ASM: # BuildInfo (0x1022)
; ASM: .short 0x1a # Record length
; ASM: .short 0x1603 # Record kind: LF_BUILDINFO
@@ -1132,17 +738,6 @@
; ASM: .long 0x0 # Argument
; ASM: .byte 242
; ASM: .byte 241
-; ASM: # BuildInfo (0x1022) {
-; ASM: # TypeLeafKind: LF_BUILDINFO (0x1603)
-; ASM: # NumArgs: 5
-; ASM: # Arguments [
-; ASM: # ArgType: D:\src\llvm\build (0x1020)
-; ASM: # ArgType: 0x0
-; ASM: # ArgType: t.cpp (0x1021)
-; ASM: # ArgType: 0x0
-; ASM: # ArgType: 0x0
-; ASM: # ]
-; ASM: # }
; ModuleID = 't.cpp'
source_filename = "t.cpp"
More information about the llvm-commits
mailing list