]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compiler/internal/ssa: Add auxint field
authorKeith Randall <khr@golang.org>
Fri, 12 Jun 2015 04:29:25 +0000 (21:29 -0700)
committerKeith Randall <khr@golang.org>
Sun, 14 Jun 2015 06:00:30 +0000 (06:00 +0000)
commit8f22b5292ffc01ea66bd92fa833d0ec25390173b
treeeab351402863ba4b83ff3ba3cd173491d244a291
parent0ad9c8c720324b6c4e483ac7fe0e20f36274e2eb
[dev.ssa] cmd/compiler/internal/ssa: Add auxint field

Add an additional int64 auxiliary field to Value.

There are two main reasons for doing this:
1) Ints in interfaces require allocation, and we store ints in Aux a lot.
2) I'd like to have both *gc.Sym and int offsets included in lots
   of operations (e.g. MOVQloadidx8).  It will be more efficient to
   store them as separate fields instead of a pointer to a sym/int pair.

It also simplifies a bunch of code.

This is just the refactoring.  I'll start using this some more in a
subsequent changelist.

Change-Id: I1ca797ff572553986cf90cab3ac0a0c1d01ad241
Reviewed-on: https://go-review.googlesource.com/10929
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
20 files changed:
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/deadcode_test.go
src/cmd/compile/internal/ssa/deadstore_test.go
src/cmd/compile/internal/ssa/func.go
src/cmd/compile/internal/ssa/func_test.go
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/gen/AMD64Ops.go
src/cmd/compile/internal/ssa/gen/generic.rules
src/cmd/compile/internal/ssa/gen/genericOps.go
src/cmd/compile/internal/ssa/gen/rulegen.go
src/cmd/compile/internal/ssa/generic.go [deleted file]
src/cmd/compile/internal/ssa/op.go
src/cmd/compile/internal/ssa/regalloc.go
src/cmd/compile/internal/ssa/rewrite.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssa/rewritegeneric.go
src/cmd/compile/internal/ssa/schedule_test.go
src/cmd/compile/internal/ssa/shift_test.go
src/cmd/compile/internal/ssa/stackalloc.go
src/cmd/compile/internal/ssa/value.go