aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2021-09-17 16:26:13 -0400
committerCherry Mui <cherryyz@google.com>2021-09-17 23:44:10 +0000
commit4b654c0eeca65ffc6588ffd9c99387a7e48002c1 (patch)
treeab10a44eac6a39631dcea5c20f9eacd721b7d1dd
parentf01721efb941edadc2e6a897e42919b0d68480e1 (diff)
downloadgo-4b654c0eeca65ffc6588ffd9c99387a7e48002c1.tar.gz
go-4b654c0eeca65ffc6588ffd9c99387a7e48002c1.zip
cmd/compile: SSA ".this" variable
We used to not SSA ".this" variable, because in tail-call method wrappers it relies on updating ".this" in place in memory, and the tail call IR node and SSA op do not have an explicit use of ".this". It is no longer the case for the new tail call representation. Remove the restriction. Change-Id: I4e1ce8459adbb0d5a80c64f1ece982737bd95305 Reviewed-on: https://go-review.googlesource.com/c/go/+/350751 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-rw-r--r--src/cmd/compile/internal/ssagen/ssa.go6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/ssagen/ssa.go b/src/cmd/compile/internal/ssagen/ssa.go
index 346a801508..08f36ce7be 100644
--- a/src/cmd/compile/internal/ssagen/ssa.go
+++ b/src/cmd/compile/internal/ssagen/ssa.go
@@ -5311,12 +5311,6 @@ func (s *state) canSSAName(name *ir.Name) bool {
return false
}
}
- if name.Class == ir.PPARAM && name.Sym() != nil && name.Sym().Name == ".this" {
- // wrappers generated by genwrapper need to update
- // the .this pointer in place.
- // TODO: treat as a PPARAMOUT?
- return false
- }
return true
// TODO: try to make more variables SSAable?
}