]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: cmd/internal/obj: cull dead code
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 7 Feb 2017 17:31:58 +0000 (09:31 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 7 Feb 2017 17:47:19 +0000 (17:47 +0000)
This code is dead as a result of

* removing the Follow pass
* moving rotation detection from walk to ssa

Change-Id: I14599c85bedb4e3148347b547e724187920182c4
Reviewed-on: https://go-review.googlesource.com/36484
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/gc/walk.go
src/cmd/internal/obj/pass.go

index 02ecb98d6ab051766762a9c94b4b446971890bf4..f290ea966307c9d57d5f24fdb6d3a738f937e561 100644 (file)
@@ -1411,15 +1411,6 @@ func (s *state) ssaShiftOp(op Op, t *Type, u *Type) ssa.Op {
        return x
 }
 
-func (s *state) ssaRotateOp(op Op, t *Type) ssa.Op {
-       etype1 := s.concreteEtype(t)
-       x, ok := opToSSA[opAndType{op, etype1}]
-       if !ok {
-               s.Fatalf("unhandled rotate op %v etype=%s", op, etype1)
-       }
-       return x
-}
-
 // expr converts the expression n to ssa, adds it to s and returns the ssa result.
 func (s *state) expr(n *Node) *ssa.Value {
        if !(n.Op == ONAME || n.Op == OLITERAL && n.Sym != nil) {
index 11b5f3ec3cb56cd838daa575d194b9f16ec53073..7e1da4d51d43b7d14a12c0f314faad244887da13 100644 (file)
@@ -3234,37 +3234,6 @@ func finishcompare(n, r *Node, init *Nodes) *Node {
        return nn
 }
 
-func samecheap(a *Node, b *Node) bool {
-       var ar *Node
-       var br *Node
-       for a != nil && b != nil && a.Op == b.Op {
-               switch a.Op {
-               default:
-                       return false
-
-               case ONAME:
-                       return a == b
-
-               case ODOT, ODOTPTR:
-                       if a.Sym != b.Sym {
-                               return false
-                       }
-
-               case OINDEX:
-                       ar = a.Right
-                       br = b.Right
-                       if !Isconst(ar, CTINT) || !Isconst(br, CTINT) || ar.Val().U.(*Mpint).Cmp(br.Val().U.(*Mpint)) != 0 {
-                               return false
-                       }
-               }
-
-               a = a.Left
-               b = b.Left
-       }
-
-       return false
-}
-
 // isIntOrdering reports whether n is a <, ≤, >, or ≥ ordering between integers.
 func (n *Node) isIntOrdering() bool {
        switch n.Op {
index 1d2f74b9fe5e54086e1696e3b0c74acb6dc09f49..dbc437deb5e92cee23e2d2135eadfa1eb2ab9ce5 100644 (file)
@@ -32,17 +32,6 @@ package obj
 
 // Code and data passes.
 
-func Brchain(ctxt *Link, p *Prog) *Prog {
-       for i := 0; i < 20; i++ {
-               if p == nil || p.As != AJMP || p.Pcond == nil {
-                       return p
-               }
-               p = p.Pcond
-       }
-
-       return nil
-}
-
 func brloop(ctxt *Link, p *Prog) *Prog {
        var q *Prog