1
0
mirror of https://github.com/golang/go synced 2024-11-24 18:20:02 -07:00
go/src
Alexandru Moșoi 40f2b57e0b [dev.ssa] cmd/compile/internal/ssa: eliminate phis during deadcode removal
While investigating the differences between 19710 (remove
tautological controls) and 12960 (bounds and nil propagation)
I observed that part of the wins of 19710 come from missed
opportunities for deadcode elimination due to phis.
See for example runtime.stackcacherelease. 19710 happens much
later than 12960 and has more chances to eliminate bounds.

Size of pkg/tool/linux_amd64/* excluding compile:

-this -12960 95882248
+this -12960 95880120
-this +12960 95581512
+this +12960 95555224

This change saves about 25k.

Change-Id: Id2f4e55fc92b71595842ce493c3ed527d424fe0e
Reviewed-on: https://go-review.googlesource.com/19728
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-02-23 18:52:15 +00:00
..
archive archive/zip: handle pre-zip64 zip files containing 2³²-1-byte content 2016-02-02 16:36:59 +00:00
bufio
builtin
bytes
cmd [dev.ssa] cmd/compile/internal/ssa: eliminate phis during deadcode removal 2016-02-23 18:52:15 +00:00
compress
container
crypto [dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch 2016-02-10 09:31:41 -08:00
database/sql database/sql: implement Scan of time.Time, document, clarify Scan error text 2016-01-27 07:37:17 +00:00
debug debug/dwarf: fix nil pointer dereference in cyclic type structures 2016-01-14 02:05:31 +00:00
encoding encoding/xml: update docs for Token 2016-01-24 16:07:30 +00:00
errors
expvar
flag
fmt
go go/constant: fix String() implementation 2016-02-08 23:10:00 +00:00
hash cmd/internal/obj/x86: add new instructions, cleanup. 2016-01-13 14:04:44 +00:00
html
image
index/suffixarray
internal net/http: update http2 to check header values, move from vendor to internal 2016-01-21 00:19:02 +00:00
io
log
math
mime
net net/http: make ListenAndServeTLS treat GetCertificate as a set cert too 2016-02-09 00:17:25 +00:00
os os: document that FindProcess always succeeds on Unix 2016-01-29 18:29:10 +00:00
path
reflect
regexp
runtime [dev.ssa] cmd/compile: reenable TestStackBarrierProfiling 2016-02-18 23:21:14 +00:00
sort
strconv
strings
sync sync: deflake TestWaitGroupMisuse3 2016-02-03 20:03:32 +00:00
syscall cmd/compile: recognize Syscall-like functions for liveness analysis 2016-01-14 01:16:45 +00:00
testing
text text/template: fix documentation for pipelines 2016-01-21 18:41:36 +00:00
time time: fix comment about use of Location.cacheEnd 2016-01-26 15:16:47 +00:00
unicode
unsafe unsafe: fix typo in documentation of valid Pointer->uintptr->Pointer conversions 2016-01-29 00:41:27 +00:00
vendor net/http: update http2 to check header values, move from vendor to internal 2016-01-21 00:19:02 +00:00
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash build: use consistent shebang line 2016-01-14 03:16:20 +00:00
buildall.bash build: test linux/mips64 and linux/mips64le with buildall.bash 2016-01-19 04:43:44 +00:00
clean.bash
clean.bat
clean.rc
iostest.bash
make.bash
make.bat
Make.dist
make.rc
nacltest.bash
race.bash
race.bat
run.bash
run.bat
run.rc