diff options
author | Josh Bleecher Snyder <josharian@gmail.com> | 2020-03-01 13:09:09 -0800 |
---|---|---|
committer | Josh Bleecher Snyder <josharian@gmail.com> | 2020-03-02 17:40:00 +0000 |
commit | 5e4da0adac18aad82b85e6ce3f928392b7998994 (patch) | |
tree | d5d889ce4337929ccc2d3713ea05bf8cc7ccfe64 /src/cmd/compile/internal/ssa/rewriteMIPS.go | |
parent | d8bf079751cbdbebe8425be7c93b963dc0f31360 (diff) | |
download | go-5e4da0adac18aad82b85e6ce3f928392b7998994.tar.gz go-5e4da0adac18aad82b85e6ce3f928392b7998994.zip |
cmd/compile: add streamlined Block Reset+AddControl routines
For use in rewrite rules. Shrinks cmd/compile:
compile 20082104 19967416 -114688 -0.571%
Passes toolstash-check -all.
Change-Id: Ic856508b27ec5b7fb9b6ca63e955a7139ae7dc30
Reviewed-on: https://go-review.googlesource.com/c/go/+/221780
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewriteMIPS.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewriteMIPS.go | 75 |
1 files changed, 25 insertions, 50 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS.go b/src/cmd/compile/internal/ssa/rewriteMIPS.go index e036885a16..83bb92fc35 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS.go @@ -7247,8 +7247,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSFPFlagTrue { v_0 := b.Controls[0] cmp := v_0.Args[0] - b.Reset(BlockMIPSFPF) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSFPF, cmp) return true } // match: (EQ (FPFlagFalse cmp) yes no) @@ -7256,8 +7255,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSFPFlagFalse { v_0 := b.Controls[0] cmp := v_0.Args[0] - b.Reset(BlockMIPSFPT) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSFPT, cmp) return true } // match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no) @@ -7272,8 +7270,7 @@ func rewriteBlockMIPS(b *Block) bool { break } _ = cmp.Args[1] - b.Reset(BlockMIPSNE) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSNE, cmp) return true } // match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no) @@ -7288,8 +7285,7 @@ func rewriteBlockMIPS(b *Block) bool { break } _ = cmp.Args[1] - b.Reset(BlockMIPSNE) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSNE, cmp) return true } // match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no) @@ -7303,8 +7299,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTconst { break } - b.Reset(BlockMIPSNE) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSNE, cmp) return true } // match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no) @@ -7318,8 +7313,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTUconst { break } - b.Reset(BlockMIPSNE) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSNE, cmp) return true } // match: (EQ (XORconst [1] cmp:(SGTzero _)) yes no) @@ -7333,8 +7327,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTzero { break } - b.Reset(BlockMIPSNE) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSNE, cmp) return true } // match: (EQ (XORconst [1] cmp:(SGTUzero _)) yes no) @@ -7348,8 +7341,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTUzero { break } - b.Reset(BlockMIPSNE) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSNE, cmp) return true } // match: (EQ (SGTUconst [1] x) yes no) @@ -7360,8 +7352,7 @@ func rewriteBlockMIPS(b *Block) bool { break } x := v_0.Args[0] - b.Reset(BlockMIPSNE) - b.AddControl(x) + b.resetWithControl(BlockMIPSNE, x) return true } // match: (EQ (SGTUzero x) yes no) @@ -7369,8 +7360,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSSGTUzero { v_0 := b.Controls[0] x := v_0.Args[0] - b.Reset(BlockMIPSEQ) - b.AddControl(x) + b.resetWithControl(BlockMIPSEQ, x) return true } // match: (EQ (SGTconst [0] x) yes no) @@ -7381,8 +7371,7 @@ func rewriteBlockMIPS(b *Block) bool { break } x := v_0.Args[0] - b.Reset(BlockMIPSGEZ) - b.AddControl(x) + b.resetWithControl(BlockMIPSGEZ, x) return true } // match: (EQ (SGTzero x) yes no) @@ -7390,8 +7379,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSSGTzero { v_0 := b.Controls[0] x := v_0.Args[0] - b.Reset(BlockMIPSLEZ) - b.AddControl(x) + b.resetWithControl(BlockMIPSLEZ, x) return true } // match: (EQ (MOVWconst [0]) yes no) @@ -7474,8 +7462,7 @@ func rewriteBlockMIPS(b *Block) bool { // result: (NE cond yes no) for { cond := b.Controls[0] - b.Reset(BlockMIPSNE) - b.AddControl(cond) + b.resetWithControl(BlockMIPSNE, cond) return true } case BlockMIPSLEZ: @@ -7536,8 +7523,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSFPFlagTrue { v_0 := b.Controls[0] cmp := v_0.Args[0] - b.Reset(BlockMIPSFPT) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSFPT, cmp) return true } // match: (NE (FPFlagFalse cmp) yes no) @@ -7545,8 +7531,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSFPFlagFalse { v_0 := b.Controls[0] cmp := v_0.Args[0] - b.Reset(BlockMIPSFPF) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSFPF, cmp) return true } // match: (NE (XORconst [1] cmp:(SGT _ _)) yes no) @@ -7561,8 +7546,7 @@ func rewriteBlockMIPS(b *Block) bool { break } _ = cmp.Args[1] - b.Reset(BlockMIPSEQ) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSEQ, cmp) return true } // match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no) @@ -7577,8 +7561,7 @@ func rewriteBlockMIPS(b *Block) bool { break } _ = cmp.Args[1] - b.Reset(BlockMIPSEQ) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSEQ, cmp) return true } // match: (NE (XORconst [1] cmp:(SGTconst _)) yes no) @@ -7592,8 +7575,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTconst { break } - b.Reset(BlockMIPSEQ) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSEQ, cmp) return true } // match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no) @@ -7607,8 +7589,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTUconst { break } - b.Reset(BlockMIPSEQ) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSEQ, cmp) return true } // match: (NE (XORconst [1] cmp:(SGTzero _)) yes no) @@ -7622,8 +7603,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTzero { break } - b.Reset(BlockMIPSEQ) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSEQ, cmp) return true } // match: (NE (XORconst [1] cmp:(SGTUzero _)) yes no) @@ -7637,8 +7617,7 @@ func rewriteBlockMIPS(b *Block) bool { if cmp.Op != OpMIPSSGTUzero { break } - b.Reset(BlockMIPSEQ) - b.AddControl(cmp) + b.resetWithControl(BlockMIPSEQ, cmp) return true } // match: (NE (SGTUconst [1] x) yes no) @@ -7649,8 +7628,7 @@ func rewriteBlockMIPS(b *Block) bool { break } x := v_0.Args[0] - b.Reset(BlockMIPSEQ) - b.AddControl(x) + b.resetWithControl(BlockMIPSEQ, x) return true } // match: (NE (SGTUzero x) yes no) @@ -7658,8 +7636,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSSGTUzero { v_0 := b.Controls[0] x := v_0.Args[0] - b.Reset(BlockMIPSNE) - b.AddControl(x) + b.resetWithControl(BlockMIPSNE, x) return true } // match: (NE (SGTconst [0] x) yes no) @@ -7670,8 +7647,7 @@ func rewriteBlockMIPS(b *Block) bool { break } x := v_0.Args[0] - b.Reset(BlockMIPSLTZ) - b.AddControl(x) + b.resetWithControl(BlockMIPSLTZ, x) return true } // match: (NE (SGTzero x) yes no) @@ -7679,8 +7655,7 @@ func rewriteBlockMIPS(b *Block) bool { for b.Controls[0].Op == OpMIPSSGTzero { v_0 := b.Controls[0] x := v_0.Args[0] - b.Reset(BlockMIPSGTZ) - b.AddControl(x) + b.resetWithControl(BlockMIPSGTZ, x) return true } // match: (NE (MOVWconst [0]) yes no) |