diff options
author | Michael Munday <mike.munday@ibm.com> | 2020-04-14 10:12:32 +0100 |
---|---|---|
committer | Michael Munday <mike.munday@ibm.com> | 2020-04-14 19:04:38 +0000 |
commit | 48403b268bd31a220685c28a94259a461b352e3e (patch) | |
tree | b0bc74cd3701241573c46f35f3b20fbead48c84e /lib | |
parent | 382fe3e2498f2066400e7e7007aa9903440e339d (diff) | |
download | go-48403b268bd31a220685c28a94259a461b352e3e.tar.gz go-48403b268bd31a220685c28a94259a461b352e3e.zip |
cmd/compile: error if register is reused when setting edge state
When setting the edge state in register allocation we should only
be setting each register once. It is not possible for a register
to hold multiple values at once.
This CL converts the runtime error seen in #38195 into an internal
compiler error (ICE). It is better for the compiler to fail than
generate an incorrect program.
The bug reported in #38195 is now exposed as:
./parserc.go:459:11: internal compiler error: 'yaml_parser_parse_node': R5 is already set (v1074/v1241)
[stack trace]
Updates #38195.
Change-Id: Id95842fd850b95494cbd472b6fd5a55513ecacec
Reviewed-on: https://go-review.googlesource.com/c/go/+/228060
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions