From: Michael Matloob Date: Tue, 9 Jun 2015 02:46:36 +0000 (-0400) Subject: [dev.ssa] cmd/compile/internal/ssa: delete lowergeneric.go X-Git-Tag: go1.7beta1~1623^2^2~450 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=43a2676ff091d403b62ea59c72f4686fbfd546fc;p=gostls13.git [dev.ssa] cmd/compile/internal/ssa: delete lowergeneric.go It's been replaced by rewritegeneric.go Change-Id: I2658abbc6201ecfedae4513c6da04ea3cac8bb9c Reviewed-on: https://go-review.googlesource.com/10846 Reviewed-by: Keith Randall --- diff --git a/src/cmd/compile/internal/ssa/lowergeneric.go b/src/cmd/compile/internal/ssa/lowergeneric.go deleted file mode 100644 index 1ac276ad66..0000000000 --- a/src/cmd/compile/internal/ssa/lowergeneric.go +++ /dev/null @@ -1,289 +0,0 @@ -// autogenerated from generic.rules: do not edit! -// generated with: go run rulegen/rulegen.go -package ssa - -func lowerValuegeneric(v *Value) bool { - switch v.Op { - case OpAdd: - // match: (Add (Const [c]) (Const [d])) - // cond: is64BitInt(t) - // result: (Const [{c.(int64)+d.(int64)}]) - { - t := v.Type - if v.Args[0].Op != OpConst { - goto end8d047ed0ae9537b840adc79ea82c6e05 - } - c := v.Args[0].Aux - if v.Args[1].Op != OpConst { - goto end8d047ed0ae9537b840adc79ea82c6e05 - } - d := v.Args[1].Aux - if !(is64BitInt(t)) { - goto end8d047ed0ae9537b840adc79ea82c6e05 - } - v.Op = OpConst - v.Aux = nil - v.resetArgs() - v.Aux = c.(int64) + d.(int64) - return true - } - goto end8d047ed0ae9537b840adc79ea82c6e05 - end8d047ed0ae9537b840adc79ea82c6e05: - ; - case OpArrayIndex: - // match: (ArrayIndex (Load ptr mem) idx) - // cond: - // result: (Load (PtrIndex ptr idx) mem) - { - if v.Args[0].Op != OpLoad { - goto end3809f4c52270a76313e4ea26e6f0b753 - } - ptr := v.Args[0].Args[0] - mem := v.Args[0].Args[1] - idx := v.Args[1] - v.Op = OpLoad - v.Aux = nil - v.resetArgs() - v0 := v.Block.NewValue(OpPtrIndex, TypeInvalid, nil) - v0.Type = ptr.Type.Elem().Elem().PtrTo() - v0.AddArg(ptr) - v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(mem) - return true - } - goto end3809f4c52270a76313e4ea26e6f0b753 - end3809f4c52270a76313e4ea26e6f0b753: - ; - case OpIsInBounds: - // match: (IsInBounds (Const [c]) (Const [d])) - // cond: - // result: (Const [inBounds(c.(int64),d.(int64))]) - { - if v.Args[0].Op != OpConst { - goto enddbd1a394d9b71ee64335361b8384865c - } - c := v.Args[0].Aux - if v.Args[1].Op != OpConst { - goto enddbd1a394d9b71ee64335361b8384865c - } - d := v.Args[1].Aux - v.Op = OpConst - v.Aux = nil - v.resetArgs() - v.Aux = inBounds(c.(int64), d.(int64)) - return true - } - goto enddbd1a394d9b71ee64335361b8384865c - enddbd1a394d9b71ee64335361b8384865c: - ; - case OpMul: - // match: (Mul (Const [c]) (Const [d])) - // cond: is64BitInt(t) - // result: (Const [{c.(int64)*d.(int64)}]) - { - t := v.Type - if v.Args[0].Op != OpConst { - goto end776610f88cf04f438242d76ed2b14f1c - } - c := v.Args[0].Aux - if v.Args[1].Op != OpConst { - goto end776610f88cf04f438242d76ed2b14f1c - } - d := v.Args[1].Aux - if !(is64BitInt(t)) { - goto end776610f88cf04f438242d76ed2b14f1c - } - v.Op = OpConst - v.Aux = nil - v.resetArgs() - v.Aux = c.(int64) * d.(int64) - return true - } - goto end776610f88cf04f438242d76ed2b14f1c - end776610f88cf04f438242d76ed2b14f1c: - ; - case OpPtrIndex: - // match: (PtrIndex ptr idx) - // cond: - // result: (Add ptr (Mul idx (Const [t.Elem().Size()]))) - { - t := v.Type - ptr := v.Args[0] - idx := v.Args[1] - v.Op = OpAdd - v.Aux = nil - v.resetArgs() - v.AddArg(ptr) - v0 := v.Block.NewValue(OpMul, TypeInvalid, nil) - v0.Type = v.Block.Func.Config.Uintptr - v0.AddArg(idx) - v1 := v.Block.NewValue(OpConst, TypeInvalid, nil) - v1.Type = v.Block.Func.Config.Uintptr - v1.Aux = t.Elem().Size() - v0.AddArg(v1) - v.AddArg(v0) - return true - } - goto end383c68c41e72d22ef00c4b7b0fddcbb8 - end383c68c41e72d22ef00c4b7b0fddcbb8: - ; - case OpSliceCap: - // match: (SliceCap (Load ptr mem)) - // cond: - // result: (Load (Add ptr (Const [int64(v.Block.Func.Config.ptrSize*2)])) mem) - { - if v.Args[0].Op != OpLoad { - goto endbf1d4db93c4664ed43be3f73afb4dfa3 - } - ptr := v.Args[0].Args[0] - mem := v.Args[0].Args[1] - v.Op = OpLoad - v.Aux = nil - v.resetArgs() - v0 := v.Block.NewValue(OpAdd, TypeInvalid, nil) - v0.Type = ptr.Type - v0.AddArg(ptr) - v1 := v.Block.NewValue(OpConst, TypeInvalid, nil) - v1.Type = v.Block.Func.Config.Uintptr - v1.Aux = int64(v.Block.Func.Config.ptrSize * 2) - v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(mem) - return true - } - goto endbf1d4db93c4664ed43be3f73afb4dfa3 - endbf1d4db93c4664ed43be3f73afb4dfa3: - ; - case OpSliceLen: - // match: (SliceLen (Load ptr mem)) - // cond: - // result: (Load (Add ptr (Const [int64(v.Block.Func.Config.ptrSize)])) mem) - { - if v.Args[0].Op != OpLoad { - goto end9190b1ecbda4c5dd6d3e05d2495fb297 - } - ptr := v.Args[0].Args[0] - mem := v.Args[0].Args[1] - v.Op = OpLoad - v.Aux = nil - v.resetArgs() - v0 := v.Block.NewValue(OpAdd, TypeInvalid, nil) - v0.Type = ptr.Type - v0.AddArg(ptr) - v1 := v.Block.NewValue(OpConst, TypeInvalid, nil) - v1.Type = v.Block.Func.Config.Uintptr - v1.Aux = int64(v.Block.Func.Config.ptrSize) - v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(mem) - return true - } - goto end9190b1ecbda4c5dd6d3e05d2495fb297 - end9190b1ecbda4c5dd6d3e05d2495fb297: - ; - case OpSlicePtr: - // match: (SlicePtr (Load ptr mem)) - // cond: - // result: (Load ptr mem) - { - if v.Args[0].Op != OpLoad { - goto end459613b83f95b65729d45c2ed663a153 - } - ptr := v.Args[0].Args[0] - mem := v.Args[0].Args[1] - v.Op = OpLoad - v.Aux = nil - v.resetArgs() - v.AddArg(ptr) - v.AddArg(mem) - return true - } - goto end459613b83f95b65729d45c2ed663a153 - end459613b83f95b65729d45c2ed663a153: - ; - case OpStore: - // match: (Store dst (Load src mem) mem) - // cond: t.Size() > 8 - // result: (Move [t.Size()] dst src mem) - { - dst := v.Args[0] - if v.Args[1].Op != OpLoad { - goto end324ffb6d2771808da4267f62c854e9c8 - } - t := v.Args[1].Type - src := v.Args[1].Args[0] - mem := v.Args[1].Args[1] - if v.Args[2] != v.Args[1].Args[1] { - goto end324ffb6d2771808da4267f62c854e9c8 - } - if !(t.Size() > 8) { - goto end324ffb6d2771808da4267f62c854e9c8 - } - v.Op = OpMove - v.Aux = nil - v.resetArgs() - v.Aux = t.Size() - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) - return true - } - goto end324ffb6d2771808da4267f62c854e9c8 - end324ffb6d2771808da4267f62c854e9c8: - } - return false -} -func lowerBlockgeneric(b *Block) bool { - switch b.Kind { - case BlockIf: - // match: (BlockIf (Const [c]) yes no) - // cond: c.(bool) - // result: (BlockPlain nil yes) - { - v := b.Control - if v.Op != OpConst { - goto endbe39807508a6192b4022c7293eb6e114 - } - c := v.Aux - yes := b.Succs[0] - no := b.Succs[1] - if !(c.(bool)) { - goto endbe39807508a6192b4022c7293eb6e114 - } - removePredecessor(b, no) - b.Kind = BlockPlain - b.Control = nil - b.Succs = b.Succs[:1] - b.Succs[0] = yes - return true - } - goto endbe39807508a6192b4022c7293eb6e114 - endbe39807508a6192b4022c7293eb6e114: - ; - // match: (BlockIf (Const [c]) yes no) - // cond: !c.(bool) - // result: (BlockPlain nil no) - { - v := b.Control - if v.Op != OpConst { - goto end69ac35957ebe0a77a5ef5103c1f79fbf - } - c := v.Aux - yes := b.Succs[0] - no := b.Succs[1] - if !(!c.(bool)) { - goto end69ac35957ebe0a77a5ef5103c1f79fbf - } - removePredecessor(b, yes) - b.Kind = BlockPlain - b.Control = nil - b.Succs = b.Succs[:1] - b.Succs[0] = no - return true - } - goto end69ac35957ebe0a77a5ef5103c1f79fbf - end69ac35957ebe0a77a5ef5103c1f79fbf: - } - return false -}