From 15a3ea0628d2e961cecd70b4e284149524aa3019 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Fri, 25 Mar 2011 17:20:59 +0000 Subject: Emit less labels for debug info and stop emitting .loc directives for DBG_VALUEs. The .dot directives don't need labels, that is a leftover from when we created line number info manually. Instructions following a DBG_VALUE can share its label since the DBG_VALUE doesn't produce any code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128284 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/2010-05-26-DotDebugLoc.ll | 15 ++++++++++++--- test/CodeGen/X86/dbg-value-range.ll | 10 +++++----- test/CodeGen/X86/unknown-location.ll | 11 +++-------- 3 files changed, 20 insertions(+), 16 deletions(-) (limited to 'test/CodeGen') diff --git a/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll b/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll index 60171eb..0886c00 100644 --- a/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll +++ b/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll @@ -55,12 +55,21 @@ declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone !29 = metadata !{i32 524299, metadata !9, i32 17, i32 0} ; [ DW_TAG_lexical_block ] !30 = metadata !{i32 19, i32 0, metadata !29, null} +; The variable bar:myvar changes registers after the first movq. +; It is cobbered by popq %rbx +; CHECK: movq +; CHECK-NEXT: [[LABEL:Ltmp[0-9]*]] +; CHECK: .loc 1 19 0 +; CHECK: popq +; CHECK-NEXT: [[CLOBBER:Ltmp[0-9]*]] + + ; CHECK: Ldebug_loc0: ; CHECK-NEXT: .quad Lfunc_begin0 -; CHECK-NEXT: .quad Ltmp3 +; CHECK-NEXT: .quad [[LABEL]] ; CHECK-NEXT: .short 1 ; CHECK-NEXT: .byte 85 -; CHECK-NEXT: .quad Ltmp3 -; CHECK-NEXT: .quad Ltmp6 +; CHECK-NEXT: .quad [[LABEL]] +; CHECK-NEXT: .quad [[CLOBBER]] ; CHECK-NEXT: .short 1 ; CHECK-NEXT: .byte 83 diff --git a/test/CodeGen/X86/dbg-value-range.ll b/test/CodeGen/X86/dbg-value-range.ll index 665cedc..161681f 100644 --- a/test/CodeGen/X86/dbg-value-range.ll +++ b/test/CodeGen/X86/dbg-value-range.ll @@ -45,13 +45,13 @@ declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone ; The variable is in %rdi which is clobbered by 'movl %ebx, %edi' ; Here Ltmp7 is the end of the location range. -;CHECK:Ltmp6 -;CHECK-NEXT: movl -;CHECK-NEXT: Ltmp7 +;CHECK: .loc 1 7 2 +;CHECK: movl +;CHECK-NEXT: [[CLOBBER:Ltmp[0-9]*]] ;CHECK:Ldebug_loc0: -;CHECK-NEXT: .quad Ltmp -;CHECK-NEXT: .quad Ltmp7 +;CHECK-NEXT: .quad +;CHECK-NEXT: .quad [[CLOBBER]] ;CHECK-NEXT: .short 1 ;CHECK-NEXT: .byte 85 ;CHECK-NEXT: .quad 0 diff --git a/test/CodeGen/X86/unknown-location.ll b/test/CodeGen/X86/unknown-location.ll index 7d101bf..b89c473 100644 --- a/test/CodeGen/X86/unknown-location.ll +++ b/test/CodeGen/X86/unknown-location.ll @@ -4,16 +4,11 @@ ; represent this in the debug information. This is done by setting line ; and column to 0 -; CHECK: leal (%rdi,%rsi), %eax +; CHECK: leal ; CHECK-NEXT: .loc 1 0 0 -; CHECK-NEXT: Ltmp -; CHECK-NEXT: cltd -; CHECK-NEXT: idivl %r8d +; CHECK: cltd +; CHECK-NEXT: idivl ; CHECK-NEXT: .loc 2 4 3 -; CHECK-NEXT: Ltmp -; CHECK-NEXT: addl %ecx, %eax -; CHECK-NEXT: ret -; CHECK-NEXT: Ltmp define i32 @foo(i32 %w, i32 %x, i32 %y, i32 %z) nounwind { entry: -- cgit v1.1