From: Alexandru Moșoi Date: Wed, 30 Mar 2016 14:19:10 +0000 (+0200) Subject: cmd/compile: ignore dead phis in fuse X-Git-Tag: go1.7beta1~1015 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d7f7ea6ea894f197928cc728aef257c045e4e916;p=gostls13.git cmd/compile: ignore dead phis in fuse 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 TryBot-Result: Gobot Gobot Reviewed-by: Keith Randall --- diff --git a/src/cmd/compile/internal/ssa/fuse.go b/src/cmd/compile/internal/ssa/fuse.go index 1f826cd25e..ce759cdec1 100644 --- a/src/cmd/compile/internal/ssa/fuse.go +++ b/src/cmd/compile/internal/ssa/fuse.go @@ -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 } }