]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile/internal/ssa: handle rewrite of Phis.
authorAlexandru Moșoi <mosoi@google.com>
Tue, 9 Feb 2016 18:46:26 +0000 (19:46 +0100)
committerAlexandru Moșoi <alexandru@mosoi.ro>
Tue, 9 Feb 2016 20:46:16 +0000 (20:46 +0000)
commitd0d04d2d6cdd79428f2c3b97d33b65638c1cdd71
tree812060a98d42d43d35886950fd9b5c86a76071a8
parent7f7f7cddec65b48b35845c5fb537bb59bb7ecca6
[dev.ssa] cmd/compile/internal/ssa: handle rewrite of Phis.

* Phis can have variable number of arguments, but rulegen assumed that
each operation has fixed number of arguments.
* Rewriting Phis is necessary to handle the following case:

func f1_ssa(a bool, x int) int {
        v := 0
        if a {
                v = -1
        } else {
                v = -1
        }
        return x|v
}

Change-Id: Iff6bd411b854f3d1d6d3ce21934bf566757094f2
Reviewed-on: https://go-review.googlesource.com/19412
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/testdata/arith_ssa.go
src/cmd/compile/internal/ssa/gen/generic.rules
src/cmd/compile/internal/ssa/gen/genericOps.go
src/cmd/compile/internal/ssa/gen/main.go
src/cmd/compile/internal/ssa/gen/rulegen.go
src/cmd/compile/internal/ssa/rewritegeneric.go