From 6d40c62732ac76333426bdd6a67f8c1457ac8334 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Thu, 4 Feb 2016 18:02:03 -0800 Subject: [PATCH] [dev.ssa] cmd/compile: remove redundant compare ops Flagalloc was recalculating flags is some situations when it didn't need to. Fixed by using the same name for the original flag calculation instruction throughout. Change-Id: Ic0bf58f728a8d87748434dd25a67b0708755e1f8 Reviewed-on: https://go-review.googlesource.com/19237 Run-TryBot: Keith Randall Reviewed-by: David Chase --- src/cmd/compile/internal/ssa/flagalloc.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmd/compile/internal/ssa/flagalloc.go b/src/cmd/compile/internal/ssa/flagalloc.go index 85e9c4fbee..7ed1fe5908 100644 --- a/src/cmd/compile/internal/ssa/flagalloc.go +++ b/src/cmd/compile/internal/ssa/flagalloc.go @@ -66,7 +66,7 @@ func flagalloc(f *Func) { for _, b := range f.Blocks { oldSched = append(oldSched[:0], b.Values...) b.Values = b.Values[:0] - // The current live flag value. + // The current live flag value the pre-flagalloc copy). var flag *Value if len(b.Preds) > 0 { flag = end[b.Preds[0].ID] @@ -95,7 +95,7 @@ func flagalloc(f *Func) { // Update v. v.SetArg(i, c) // Remember the most-recently computed flag value. - flag = c + flag = a } // Issue v. b.Values = append(b.Values, v) @@ -110,7 +110,7 @@ func flagalloc(f *Func) { // Recalculate control value. c := v.copyInto(b) b.Control = c - flag = c + flag = v } if v := end[b.ID]; v != nil && v != flag { // Need to reissue flag generator for use by