r202334 - Pass down the debug emission kind into the compile unit for code

Eric Christopher echristo at gmail.com
Fri Feb 28 23:03:47 PST 2014


On Fri, Feb 28, 2014 at 8:33 PM, Adrian Prantl <aprantl at apple.com> wrote:
>
> On Feb 26, 2014, at 5:25 PM, Eric Christopher <echristo at gmail.com> wrote:
>
>> Author: echristo
>> Date: Wed Feb 26 19:25:08 2014
>> New Revision: 202334
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=202334&view=rev
>> Log:
>> Pass down the debug emission kind into the compile unit for code
>> generation purposes.
>> Paired with a commit to llvm.
>>
>> Modified:
>>    cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>>    cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp
>>
>> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=202334&r1=202333&r2=202334&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
>> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Wed Feb 26 19:25:08 2014
>> @@ -382,10 +382,12 @@ void CGDebugInfo::CreateCompileUnit() {
>>
>>   // Create new compile unit.
>>   // FIXME - Eliminate TheCU.
>> -  TheCU = DBuilder.createCompileUnit(LangTag, Filename, getCurrentDirname(),
>> -                                     Producer, LO.Optimize,
>> -                                     CGM.getCodeGenOpts().DwarfDebugFlags,
>> -                                     RuntimeVers, SplitDwarfFilename);
>> +  TheCU = DBuilder.createCompileUnit(
>> +      LangTag, Filename, getCurrentDirname(), Producer, LO.Optimize,
>> +      CGM.getCodeGenOpts().DwarfDebugFlags, RuntimeVers, SplitDwarfFilename,
>> +      DebugKind == CodeGenOptions::DebugLineTablesOnly
>> +          ? llvm::DIBuilder::LineTablesOnly
>> +          : llvm::DIBuilder::FullDebug);
>> }
>
> DebugKind actually has more than two entries. There is also LimitedDebugInfo. While it is ok to sweep it under the rug, because it is a frontend-only feature, I wonder if we should put in a comment here to explain this?

Seems reasonable. There is a difference between the kind in DIBuilder
and in CodeGenOptions ... maybe I should just mirror and use >/<.

Hrm.

-eric

>
> -- adrian
>
>>
>> /// CreateType - Get the Basic type from the cache or create a new
>>
>> Modified: cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp?rev=202334&r1=202333&r2=202334&view=diff
>> ==============================================================================
>> --- cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp (original)
>> +++ cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp Wed Feb 26 19:25:08 2014
>> @@ -43,7 +43,7 @@ using B::i;
>> // This should work even if 'i' and 'func' were declarations & not definitions,
>> // but it doesn't yet.
>>
>> -// CHECK: [[CU:![0-9]*]] = {{.*}}[[MODULES:![0-9]*]], metadata !""} ; [ DW_TAG_compile_unit ]
>> +// CHECK: [[CU:![0-9]*]] = {{.*}}[[MODULES:![0-9]*]], metadata !"", i32 1} ; [ DW_TAG_compile_unit ]
>> // CHECK: [[FILE:![0-9]*]] {{.*}}debug-info-namespace.cpp"
>> // CHECK: [[FOO:![0-9]*]] {{.*}} ; [ DW_TAG_structure_type ] [foo] [line 5, size 0, align 0, offset 0] [decl] [from ]
>> // CHECK: [[FOOCPP:![0-9]*]] = metadata !{metadata !"foo.cpp", {{.*}}
>> @@ -72,7 +72,7 @@ using B::i;
>> // CHECK: [[M12]] = metadata !{i32 {{[0-9]*}}, metadata [[FUNC]], metadata [[M11]], i32 {{[0-9]*}}, metadata !"Y"} ; [ DW_TAG_imported_module ]
>> // CHECK: [[M13]] = metadata !{i32 {{[0-9]*}}, metadata [[CTXT]], metadata [[I]], i32 {{[0-9]*}}} ; [ DW_TAG_imported_declaration ]
>>
>> -// CHECK-GMLT: [[CU:![0-9]*]] = {{.*}}[[MODULES:![0-9]*]], metadata !""} ; [ DW_TAG_compile_unit ]
>> +// CHECK-GMLT: [[CU:![0-9]*]] = {{.*}}[[MODULES:![0-9]*]], metadata !"", i32 2} ; [ DW_TAG_compile_unit ]
>> // CHECK-GMLT: [[MODULES]] = metadata !{}
>>
>> // CHECK-NOLIMIT: ; [ DW_TAG_structure_type ] [bar] [line 6, {{.*}}] [def] [from ]
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>



More information about the cfe-commits mailing list