[llvm] r206042 - Debug info: Store the DIVariable in DebugLocEntry also for constants,
Adrian Prantl
aprantl at apple.com
Fri Apr 11 15:20:22 PDT 2014
Yeah, the Pieces patch that I sent out earlier today fixed this by accident, and then I had to work backwards to figure out how :-)
-- adrian
On Apr 11, 2014, at 3:18 PM, Eric Christopher <echristo at gmail.com> wrote:
> Cool, thanks.
>
> -eric
>
> On Fri, Apr 11, 2014 at 10:49 AM, Adrian Prantl <aprantl at apple.com> wrote:
>> Author: adrian
>> Date: Fri Apr 11 12:49:47 2014
>> New Revision: 206042
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=206042&view=rev
>> Log:
>> Debug info: Store the DIVariable in DebugLocEntry also for constants,
>> so DwarfDebug::emitDebugLocEntry can emit them with the correct signedness.
>>
>> rdar://problem/15928306
>>
>> Modified:
>> llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h
>> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> llvm/trunk/test/DebugInfo/X86/dbg-const.ll
>> llvm/trunk/test/DebugInfo/X86/dbg-value-const-byref.ll
>> llvm/trunk/test/DebugInfo/X86/fission-ranges.ll
>>
>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h?rev=206042&r1=206041&r2=206042&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h (original)
>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h Fri Apr 11 12:49:47 2014
>> @@ -76,20 +76,20 @@ public:
>> EntryKind = E_Location;
>> }
>> DebugLocEntry(const MCSymbol *B, const MCSymbol *E, int64_t i,
>> - const DwarfCompileUnit *U)
>> - : Begin(B), End(E), Variable(0), Unit(U) {
>> + const MDNode *V, const DwarfCompileUnit *U)
>> + : Begin(B), End(E), Variable(V), Unit(U) {
>> Constants.Int = i;
>> EntryKind = E_Integer;
>> }
>> DebugLocEntry(const MCSymbol *B, const MCSymbol *E, const ConstantFP *FPtr,
>> - const DwarfCompileUnit *U)
>> - : Begin(B), End(E), Variable(0), Unit(U) {
>> + const MDNode *V, const DwarfCompileUnit *U)
>> + : Begin(B), End(E), Variable(V), Unit(U) {
>> Constants.CFP = FPtr;
>> EntryKind = E_ConstantFP;
>> }
>> DebugLocEntry(const MCSymbol *B, const MCSymbol *E, const ConstantInt *IPtr,
>> - const DwarfCompileUnit *U)
>> - : Begin(B), End(E), Variable(0), Unit(U) {
>> + const MDNode *V, const DwarfCompileUnit *U)
>> + : Begin(B), End(E), Variable(V), Unit(U) {
>> Constants.CIP = IPtr;
>> EntryKind = E_ConstantInt;
>> }
>>
>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=206042&r1=206041&r2=206042&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Fri Apr 11 12:49:47 2014
>> @@ -1212,11 +1212,13 @@ static DebugLocEntry getDebugLocEntry(As
>> return DebugLocEntry(FLabel, SLabel, MLoc, Var, Unit);
>> }
>> if (MI->getOperand(0).isImm())
>> - return DebugLocEntry(FLabel, SLabel, MI->getOperand(0).getImm(), Unit);
>> + return DebugLocEntry(FLabel, SLabel, MI->getOperand(0).getImm(), Var, Unit);
>> if (MI->getOperand(0).isFPImm())
>> - return DebugLocEntry(FLabel, SLabel, MI->getOperand(0).getFPImm(), Unit);
>> + return DebugLocEntry(FLabel, SLabel, MI->getOperand(0).getFPImm(),
>> + Var, Unit);
>> if (MI->getOperand(0).isCImm())
>> - return DebugLocEntry(FLabel, SLabel, MI->getOperand(0).getCImm(), Unit);
>> + return DebugLocEntry(FLabel, SLabel, MI->getOperand(0).getCImm(),
>> + Var, Unit);
>>
>> llvm_unreachable("Unexpected 3 operand DBG_VALUE instruction!");
>> }
>>
>> Modified: llvm/trunk/test/DebugInfo/X86/dbg-const.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dbg-const.ll?rev=206042&r1=206041&r2=206042&view=diff
>> ==============================================================================
>> --- llvm/trunk/test/DebugInfo/X86/dbg-const.ll (original)
>> +++ llvm/trunk/test/DebugInfo/X86/dbg-const.ll Fri Apr 11 12:49:47 2014
>> @@ -13,7 +13,7 @@
>>
>> target triple = "x86_64-apple-darwin10.0.0"
>>
>> -;CHECK: ## DW_OP_constu
>> +;CHECK: ## DW_OP_consts
>> ;CHECK-NEXT: .byte 42
>> define i32 @foobar() nounwind readonly noinline ssp {
>> entry:
>>
>> Modified: llvm/trunk/test/DebugInfo/X86/dbg-value-const-byref.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dbg-value-const-byref.ll?rev=206042&r1=206041&r2=206042&view=diff
>> ==============================================================================
>> --- llvm/trunk/test/DebugInfo/X86/dbg-value-const-byref.ll (original)
>> +++ llvm/trunk/test/DebugInfo/X86/dbg-value-const-byref.ll Fri Apr 11 12:49:47 2014
>> @@ -25,14 +25,14 @@
>> ; CHECK: DW_AT_location [DW_FORM_data4] ([[LOC:.*]])
>> ; CHECK: .debug_loc contents:
>> ; CHECK: [[LOC]]:
>> -; constu 0x00000003
>> +; consts 0x00000003
>> ; CHECK: Beginning address offset: 0x0000000000000{{.*}}
>> ; CHECK: Ending address offset: [[C1:.*]]
>> -; CHECK: Location description: 10 03
>> -; constu 0x00000007
>> +; CHECK: Location description: 11 03
>> +; consts 0x00000007
>> ; CHECK: Beginning address offset: [[C1]]
>> ; CHECK: Ending address offset: [[C2:.*]]
>> -; CHECK: Location description: 10 07
>> +; CHECK: Location description: 11 07
>> ; rax, piece 0x00000004
>> ; CHECK: Beginning address offset: [[C2]]
>> ; CHECK: Ending address offset: [[R1:.*]]
>>
>> Modified: llvm/trunk/test/DebugInfo/X86/fission-ranges.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/fission-ranges.ll?rev=206042&r1=206041&r2=206042&view=diff
>> ==============================================================================
>> --- llvm/trunk/test/DebugInfo/X86/fission-ranges.ll (original)
>> +++ llvm/trunk/test/DebugInfo/X86/fission-ranges.ll Fri Apr 11 12:49:47 2014
>> @@ -26,7 +26,7 @@
>>
>> ; CHECK: [[A]]: Beginning address index: 2
>> ; CHECK-NEXT: Length: 199
>> -; CHECK-NEXT: Location description: 10 00
>> +; CHECK-NEXT: Location description: 11 00
>> ; CHECK-NEXT: {{^$}}
>> ; CHECK-NEXT: Beginning address index: 3
>> ; CHECK-NEXT: Length: 23
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list