]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/gc: remove OHMUL Op
authorMatthew Dempsky <mdempsky@google.com>
Fri, 3 Mar 2017 10:43:44 +0000 (02:43 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Fri, 3 Mar 2017 17:47:53 +0000 (17:47 +0000)
Previously the compiler rewrote constant division into OHMUL
operations, but that rewriting was moved to SSA in CL 37015. Now OHMUL
is unused, so we can get rid of it.

Change-Id: Ib6fc7c2b6435510bafb5735b3b4f42cfd8ed8cdb
Reviewed-on: https://go-review.googlesource.com/37750
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/opnames.go
src/cmd/compile/internal/gc/racewalk.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/gc/syntax.go
src/cmd/compile/internal/gc/typecheck.go
src/cmd/compile/internal/gc/universe.go
src/cmd/compile/internal/gc/walk.go

index 8524015c90dd6b5cb31d30933364d542210f35f6..445b19397045696ff95ae0d1eeb8a09cacb0ee7a 100644 (file)
@@ -152,7 +152,6 @@ var opnames = []string{
        OVARKILL:         "VARKILL",
        OVARLIVE:         "VARLIVE",
        OINDREGSP:        "INDREGSP",
-       OHMUL:            "HMUL",
        ORETJMP:          "RETJMP",
        OGETG:            "GETG",
        OEND:             "END",
index d6c4501ee7b75db79170317a9ca535565523564b..1d5323a46ebe69f326c9d6f4d4a5ad21164d0214 100644 (file)
@@ -232,7 +232,6 @@ func instrumentnode(np **Node, init *Nodes, wr int, skip int) {
                OXOR,
                OSUB,
                OMUL,
-               OHMUL,
                OEQ,
                ONE,
                OLT,
index 09667a73f0f7eae5612fc9819d0a0925aadc6447..97fba5f0e41f462af660cbf9a7cec86d61243a80 100644 (file)
@@ -1046,13 +1046,6 @@ var opToSSA = map[opAndType]ssa.Op{
        opAndType{ODIV, TFLOAT32}: ssa.OpDiv32F,
        opAndType{ODIV, TFLOAT64}: ssa.OpDiv64F,
 
-       opAndType{OHMUL, TINT8}:   ssa.OpHmul8,
-       opAndType{OHMUL, TUINT8}:  ssa.OpHmul8u,
-       opAndType{OHMUL, TINT16}:  ssa.OpHmul16,
-       opAndType{OHMUL, TUINT16}: ssa.OpHmul16u,
-       opAndType{OHMUL, TINT32}:  ssa.OpHmul32,
-       opAndType{OHMUL, TUINT32}: ssa.OpHmul32u,
-
        opAndType{ODIV, TINT8}:   ssa.OpDiv8,
        opAndType{ODIV, TUINT8}:  ssa.OpDiv8u,
        opAndType{ODIV, TINT16}:  ssa.OpDiv16,
@@ -1848,7 +1841,7 @@ func (s *state) expr(n *Node) *ssa.Value {
                                s.newValue2(op, pt, s.newValue1(ssa.OpComplexImag, pt, a), s.newValue1(ssa.OpComplexImag, pt, b)))
                }
                return s.newValue2(s.ssaOp(n.Op, n.Type), a.Type, a, b)
-       case OAND, OOR, OHMUL, OXOR:
+       case OAND, OOR, OXOR:
                a := s.expr(n.Left)
                b := s.expr(n.Right)
                return s.newValue2(s.ssaOp(n.Op, n.Type), a.Type, a, b)
index 36b6af5e1020752c72553aba34e9e86ed5b9aefa..0a637478256b43a23c1df6780c10ea026bc7fb42 100644 (file)
@@ -493,7 +493,6 @@ const (
        OINDREGSP   // offset plus indirect of REGSP, such as 8(SP).
 
        // arch-specific opcodes
-       OHMUL   // high mul: AMUL/AIMUL for unsigned/signed (OMUL uses AIMUL for both).
        ORETJMP // return to other function
        OGETG   // runtime.getg() (read g pointer)
 
index 3a5f35359dd838542fd58cafebbde96ccccad431..b162647c3402a3de9b7315cbe02842ba067849a4 100644 (file)
@@ -521,7 +521,6 @@ OpSwitch:
                OEQ,
                OGE,
                OGT,
-               OHMUL,
                OLE,
                OLT,
                OLSH,
index d23aebeafbb78cf23ec14fd6f94e1a53a9d0370e..a54a05a8f557138669af68456dcd814882e68acf 100644 (file)
@@ -287,7 +287,6 @@ func typeinit() {
        okfor[OLE] = okforcmp[:]
        okfor[OLT] = okforcmp[:]
        okfor[OMOD] = okforand[:]
-       okfor[OHMUL] = okforarith[:]
        okfor[OMUL] = okforarith[:]
        okfor[ONE] = okforeq[:]
        okfor[OOR] = okforand[:]
index 0bcea85e25fd8c9bdcdf8f9989e1eabba31564cd..dcc4ee3bb29082c5a7d6d97e8dac914079c5c1f5 100644 (file)
@@ -565,7 +565,6 @@ opswitch:
 
        case OAND,
                OSUB,
-               OHMUL,
                OMUL,
                OLT,
                OLE,