]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: clean up tuple types and selects
authorKeith Randall <khr@golang.org>
Wed, 13 Jul 2016 23:15:54 +0000 (16:15 -0700)
committerKeith Randall <khr@golang.org>
Mon, 18 Jul 2016 16:11:36 +0000 (16:11 +0000)
commit25e0a367da6254d89b497f392ea9d1679455d000
tree65d17174fd2ebfed7180ee993529857d318dba89
parent6b6de15d327142a19c978c8b9811310b174fd60b
[dev.ssa] cmd/compile: clean up tuple types and selects

Make tuple types and their SelectX ops fully generic.
These ops no longer need to be lowered.
Regalloc understands them and their tuple-generating arguments.
We can now have opcodes returning arbitrary pairs of results.
(And it would be easy to move to >2 results if needed.)

Update arm implementation to the new standard.
Implement just enough in 386 port to do 64-bit add.

Change-Id: I370ed5aacce219c82e1954c61d1f63af76c16f79
Reviewed-on: https://go-review.googlesource.com/24976
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
19 files changed:
src/cmd/compile/internal/arm/ssa.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/cse.go
src/cmd/compile/internal/ssa/gen/386.rules
src/cmd/compile/internal/ssa/gen/386Ops.go
src/cmd/compile/internal/ssa/gen/ARM.rules
src/cmd/compile/internal/ssa/gen/ARMOps.go
src/cmd/compile/internal/ssa/gen/main.go
src/cmd/compile/internal/ssa/html.go
src/cmd/compile/internal/ssa/location.go
src/cmd/compile/internal/ssa/lower.go
src/cmd/compile/internal/ssa/op.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/regalloc.go
src/cmd/compile/internal/ssa/rewrite386.go
src/cmd/compile/internal/ssa/rewriteARM.go
src/cmd/compile/internal/ssa/schedule.go
src/cmd/compile/internal/ssa/tighten.go
src/cmd/compile/internal/x86/ssa.go