[llvm] r185966 - Reapply an improved version of r180816/180817.
Eric Christopher
echristo at gmail.com
Tue Jul 9 14:15:07 PDT 2013
Hi Adrian,
Few comments, still looking at it.
> + // If the second operand is an immedieate, this is an indirect value.
Typo.
> bool LDVImpl::handleDebugValue(MachineInstr *MI, SlotIndex Idx) {
> // DBG_VALUE loc, offset, variable
> if (MI->getNumOperands() != 3 ||
> - !MI->getOperand(1).isImm() || !MI->getOperand(2).isMetadata()) {
> + !(MI->getOperand(1).isReg() || MI->getOperand(1).isImm()) ||
> + !MI->getOperand(2).isMetadata()) {
Mind commenting this a bit more on what we aren't handling?
> - FuncInfo.ArgDbgValues.push_back(
> + FuncInfo.ArgDbgValues.push_back(BuildMI(MF, getCurDebugLoc(),
> + TII->get(TargetOpcode::DBG_VALUE),
> + /* IsIndirect */ Offset != 0,
> + Op->getReg(), Offset, Variable));
>
Curious about the "Offset != 0" since we could have a 0 offset in the
dbg.value intrinsic coming in yes?
> Modified: llvm/trunk/test/CodeGen/X86/dbg-value-range.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/dbg-value-range.ll?rev=185966&r1=185965&r2=185966&view=diff
> ==============================================================================
> --- llvm/trunk/test/CodeGen/X86/dbg-value-range.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/dbg-value-range.ll Tue Jul 9 15:28:37 2013
> @@ -40,7 +40,7 @@ declare void @llvm.dbg.value(metadata, i
> !21 = metadata !{metadata !6, metadata !11}
> !22 = metadata !{metadata !"bar.c", metadata !"/private/tmp"}
>
> -; Check that variable bar:b value range is appropriately trucated in debug info.
> +; Check that variable bar:b value range is appropriately truncated in debug info.
> ; The variable is in %rdi which is clobbered by 'movl %ebx, %edi'
> ; Here Ltmp7 is the end of the location range.
>
> @@ -54,7 +54,7 @@ declare void @llvm.dbg.value(metadata, i
> ;CHECK-NEXT: Lset{{.*}} = Ltmp{{.*}}-Ltmp{{.*}}
> ;CHECK-NEXT: .short Lset
> ;CHECK-NEXT: Ltmp
> -;CHECK-NEXT: .byte 85
> +;CHECK-NEXT: .byte 85 ## DW_OP_reg
> ;CHECK-NEXT: Ltmp
> ;CHECK-NEXT: .quad 0
> ;CHECK-NEXT: .quad 0
>
This test should probably be moved to DebugInfo/X86.
-eric
More information about the llvm-commits
mailing list