• 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
..
amd64 Loading commit data...
arm Loading commit data...
arm64 Loading commit data...
gc Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc64 Loading commit data...
s390x Loading commit data...
ssa Loading commit data...
syntax Loading commit data...
test Loading commit data...
types Loading commit data...
x86 Loading commit data...