]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.regabi] cmd/compile: add ir.TailCallStmt
authorMatthew Dempsky <mdempsky@google.com>
Sun, 17 Jan 2021 08:30:32 +0000 (00:30 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Sun, 17 Jan 2021 11:14:51 +0000 (11:14 +0000)
commit87845d14f9822c104cc192c8f7858a2a24d0029f
tree9b6f10de2e76159f7027fe419eb3f4cb75390908
parente3027c6828230d01089afec0ab958040ba326abc
[dev.regabi] cmd/compile: add ir.TailCallStmt

This CL splits out ORETJMP as a new TailCallStmt node, separate from
the other BranchStmt nodes. In doing so, this allows us to change it
from identifying a function by *types.Sym to identifying one by
directly pointing to the *ir.Func.

While here, also rename the operation to OTAILCALL.

Passes toolstash -cmp.

Change-Id: I273e6ea5d92bf3005ae02fb59b3240a190a6cf1b
Reviewed-on: https://go-review.googlesource.com/c/go/+/284227
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
14 files changed:
src/cmd/compile/internal/deadcode/deadcode.go
src/cmd/compile/internal/escape/escape.go
src/cmd/compile/internal/inline/inl.go
src/cmd/compile/internal/ir/fmt.go
src/cmd/compile/internal/ir/node.go
src/cmd/compile/internal/ir/node_gen.go
src/cmd/compile/internal/ir/op_string.go
src/cmd/compile/internal/ir/stmt.go
src/cmd/compile/internal/reflectdata/reflect.go
src/cmd/compile/internal/ssagen/abi.go
src/cmd/compile/internal/ssagen/ssa.go
src/cmd/compile/internal/typecheck/typecheck.go
src/cmd/compile/internal/walk/order.go
src/cmd/compile/internal/walk/stmt.go