]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: avoid generating duplicated in-register Arg
authorCherry Zhang <cherryyz@google.com>
Tue, 30 Mar 2021 20:28:48 +0000 (16:28 -0400)
committerCherry Zhang <cherryyz@google.com>
Tue, 30 Mar 2021 22:10:19 +0000 (22:10 +0000)
commit64ca7e2cb3af6135a46c9602b7650cad1381456a
tree6d3a201b1eb74f3f9daab84fbe9244139c3bd6f4
parent4b1a24f3cd9d49ecbe4c30b6a5ecade70f9dd04f
cmd/compile: avoid generating duplicated in-register Arg

In expand_calls, when rewriting OpArg to OpArgIntReg/OpArgFloatReg,
avoid generating duplicates. Otherwise it will confuse the
register allocator: it would think the second occurance clobbers
the first's register, causing it to generate copies, which may
clobber other args.

Change-Id: I4f1dc0519afb77500eae1c0e6ac8745e51f7aa4e
Reviewed-on: https://go-review.googlesource.com/c/go/+/306029
Trust: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/expand_calls.go
test/abi/store_reg_args.go [new file with mode: 0644]