summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/COFF/local-variables.ll
diff options
context:
space:
mode:
authorRobert Lougher <rob.lougher@gmail.com>2016-10-25 18:44:07 +0000
committerRobert Lougher <rob.lougher@gmail.com>2016-10-25 18:44:07 +0000
commite32564774c09344e80ea8f17bdc652412543f77b (patch)
treeb49727c3964bfd80289b4b6d258bdf1c25018b1a /llvm/test/DebugInfo/COFF/local-variables.ll
parentcffedc4a94cc21a124521e96280935ef7ca1aa85 (diff)
downloadbcm5719-llvm-e32564774c09344e80ea8f17bdc652412543f77b.tar.gz
bcm5719-llvm-e32564774c09344e80ea8f17bdc652412543f77b.zip
Remove debug location from common tail when tail-merging
The branch folding pass tail merges blocks into a common-tail. However, the tail retains the debug information from one of the original inputs to the merge (chosen randomly). This is a problem for sampled-based PGO, as hits on the common-tail will be attributed to whichever block was chosen, irrespective of which path was actually taken to the common-tail. This patch fixes the issue by nulling the debug location for the common-tail. Differential Revision: https://reviews.llvm.org/D25742 llvm-svn: 285093
Diffstat (limited to 'llvm/test/DebugInfo/COFF/local-variables.ll')
-rw-r--r--llvm/test/DebugInfo/COFF/local-variables.ll10
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/test/DebugInfo/COFF/local-variables.ll b/llvm/test/DebugInfo/COFF/local-variables.ll
index 2c3fd89a9d4..d1ad8767d41 100644
--- a/llvm/test/DebugInfo/COFF/local-variables.ll
+++ b/llvm/test/DebugInfo/COFF/local-variables.ll
@@ -63,11 +63,9 @@
; ASM: .cv_loc 2 1 5 3 # t.cpp:5:3
; ASM: callq capture
; ASM: leaq 36(%rsp), %rcx
-; ASM: [[inline_site2_end:\.Ltmp.*]]:
+; ASM: [[else_end:\.Ltmp.*]]:
; ASM: .LBB0_3: # %if.end
-; ASM: .cv_loc 0 1 15 5 # t.cpp:15:5
; ASM: callq capture
-; ASM: [[else_end:\.Ltmp.*]]:
; ASM: .cv_loc 0 1 17 1 # t.cpp:17:1
; ASM: nop
; ASM: addq $56, %rsp
@@ -101,7 +99,7 @@
; ASM: .long 116 # TypeIndex
; ASM: .short 0 # Flags
; ASM: .asciz "v"
-; ASM: .cv_def_range [[inline_site2]] [[inline_site2_end]], "E\021O\001\000\0000\000\000\000"
+; ASM: .cv_def_range [[inline_site2]] [[else_end]], "E\021O\001\000\0000\000\000\000"
; ASM: .short 4430 # Record kind: S_INLINESITE_END
; OBJ: Subsection [
@@ -159,7 +157,7 @@
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0x2D
; OBJ: ISectStart: 0x0
-; OBJ: Range: 0x24
+; OBJ: Range: 0x1F
; OBJ: }
; OBJ: }
; OBJ: InlineSite {
@@ -200,7 +198,7 @@
; OBJ: ChangeLineOffset: 1
; OBJ: ChangeCodeOffset: 0x35
; OBJ: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xD, LineOffset: 1}
-; OBJ: ChangeCodeLength: 0xA
+; OBJ: ChangeCodeLength: 0xF
; OBJ: ]
; OBJ: }
; OBJ: Local {
OpenPOWER on IntegriCloud