]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: don’t generate pointless gotos during inlining
authorJosh Bleecher Snyder <josharian@gmail.com>
Fri, 27 May 2016 22:33:11 +0000 (15:33 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Sun, 21 Aug 2016 23:18:33 +0000 (23:18 +0000)
commitd1faf3879ede9efc9f1907dfad04bac8ec08d598
treece4e1ea67a563424710a44baab78d1bca622586b
parent16e3ce278591069c4f49c29f28d222768f026747
cmd/compile: don’t generate pointless gotos during inlining

Their only purpose in life was to suppress an error.
Suppress that error explicitly instead by reusing
an existing, aptly named Node field.

This generates fewer blocks during ssa construction.

name       old alloc/op     new alloc/op     delta
Template       47.5MB ± 0%      47.2MB ± 0%  -0.72%        (p=0.000 n=15+15)
Unicode        36.8MB ± 0%      36.8MB ± 0%    ~           (p=0.775 n=15+15)
GoTypes         143MB ± 0%       142MB ± 0%  -1.03%        (p=0.000 n=15+14)
Compiler        686MB ± 0%       674MB ± 0%  -1.75%        (p=0.000 n=15+15)

name       old allocs/op    new allocs/op    delta
Template         446k ± 0%        445k ± 0%  -0.20%        (p=0.000 n=15+15)
Unicode          355k ± 0%        355k ± 0%    ~           (p=0.235 n=13+15)
GoTypes         1.36M ± 0%       1.36M ± 0%  -0.41%        (p=0.000 n=13+15)
Compiler        5.77M ± 0%       5.70M ± 0%  -1.16%        (p=0.000 n=15+15)

Change-Id: I5f14afb833c9d355688d9a229eb820e95c7657bf
Reviewed-on: https://go-review.googlesource.com/27461
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/compile/internal/gc/gen.go
src/cmd/compile/internal/gc/inl.go
src/cmd/compile/internal/gc/ssa.go