[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