• David Chase's avatar
    cmd/compile: reduce debugger-worsening line number churn · 00263a89
    David Chase authored
    Reuse block head or preceding instruction's line number for
    register allocator's spill, fill, copy, rematerialization
    instructionsl; and also for phi, and for no-src-pos
    instructions.  Assembler creates same line number tables
    for copy-predecessor-line and for no-src-pos,
    but copy-predecessor produces better-looking assembly
    language output with -S and with GOSSAFUNC, and does not
    require changes to tests of existing assembly language.
    
    Split "copyInto" into two cases, one for register allocation,
    one for otherwise.  This caused the test score line change
    count to increase by one, which may reflect legitimately
    useful information preserved.  Without any special treatment
    for copyInto, the change count increases by 21 more, from
    51 to 72 (i.e., quite a lot).
    
    There is a test; using two naive "scores" for line number
    churn, the old numbering is 2x or 4x worse.
    
    Fixes #18902.
    
    Change-Id: I0a0a69659d30ee4e5d10116a0dd2b8c5df8457b1
    Reviewed-on: https://go-review.googlesource.com/36207
    Run-TryBot: David Chase <drchase@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    00263a89
Name
Last commit
Last update
..
addr2line Loading commit data...
api Loading commit data...
asm Loading commit data...
cgo Loading commit data...
compile Loading commit data...
cover Loading commit data...
dist Loading commit data...
doc Loading commit data...
fix Loading commit data...
go Loading commit data...
gofmt Loading commit data...
internal Loading commit data...
link Loading commit data...
nm Loading commit data...
objdump Loading commit data...
pack Loading commit data...
pprof Loading commit data...
trace Loading commit data...
vendor Loading commit data...
vet Loading commit data...