[clang-tools-extra] r339592 - [clang-doc] Pass over function-internal declarations

Julie Hockett via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 14 08:28:56 PDT 2018


Thanks for the note! https://reviews.llvm.org/D50709

On Mon, Aug 13, 2018 at 11:18 PM Mikael Holmén <mikael.holmen at ericsson.com>
wrote:

> Hi Julie,
>
> With warnings enabled I see this:
>
> ../tools/clang/tools/extra/clang-doc/Mapper.cpp:33:26: error: unused
> variable 'F' [-Werror,-Wunused-variable]
>    if (const DeclContext *F = D->getParentFunctionOrMethod())
>                           ^
> 1 error generated.
>
> Regards,
> Mikael
>
> On 08/13/2018 08:05 PM, Julie Hockett via cfe-commits wrote:
> > Author: juliehockett
> > Date: Mon Aug 13 11:05:50 2018
> > New Revision: 339592
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=339592&view=rev
> > Log:
> > [clang-doc] Pass over function-internal declarations
> >
> > Modified:
> >      clang-tools-extra/trunk/clang-doc/Mapper.cpp
> >      clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp
> >      clang-tools-extra/trunk/test/clang-doc/bc-record.cpp
> >      clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp
> >      clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp
> >      clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp
> >      clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp
> >
> > Modified: clang-tools-extra/trunk/clang-doc/Mapper.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Mapper.cpp?rev=339592&r1=339591&r2=339592&view=diff
> >
> ==============================================================================
> > --- clang-tools-extra/trunk/clang-doc/Mapper.cpp (original)
> > +++ clang-tools-extra/trunk/clang-doc/Mapper.cpp Mon Aug 13 11:05:50 2018
> > @@ -29,6 +29,10 @@ template <typename T> bool MapASTVisitor
> >     if
> (D->getASTContext().getSourceManager().isInSystemHeader(D->getLocation()))
> >       return true;
> >
> > +  // Skip function-internal decls.
> > +  if (const DeclContext *F = D->getParentFunctionOrMethod())
> > +    return true;
> > +
> >     llvm::SmallString<128> USR;
> >     // If there is an error generating a USR for the decl, skip this
> decl.
> >     if (index::generateUSRForDecl(D, USR))
> >
> > Modified: clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp?rev=339592&r1=339591&r2=339592&view=diff
> >
> ==============================================================================
> > --- clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp (original)
> > +++ clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp Mon Aug 13
> 11:05:50 2018
> > @@ -97,72 +97,118 @@ inline void anonInlineFunction();
> >   // RUN: clang-doc --dump-intermediate --doxygen
> --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
> >
> >
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s
> --check-prefix CHECK-0
> > +// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s
> --check-prefix CHECK-0
> >   // CHECK-0: <BLOCKINFO_BLOCK/>
> >   // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> >   // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
> >   // CHECK-0-NEXT: </VersionBlock>
> > -// CHECK-0-NEXT: <RecordBlock NumWords=107 BlockCodeSize=4>
> > +// CHECK-0-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4>
> >   // CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-0-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
> > -// CHECK-0-NEXT:   <ReferenceBlock NumWords=17 BlockCodeSize=4>
> > +// CHECK-0-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-0-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
> >   // CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-0-NEXT:     <Name abbrevid=5 op0=29/> blob data =
> 'inlinedFunctionWithInnerClass'
> > -// CHECK-0-NEXT:     <RefType abbrevid=6 op0=3/>
> > -// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
> > -// CHECK-0-NEXT:   </ReferenceBlock>
> > -// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=24 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-0-NEXT:   <TagType abbrevid=8 op0=3/>
> > -// CHECK-0-NEXT:   <FunctionBlock NumWords=71 BlockCodeSize=4>
> > -// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-0-NEXT:     <Name abbrevid=5 op0=17/> blob data =
> 'innerPublicMethod'
> > -// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-0-NEXT:     <Name abbrevid=5 op0=13/> blob data =
> 'namedFunction'
> > +// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'InnerClass'
> > -// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
> >   // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-0-NEXT:     </ReferenceBlock>
> > -// CHECK-0-NEXT:     <ReferenceBlock NumWords=17 BlockCodeSize=4>
> > +// CHECK-0-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > +// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-0-NEXT:       </ReferenceBlock>
> > +// CHECK-0-NEXT:     </TypeBlock>
> > +// CHECK-0-NEXT:   </FunctionBlock>
> > +// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
> > +// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data =
> 'namedStaticFunction'
> > +// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-0-NEXT:       <Name abbrevid=5 op0=29/> blob data =
> 'inlinedFunctionWithInnerClass'
> > -// CHECK-0-NEXT:       <RefType abbrevid=6 op0=3/>
> > +// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
> >   // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-0-NEXT:     </ReferenceBlock>
> > -// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > -// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=26 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-0-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > +// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-0-NEXT:       </ReferenceBlock>
> > +// CHECK-0-NEXT:     </TypeBlock>
> > +// CHECK-0-NEXT:   </FunctionBlock>
> > +// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
> > +// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data =
> 'namedInlineFunction'
> > +// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'InnerClass'
> > -// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
> > -// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
> > +// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-0-NEXT:     </ReferenceBlock>
> > +// CHECK-0-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> >   // CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
> >   // CHECK-0-NEXT:       </ReferenceBlock>
> >   // CHECK-0-NEXT:     </TypeBlock>
> >   // CHECK-0-NEXT:   </FunctionBlock>
> > -// CHECK-0-NEXT: </RecordBlock>
> > +// CHECK-0-NEXT: </NamespaceBlock>
> >
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s
> --check-prefix CHECK-1
> > +// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s
> --check-prefix CHECK-1
> >   // CHECK-1: <BLOCKINFO_BLOCK/>
> >   // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> >   // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
> >   // CHECK-1-NEXT: </VersionBlock>
> > -// CHECK-1-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4>
> > +// CHECK-1-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4>
> >   // CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'
> > -// CHECK-1-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
> > +// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/>
> > +// CHECK-1-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
> > +// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
> > +// CHECK-1-NEXT:     </ReferenceBlock>
> > +// CHECK-1-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'
> > +// CHECK-1-NEXT:     <Access abbrevid=5 op0=3/>
> > +// CHECK-1-NEXT:   </MemberTypeBlock>
> > +// CHECK-1-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
> > +// CHECK-1-NEXT:     </ReferenceBlock>
> > +// CHECK-1-NEXT:     <Name abbrevid=4 op0=14/> blob data =
> 'protectedField'
> > +// CHECK-1-NEXT:     <Access abbrevid=5 op0=1/>
> > +// CHECK-1-NEXT:   </MemberTypeBlock>
> > +// CHECK-1-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
> > +// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
> > +// CHECK-1-NEXT:     </ReferenceBlock>
> > +// CHECK-1-NEXT:     <Name abbrevid=4 op0=12/> blob data =
> 'privateField'
> > +// CHECK-1-NEXT:     <Access abbrevid=5 op0=2/>
> > +// CHECK-1-NEXT:   </MemberTypeBlock>
> > +// CHECK-1-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4>
> >   // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data =
> 'namedFunction'
> > +// CHECK-1-NEXT:     <Name abbrevid=5 op0=12/> blob data =
> 'publicMethod'
> >   // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > -// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-1-NEXT:     </ReferenceBlock>
> > -// CHECK-1-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-1-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
> > +// CHECK-1-NEXT:     </ReferenceBlock>
> >   // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > @@ -170,16 +216,23 @@ inline void anonInlineFunction();
> >   // CHECK-1-NEXT:       </ReferenceBlock>
> >   // CHECK-1-NEXT:     </TypeBlock>
> >   // CHECK-1-NEXT:   </FunctionBlock>
> > -// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
> > +// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
> >   // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data =
> 'namedStaticFunction'
> > +// CHECK-1-NEXT:     <Name abbrevid=5 op0=15/> blob data =
> 'protectedMethod'
> >   // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > -// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-1-NEXT:     </ReferenceBlock>
> > -// CHECK-1-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-1-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
> > +// CHECK-1-NEXT:     </ReferenceBlock>
> >   // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > @@ -187,16 +240,23 @@ inline void anonInlineFunction();
> >   // CHECK-1-NEXT:       </ReferenceBlock>
> >   // CHECK-1-NEXT:     </TypeBlock>
> >   // CHECK-1-NEXT:   </FunctionBlock>
> > -// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
> > +// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
> >   // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data =
> 'namedInlineFunction'
> > +// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data =
> 'privateMethod'
> >   // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > -// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-1-NEXT:     </ReferenceBlock>
> > -// CHECK-1-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-1-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
> > +// CHECK-1-NEXT:     </ReferenceBlock>
> >   // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > @@ -204,104 +264,184 @@ inline void anonInlineFunction();
> >   // CHECK-1-NEXT:       </ReferenceBlock>
> >   // CHECK-1-NEXT:     </TypeBlock>
> >   // CHECK-1-NEXT:   </FunctionBlock>
> > -// CHECK-1-NEXT: </NamespaceBlock>
> > +// CHECK-1-NEXT: </RecordBlock>
> >
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s
> --check-prefix CHECK-2
> > +// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s
> --check-prefix CHECK-2
> >   // CHECK-2: <BLOCKINFO_BLOCK/>
> >   // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> >   // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
> >   // CHECK-2-NEXT: </VersionBlock>
> > -// CHECK-2-NEXT: <RecordBlock NumWords=105 BlockCodeSize=4>
> > -// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}}
> op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}}
> op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}}
> op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}}
> op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}}
> op20={{[0-9]+}}/>
> > -// CHECK-2-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
> > -// CHECK-2-NEXT:   <ReferenceBlock NumWords=16 BlockCodeSize=4>
> > +// CHECK-2-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4>
> > +// CHECK-2-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
> >   // CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data =
> 'staticFunctionWithInnerClass'
> > -// CHECK-2-NEXT:     <RefType abbrevid=6 op0=3/>
> > -// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
> > -// CHECK-2-NEXT:   </ReferenceBlock>
> > -// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=69 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
> > -// CHECK-2-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4>
> > +// CHECK-2-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'
> > +// CHECK-2-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:     </TypeBlock>
> > +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > +// CHECK-2-NEXT:     </FieldTypeBlock>
> > +// CHECK-2-NEXT:   </FunctionBlock>
> > +// CHECK-2-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
> > +// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-2-NEXT:     <Name abbrevid=5 op0=15/> blob data =
> 'inlinedFunction'
> > +// CHECK-2-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:     </TypeBlock>
> > +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > +// CHECK-2-NEXT:     </FieldTypeBlock>
> > +// CHECK-2-NEXT:   </FunctionBlock>
> > +// CHECK-2-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4>
> > +// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-2-NEXT:     <Name abbrevid=5 op0=22/> blob data =
> 'functionWithInnerClass'
> > +// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:     </TypeBlock>
> > +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > +// CHECK-2-NEXT:     </FieldTypeBlock>
> > +// CHECK-2-NEXT:   </FunctionBlock>
> > +// CHECK-2-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
> > +// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-2-NEXT:     <Name abbrevid=5 op0=29/> blob data =
> 'inlinedFunctionWithInnerClass'
> > +// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:     </TypeBlock>
> > +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > +// CHECK-2-NEXT:     </FieldTypeBlock>
> > +// CHECK-2-NEXT:   </FunctionBlock>
> > +// CHECK-2-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
> >   // CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-2-NEXT:     <Name abbrevid=5 op0=17/> blob data =
> 'innerPublicMethod'
> > -// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > -// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'InnerClass'
> > -// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
> > -// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
> > -// CHECK-2-NEXT:     </ReferenceBlock>
> > -// CHECK-2-NEXT:     <ReferenceBlock NumWords=16 BlockCodeSize=4>
> > -// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-2-NEXT:       <Name abbrevid=5 op0=28/> blob data =
> 'staticFunctionWithInnerClass'
> > -// CHECK-2-NEXT:       <RefType abbrevid=6 op0=3/>
> > -// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
> > -// CHECK-2-NEXT:     </ReferenceBlock>
> > -// CHECK-2-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > -// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=71 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > -// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'InnerClass'
> > -// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
> > -// CHECK-2-NEXT:       <Field abbrevid=7 op0=2/>
> > -// CHECK-2-NEXT:     </ReferenceBlock>
> > +// CHECK-2-NEXT:     <Name abbrevid=5 op0=14/> blob data =
> 'staticFunction'
> > +// CHECK-2-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:     </TypeBlock>
> > +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > +// CHECK-2-NEXT:     </FieldTypeBlock>
> > +// CHECK-2-NEXT:   </FunctionBlock>
> > +// CHECK-2-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
> > +// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data =
> 'staticFunctionWithInnerClass'
> > +// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> >   // CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> >   // CHECK-2-NEXT:       </ReferenceBlock>
> >   // CHECK-2-NEXT:     </TypeBlock>
> > +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-2-NEXT:       </ReferenceBlock>
> > +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > +// CHECK-2-NEXT:     </FieldTypeBlock>
> >   // CHECK-2-NEXT:   </FunctionBlock>
> > -// CHECK-2-NEXT: </RecordBlock>
> > +// CHECK-2-NEXT: </NamespaceBlock>
> >
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s
> --check-prefix CHECK-3
> > +// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s
> --check-prefix CHECK-3
> >   // CHECK-3: <BLOCKINFO_BLOCK/>
> >   // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> >   // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
> >   // CHECK-3-NEXT: </VersionBlock>
> > -// CHECK-3-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4>
> > +// CHECK-3-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4>
> >   // CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'
> > -// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-3-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
> > +// CHECK-3-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-3-NEXT:     <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-3-NEXT:     <RefType abbrevid=6 op0=1/>
> > +// CHECK-3-NEXT:     <Field abbrevid=7 op0=1/>
> > +// CHECK-3-NEXT:   </ReferenceBlock>
> > +// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=47 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
> > -// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
> > +// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > -// CHECK-3-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'
> > +// CHECK-3-NEXT:     <Name abbrevid=4 op0=16/> blob data =
> 'namedPublicField'
> >   // CHECK-3-NEXT:     <Access abbrevid=5 op0=3/>
> >   // CHECK-3-NEXT:   </MemberTypeBlock>
> > -// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-3-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > -// CHECK-3-NEXT:     <Name abbrevid=4 op0=14/> blob data =
> 'protectedField'
> > +// CHECK-3-NEXT:     <Name abbrevid=4 op0=19/> blob data =
> 'namedProtectedField'
> >   // CHECK-3-NEXT:     <Access abbrevid=5 op0=1/>
> >   // CHECK-3-NEXT:   </MemberTypeBlock>
> > -// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
> > +// CHECK-3-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > -// CHECK-3-NEXT:     <Name abbrevid=4 op0=12/> blob data =
> 'privateField'
> > +// CHECK-3-NEXT:     <Name abbrevid=4 op0=17/> blob data =
> 'namedPrivateField'
> >   // CHECK-3-NEXT:     <Access abbrevid=5 op0=2/>
> >   // CHECK-3-NEXT:   </MemberTypeBlock>
> > -// CHECK-3-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4>
> > +// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
> >   // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:     <Name abbrevid=5 op0=12/> blob data =
> 'publicMethod'
> > -// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-3-NEXT:     <Name abbrevid=5 op0=17/> blob data =
> 'namedPublicMethod'
> > +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'NamedClass'
> >   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > -// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > -// CHECK-3-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-3-NEXT:     </ReferenceBlock>
> > +// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-3-NEXT:     <Location abbrevid=7 op0=49 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'NamedClass'
> >   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > @@ -312,20 +452,26 @@ inline void anonInlineFunction();
> >   // CHECK-3-NEXT:       </ReferenceBlock>
> >   // CHECK-3-NEXT:     </TypeBlock>
> >   // CHECK-3-NEXT:   </FunctionBlock>
> > -// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
> > +// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
> >   // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:     <Name abbrevid=5 op0=15/> blob data =
> 'protectedMethod'
> > -// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-3-NEXT:     <Name abbrevid=5 op0=20/> blob data =
> 'namedProtectedMethod'
> > +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'NamedClass'
> >   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > -// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > -// CHECK-3-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-3-NEXT:     </ReferenceBlock>
> > +// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-3-NEXT:     <Location abbrevid=7 op0=53 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'NamedClass'
> >   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > @@ -336,20 +482,26 @@ inline void anonInlineFunction();
> >   // CHECK-3-NEXT:       </ReferenceBlock>
> >   // CHECK-3-NEXT:     </TypeBlock>
> >   // CHECK-3-NEXT:   </FunctionBlock>
> > -// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
> > +// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
> >   // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:     <Name abbrevid=5 op0=13/> blob data =
> 'privateMethod'
> > -// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-3-NEXT:     <Name abbrevid=5 op0=18/> blob data =
> 'namedPrivateMethod'
> > +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'NamedClass'
> >   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > -// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > -// CHECK-3-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
> >   // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
> > +// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-3-NEXT:     </ReferenceBlock>
> > +// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-3-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'NamedClass'
> >   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
> >   // CHECK-3-NEXT:     </ReferenceBlock>
> > @@ -362,483 +514,187 @@ inline void anonInlineFunction();
> >   // CHECK-3-NEXT:   </FunctionBlock>
> >   // CHECK-3-NEXT: </RecordBlock>
> >
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s
> --check-prefix CHECK-4
> > +// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s
> --check-prefix CHECK-4
> >   // CHECK-4: <BLOCKINFO_BLOCK/>
> >   // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> >   // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
> >   // CHECK-4-NEXT: </VersionBlock>
> > -// CHECK-4-NEXT: <RecordBlock NumWords=103 BlockCodeSize=4>
> > +// CHECK-4-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4>
> >   // CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-4-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
> > -// CHECK-4-NEXT:   <ReferenceBlock NumWords=15 BlockCodeSize=4>
> > +// CHECK-4-NEXT:   <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> > +// CHECK-4-NEXT:   <ReferenceBlock NumWords=7 BlockCodeSize=4>
> >   // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-4-NEXT:     <Name abbrevid=5 op0=22/> blob data =
> 'functionWithInnerClass'
> > -// CHECK-4-NEXT:     <RefType abbrevid=6 op0=3/>
> > +// CHECK-4-NEXT:     <RefType abbrevid=6 op0=1/>
> >   // CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
> >   // CHECK-4-NEXT:   </ReferenceBlock>
> > -// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=78 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
> > -// CHECK-4-NEXT:   <FunctionBlock NumWords=69 BlockCodeSize=4>
> > +// CHECK-4-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <Name abbrevid=4 op0=15/> blob data =
> 'anonPublicField'
> > +// CHECK-4-NEXT:     <Access abbrevid=5 op0=3/>
> > +// CHECK-4-NEXT:   </MemberTypeBlock>
> > +// CHECK-4-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <Name abbrevid=4 op0=18/> blob data =
> 'anonProtectedField'
> > +// CHECK-4-NEXT:     <Access abbrevid=5 op0=1/>
> > +// CHECK-4-NEXT:   </MemberTypeBlock>
> > +// CHECK-4-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <Name abbrevid=4 op0=16/> blob data =
> 'anonPrivateField'
> > +// CHECK-4-NEXT:     <Access abbrevid=5 op0=2/>
> > +// CHECK-4-NEXT:   </MemberTypeBlock>
> > +// CHECK-4-NEXT:   <FunctionBlock NumWords=60 BlockCodeSize=4>
> > +// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:     <Name abbrevid=5 op0=16/> blob data =
> 'anonPublicMethod'
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-4-NEXT:     <Location abbrevid=7 op0=80 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > +// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-4-NEXT:       </ReferenceBlock>
> > +// CHECK-4-NEXT:     </TypeBlock>
> > +// CHECK-4-NEXT:   </FunctionBlock>
> > +// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
> > +// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:     <Name abbrevid=5 op0=19/> blob data =
> 'anonProtectedMethod'
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > +// CHECK-4-NEXT:     <Location abbrevid=7 op0=84 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
> > +// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
> > +// CHECK-4-NEXT:     </ReferenceBlock>
> > +// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > +// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > +// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> > +// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
> > +// CHECK-4-NEXT:       </ReferenceBlock>
> > +// CHECK-4-NEXT:     </TypeBlock>
> > +// CHECK-4-NEXT:   </FunctionBlock>
> > +// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
> >   // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data =
> 'innerPublicMethod'
> > +// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data =
> 'anonPrivateMethod'
> >   // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'InnerClass'
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> >   // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-4-NEXT:     </ReferenceBlock>
> > -// CHECK-4-NEXT:     <ReferenceBlock NumWords=15 BlockCodeSize=4>
> > +// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
> >   // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-4-NEXT:       <Name abbrevid=5 op0=22/> blob data =
> 'functionWithInnerClass'
> > -// CHECK-4-NEXT:       <RefType abbrevid=6 op0=3/>
> > +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
> >   // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
> >   // CHECK-4-NEXT:     </ReferenceBlock>
> >   // CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
> > -// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-4-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
> >   // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data =
> 'InnerClass'
> > +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
> >   // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
> >   // CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
> >   // CHECK-4-NEXT:     </ReferenceBlock>
> >   // CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-4-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> >   // CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
> >   // CHECK-4-NEXT:       </ReferenceBlock>
> >   // CHECK-4-NEXT:     </TypeBlock>
> >   // CHECK-4-NEXT:   </FunctionBlock>
> >   // CHECK-4-NEXT: </RecordBlock>
> >
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s
> --check-prefix CHECK-5
> > +// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s
> --check-prefix CHECK-5
> >   // CHECK-5: <BLOCKINFO_BLOCK/>
> >   // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> >   // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
> >   // CHECK-5-NEXT: </VersionBlock>
> > -// CHECK-5-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4>
> > +// CHECK-5-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4>
> > +// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}}
> op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}}
> op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}}
> op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}}
> op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}}
> op20={{[0-9]+}}/>
> >   // CHECK-5-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
> >   // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-5-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'
> > -// CHECK-5-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-5-NEXT:     <Name abbrevid=5 op0=12/> blob data =
> 'anonFunction'
> > +// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
> > +// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-5-NEXT:     </ReferenceBlock>
> > +// CHECK-5-NEXT:     <Location abbrevid=7 op0=92 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> >   // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> >   // CHECK-5-NEXT:       </ReferenceBlock>
> >   // CHECK-5-NEXT:     </TypeBlock>
> > -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > -// CHECK-5-NEXT:     </FieldTypeBlock>
> >   // CHECK-5-NEXT:   </FunctionBlock>
> >   // CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
> >   // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-5-NEXT:     <Name abbrevid=5 op0=15/> blob data =
> 'inlinedFunction'
> > -// CHECK-5-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:     </TypeBlock>
> > -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > -// CHECK-5-NEXT:     </FieldTypeBlock>
> > -// CHECK-5-NEXT:   </FunctionBlock>
> > -// CHECK-5-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4>
> > -// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-5-NEXT:     <Name abbrevid=5 op0=22/> blob data =
> 'functionWithInnerClass'
> > -// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:     </TypeBlock>
> > -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > -// CHECK-5-NEXT:     </FieldTypeBlock>
> > -// CHECK-5-NEXT:   </FunctionBlock>
> > -// CHECK-5-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
> > -// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-5-NEXT:     <Name abbrevid=5 op0=29/> blob data =
> 'inlinedFunctionWithInnerClass'
> > -// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data =
> 'anonStaticFunction'
> > +// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
> > +// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-5-NEXT:     </ReferenceBlock>
> > +// CHECK-5-NEXT:     <Location abbrevid=7 op0=93 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > +// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> >   // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> >   // CHECK-5-NEXT:       </ReferenceBlock>
> >   // CHECK-5-NEXT:     </TypeBlock>
> > -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > -// CHECK-5-NEXT:     </FieldTypeBlock>
> >   // CHECK-5-NEXT:   </FunctionBlock>
> >   // CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
> >   // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-5-NEXT:     <Name abbrevid=5 op0=14/> blob data =
> 'staticFunction'
> > -// CHECK-5-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data =
> '{{.*}}'
> > +// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data =
> 'anonInlineFunction'
> > +// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
> > +// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > +// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
> > +// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
> > +// CHECK-5-NEXT:     </ReferenceBlock>
> > +// CHECK-5-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data =
> '{{.*}}'
> >   // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> >   // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> >   // CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
> >   // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> >   // CHECK-5-NEXT:       </ReferenceBlock>
> >   // CHECK-5-NEXT:     </TypeBlock>
> > -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > -// CHECK-5-NEXT:     </FieldTypeBlock>
> > -// CHECK-5-NEXT:   </FunctionBlock>
> > -// CHECK-5-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
> > -// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/>
> > -// CHECK-5-NEXT:     <Name abbrevid=5 op0=28/> blob data =
> 'staticFunctionWithInnerClass'
> > -// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data =
> '{{.*}}'
> > -// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:     </TypeBlock>
> > -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
> > -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
> > -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
> > -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
> > -// CHECK-5-NEXT:       </ReferenceBlock>
> > -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
> > -// CHECK-5-NEXT:     </FieldTypeBlock>
> >   // CHECK-5-NEXT:   </FunctionBlock>
> >   // CHECK-5-NEXT: </NamespaceBlock>
> > -
> > -// RUN: llvm-bcanalyzer --dump
> %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s
> --check-prefix CHECK-6
> > -// CHECK-6: <BLOCKINFO_BLOCK/>
> > -// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
> > -// CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
> > -// CHECK-6-NEXT: </VersionBlock>
> > -// CHECK-6-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4>
> > -// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}}
> op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}}
> op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}}
> op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}}
> op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}}
> op20={{[0-9]+}}/>
> > -// CHECK-6-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
> > -// CHECK-6-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4>
> > -// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}}
> op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}}
> op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}}
> op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}}
> op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}}
> op19={{[0-9]+}} op20={{[0-9]+}}/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180814/d014edd9/attachment-0001.html>


More information about the cfe-commits mailing list