]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: use ellipses in dec64 rules
authorJosh Bleecher Snyder <josharian@gmail.com>
Thu, 23 Jan 2020 22:28:40 +0000 (14:28 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 25 Feb 2020 00:34:32 +0000 (00:34 +0000)
Passes toolstash-check -all.

Change-Id: I1b56c3b00e7fb7875165b337a93d5fce158b9df0
Reviewed-on: https://go-review.googlesource.com/c/go/+/217010
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/ssa/gen/dec64.rules
src/cmd/compile/internal/ssa/rewritedec64.go

index 874ee471549a0ae3be9fc40c02a1519ef6cb298e..edbe72189e31c5f6baa025222cb423a759372674 100644 (file)
 // Sadly, just because we know that x is non-zero,
 // we don't know whether either component is,
 // so just treat Ctz64NonZero the same as Ctz64.
-(Ctz64NonZero x) -> (Ctz64 x)
+(Ctz64NonZero ...) -> (Ctz64 ...)
 
 (Ctz64 x) ->
        (Add32 <typ.UInt32>
index 9059904d54465ade58a71ffe70ee4f4c4da0cb8e..ae6d19142f8bb87e23ebb7eb66e9a7752f8bc05b 100644 (file)
@@ -24,7 +24,8 @@ func rewriteValuedec64(v *Value) bool {
        case OpCtz64:
                return rewriteValuedec64_OpCtz64(v)
        case OpCtz64NonZero:
-               return rewriteValuedec64_OpCtz64NonZero(v)
+               v.Op = OpCtz64
+               return true
        case OpEq64:
                return rewriteValuedec64_OpEq64(v)
        case OpGeq64:
@@ -431,17 +432,6 @@ func rewriteValuedec64_OpCtz64(v *Value) bool {
                return true
        }
 }
-func rewriteValuedec64_OpCtz64NonZero(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Ctz64NonZero x)
-       // result: (Ctz64 x)
-       for {
-               x := v_0
-               v.reset(OpCtz64)
-               v.AddArg(x)
-               return true
-       }
-}
 func rewriteValuedec64_OpEq64(v *Value) bool {
        v_1 := v.Args[1]
        v_0 := v.Args[0]