]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: ignore dead phis in fuse
authorAlexandru Moșoi <mosoi@google.com>
Wed, 30 Mar 2016 14:19:10 +0000 (16:19 +0200)
committerAlexandru Moșoi <alexandru@mosoi.ro>
Wed, 30 Mar 2016 15:37:18 +0000 (15:37 +0000)
Happens occasionally for boolean phis was used as a control.

Change-Id: Ie0f2483e9004c1706751d8dfb25ee2e5106d917e
Reviewed-on: https://go-review.googlesource.com/21310
Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/fuse.go

index 1f826cd25e27327697c077c63260b270b073df95..ce759cdec1df5ea53b298688d118e9af867fdf3b 100644 (file)
@@ -65,7 +65,7 @@ func fuseBlockIf(b *Block) bool {
                b.Fatalf("invalid predecessors")
        }
        for _, v := range ss.Values {
-               if v.Op == OpPhi && v.Args[i0] != v.Args[i1] {
+               if v.Op == OpPhi && v.Uses > 0 && v.Args[i0] != v.Args[i1] {
                        return false
                }
        }