1
0
mirror of https://github.com/golang/go synced 2024-11-26 11:18:56 -07:00
go/src
Keith Randall b548eee3d9 cmd/compile: fix load-combining rules
CL 33632 reorders args of commutative ops in order to make
CSE for commutative ops more robust.  Unfortunately, that
broke the load-combining rules which depend on a certain ordering
of OR ops' arguments.

Introduce some additional rules that order OR ops' arguments
consistently so that the load-combining rules fire.

Note: there's also something else wrong with the s390x rules.
I've filed #19059 for that.

Fixes #18946

Change-Id: I0a5447196bd88a55ccee683c69a57b943a9972e1
Reviewed-on: https://go-review.googlesource.com/36911
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
2017-02-13 18:29:51 +00:00
..
archive
bufio
builtin
bytes
cmd cmd/compile: fix load-combining rules 2017-02-13 18:29:51 +00:00
compress
container
context
crypto crypto/sha512: Add AVX2 version for AMD64 2017-02-10 16:26:32 +00:00
database/sql database/sql: ensure driverConns are closed if not returned to pool 2017-02-10 13:28:32 +00:00
debug
encoding encoding/json: clarify documention for Unmarshal into a pointer. 2017-02-10 13:39:10 +00:00
errors
expvar expvar: make BenchmarkAdd{Same,Different} comparable to 1.8 2017-02-10 20:08:14 +00:00
flag
fmt
go go/types: unsafe.Pointer is not an alias 2017-02-10 19:57:50 +00:00
hash
html
image image/png: reduce memory allocs encoding images by reusing buffers 2017-02-12 05:40:47 +00:00
index/suffixarray
internal cmd/trace: Record mark assists in execution traces 2017-02-10 18:03:42 +00:00
io
log
math cmd/{asm,internal/obj/s390x}, math: remove emulated float instructions 2017-02-10 16:11:25 +00:00
mime
net net: use bytes.Equal instead of bytesEqual 2017-02-13 03:45:47 +00:00
os
path path/filepath: add test for directory junction walk 2017-02-12 23:33:01 +00:00
plugin
reflect reflect: clear ptrToThis in Ptr when allocating result on heap 2017-02-10 17:22:07 +00:00
regexp
runtime cmd/compile: optimize non-empty-interface type conversions 2017-02-13 18:16:31 +00:00
sort sort: optimize average calculation in symMerge and doPivot. 2017-02-10 16:53:24 +00:00
strconv
strings strings: make parameters names less confusing 2017-02-11 19:55:21 +00:00
sync
syscall
testing testing: fix copy/paste in docs 2017-02-11 22:56:41 +00:00
text
time
unicode
unsafe
vendor/golang_org/x
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash
make.bash
make.bat
Make.dist
make.rc
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash
run.bat
run.rc