aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/check.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2016-09-09 13:11:07 -0700
committerKeith Randall <khr@golang.org>2016-09-12 23:27:02 +0000
commitc345a3913f54ab88720654b3dc9b2c34779fca0c (patch)
tree239d7d98bbf92ebb07b63bcd78be8b4599bb54a0 /src/cmd/compile/internal/ssa/check.go
parentd00a3cead8423c8af6c5781aa2a3efe0a9a442ae (diff)
downloadgo-c345a3913f54ab88720654b3dc9b2c34779fca0c.tar.gz
go-c345a3913f54ab88720654b3dc9b2c34779fca0c.zip
cmd/compile: get rid of BlockCall
No need for it, we can treat calls as (mostly) normal values that take a memory and return a memory. Lowers the number of basic blocks needed to represent a function. "go test -c net/http" uses 27% fewer basic blocks. Probably doesn't affect generated code much, but should help various passes whose running time and/or space depends on the number of basic blocks. Fixes #15631 Change-Id: I0bf21e123f835e2cfa382753955a4f8bce03dfa6 Reviewed-on: https://go-review.googlesource.com/28950 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/check.go')
-rw-r--r--src/cmd/compile/internal/ssa/check.go10
1 files changed, 0 insertions, 10 deletions
diff --git a/src/cmd/compile/internal/ssa/check.go b/src/cmd/compile/internal/ssa/check.go
index e99a485b14..cb70531349 100644
--- a/src/cmd/compile/internal/ssa/check.go
+++ b/src/cmd/compile/internal/ssa/check.go
@@ -80,16 +80,6 @@ func checkFunc(f *Func) {
if !b.Control.Type.IsBoolean() {
f.Fatalf("if block %s has non-bool control value %s", b, b.Control.LongString())
}
- case BlockCall:
- if len(b.Succs) != 1 {
- f.Fatalf("call block %s len(Succs)==%d, want 1", b, len(b.Succs))
- }
- if b.Control == nil {
- f.Fatalf("call block %s has no control value", b)
- }
- if !b.Control.Type.IsMemory() {
- f.Fatalf("call block %s has non-memory control value %s", b, b.Control.LongString())
- }
case BlockDefer:
if len(b.Succs) != 2 {
f.Fatalf("defer block %s len(Succs)==%d, want 2", b, len(b.Succs))