[dev.ssa] cmd/compile: enhance SSA filtering, add OpConvert

Modified GOSSA{HASH.PKG} environment variable filters to
make it easier to make/run with all SSA for testing.
Disable attempts at SSA for architectures that are not
amd64 (avoid spurious errors/unimplementeds.)

Removed easy out for unimplemented features.

Add convert op for proper liveness in presence of uintptr
to/from unsafe.Pointer conversions.

Tweaked stack sizes to get a pass on windows;
1024 instead 768, was observed to pass at least once.

Change-Id: Ida3800afcda67d529e3b1cf48ca4a3f0fa48b2c5
Reviewed-on: https://go-review.googlesource.com/16201
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: David Chase <drchase@google.com>
This commit is contained in:
David Chase 2015-10-19 11:36:07 -04:00
parent 3abb844108
commit e99dd52066
12 changed files with 105 additions and 43 deletions

View file

@ -237,8 +237,9 @@ var genericOps = []opData{
{name: "Sqrt"}, // sqrt(arg0), float64 only
// Data movement
{name: "Phi"}, // select an argument based on which predecessor block we came from
{name: "Copy"}, // output = arg0
{name: "Phi"}, // select an argument based on which predecessor block we came from
{name: "Copy"}, // output = arg0
{name: "Convert"}, // output = arg0 -- a copy that converts to/from a pointer
// constants. Constant values are stored in the aux field.
// booleans have a bool aux field, strings have a string aux