]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: fix debug info generation for loads from Phis
authorHeschi Kreinick <heschi@google.com>
Tue, 22 May 2018 22:08:12 +0000 (18:08 -0400)
committerHeschi Kreinick <heschi@google.com>
Wed, 23 May 2018 23:51:30 +0000 (23:51 +0000)
Apparently a LoadReg can take a Phi as its argument. The Phi has names
in the NamedValue table, so just read the Load's names from the Phi.

The example given, XORKeyStream in chacha20, is pretty complicated so I
didn't try to actually debug it and verify that the results are right.
But the debug logging looks reasonable, with the right names in the right
registers at the right times.

Fixes #25404

Change-Id: I2c3183dcfb033948556d6805bd66c22c0b45625c
Reviewed-on: https://go-review.googlesource.com/114008
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/debug.go

index 327dd916e7e78a2bc758ded4f97bb7cf62352344..c4f90ebff29e3659d40e3d9a9cf76b863d1c8cc3 100644 (file)
@@ -469,7 +469,7 @@ func (state *debugState) liveness() []*BlockDebug {
                                source = v.Args[0]
                        case OpLoadReg:
                                switch a := v.Args[0]; a.Op {
-                               case OpArg:
+                               case OpArg, OpPhi:
                                        source = a
                                case OpStoreReg:
                                        source = a.Args[0]