]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: extend dump-to-file to handle "genssa" (asm) case.
authorDavid Chase <drchase@google.com>
Thu, 9 Sep 2021 20:34:02 +0000 (16:34 -0400)
committerDavid Chase <drchase@google.com>
Mon, 20 Sep 2021 19:36:41 +0000 (19:36 +0000)
commitaf72ddfcd7826df9aefb2207b8ac270bb91fea2f
tree02ab2c2d431013722bce686d8147eb483fc80ef1
parent3c764babe7b5e01a4e04b1a2c7975cdb5c5651a0
cmd/compile: extend dump-to-file to handle "genssa" (asm) case.

Extend the existing dump-to-file to also do assembly output
to make it easier to write debug-information tests that check
for line-numbering in particular orders.

Includes POC test (which is silent w/o -v):
go test  -v -run TestDebugLines cmd/compile/internal/ssa
=== RUN   TestDebugLines
Preserving temporary directory /var/folders/v6/xyzzy/T/debug_lines_test321
About to run (cd /var/folders/v6/xyzzy/T/debug_lines_test321; \
    GOSSADIR=/var/folders/v6/xyzzy/T/debug_lines_test321 \
    /Users/drchase/work/go/bin/go build -o foo.o \
    '-gcflags=-N -l -d=ssa/genssa/dump=sayhi' \
    /Users/drchase/work/go/src/cmd/compile/internal/ssa/testdata/sayhi.go )
Saw stmt# 8 for submatch '8' on dump line #7 = ' v107   00005 (+8)  MOVQ    AX, "".n(SP)'
Saw stmt# 9 for submatch '9' on dump line #9 = ' v87    00007 (+9)  MOVUPS  X15, ""..autotmp_2-32(SP)'
Saw stmt# 10 for submatch '10' on dump line #46 = ' v65     00044 (+10)     MOVUPS  X15, ""..autotmp_2-32(SP)'
Saw stmt# 11 for submatch '11' on dump line #83 = ' v131    00081 (+11)     MOVQ    "".wg+8(SP), AX'
--- PASS: TestDebugLines (4.95s)
PASS
ok   cmd/compile/internal/ssa 5.685s

Includes a test to ensure that inlining information is printed correctly.

Updates #47880.

Change-Id: I83b596476a88687d71d5b65dbb94641a576d747e
Reviewed-on: https://go-review.googlesource.com/c/go/+/348970
Trust: David Chase <drchase@google.com>
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/compile.go
src/cmd/compile/internal/ssa/debug_lines_test.go [new file with mode: 0644]
src/cmd/compile/internal/ssa/func.go
src/cmd/compile/internal/ssa/print.go
src/cmd/compile/internal/ssa/testdata/inline-dump.go [new file with mode: 0644]
src/cmd/compile/internal/ssa/testdata/sayhi.go [new file with mode: 0644]
src/cmd/compile/internal/ssagen/ssa.go
src/cmd/internal/obj/util.go