aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/rewritedec.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2017-04-20 15:47:06 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2017-04-21 13:13:22 +0000
commitfc7b83d192e9d0a70f4fd3f0692b54ee21b70312 (patch)
tree55aa315b08b16a905f017bee313ea8abf940eb6e /src/cmd/compile/internal/ssa/rewritedec.go
parenteaa198f3d16e76a58711eb0e8cc9d57d1fdcf7fd (diff)
downloadgo-fc7b83d192e9d0a70f4fd3f0692b54ee21b70312.tar.gz
go-fc7b83d192e9d0a70f4fd3f0692b54ee21b70312.zip
cmd/compile: break up large value rewrite functions
This makes the cmd/compile/internal/ssa package compile much faster, and has no impact on the speed of the compiler. The chunk size was selected empirically, in that at chunk size 10, the object file was smaller than at chunk size 5 or 20. name old time/op new time/op delta SSA 7.33s ± 5% 5.64s ± 1% -23.10% (p=0.000 n=10+10) name old user-time/op new user-time/op delta SSA 9.70s ± 1% 8.04s ± 2% -17.17% (p=0.000 n=9+10) name old obj-bytes new obj-bytes delta SSA 9.82M ± 0% 8.28M ± 0% -15.67% (p=0.000 n=10+10) Change-Id: Iab472905da3f0e82f3db2c93d06e2759abc9dd44 Reviewed-on: https://go-review.googlesource.com/41296 Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewritedec.go')
-rw-r--r--src/cmd/compile/internal/ssa/rewritedec.go44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/cmd/compile/internal/ssa/rewritedec.go b/src/cmd/compile/internal/ssa/rewritedec.go
index 305fc7bd72..7040abbec0 100644
--- a/src/cmd/compile/internal/ssa/rewritedec.go
+++ b/src/cmd/compile/internal/ssa/rewritedec.go
@@ -14,31 +14,31 @@ var _ = objabi.GOROOT // in case not otherwise used
func rewriteValuedec(v *Value) bool {
switch v.Op {
case OpComplexImag:
- return rewriteValuedec_OpComplexImag(v)
+ return rewriteValuedec_OpComplexImag_0(v)
case OpComplexReal:
- return rewriteValuedec_OpComplexReal(v)
+ return rewriteValuedec_OpComplexReal_0(v)
case OpIData:
- return rewriteValuedec_OpIData(v)
+ return rewriteValuedec_OpIData_0(v)
case OpITab:
- return rewriteValuedec_OpITab(v)
+ return rewriteValuedec_OpITab_0(v)
case OpLoad:
- return rewriteValuedec_OpLoad(v)
+ return rewriteValuedec_OpLoad_0(v)
case OpSliceCap:
- return rewriteValuedec_OpSliceCap(v)
+ return rewriteValuedec_OpSliceCap_0(v)
case OpSliceLen:
- return rewriteValuedec_OpSliceLen(v)
+ return rewriteValuedec_OpSliceLen_0(v)
case OpSlicePtr:
- return rewriteValuedec_OpSlicePtr(v)
+ return rewriteValuedec_OpSlicePtr_0(v)
case OpStore:
- return rewriteValuedec_OpStore(v)
+ return rewriteValuedec_OpStore_0(v)
case OpStringLen:
- return rewriteValuedec_OpStringLen(v)
+ return rewriteValuedec_OpStringLen_0(v)
case OpStringPtr:
- return rewriteValuedec_OpStringPtr(v)
+ return rewriteValuedec_OpStringPtr_0(v)
}
return false
}
-func rewriteValuedec_OpComplexImag(v *Value) bool {
+func rewriteValuedec_OpComplexImag_0(v *Value) bool {
// match: (ComplexImag (ComplexMake _ imag))
// cond:
// result: imag
@@ -55,7 +55,7 @@ func rewriteValuedec_OpComplexImag(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpComplexReal(v *Value) bool {
+func rewriteValuedec_OpComplexReal_0(v *Value) bool {
// match: (ComplexReal (ComplexMake real _))
// cond:
// result: real
@@ -72,7 +72,7 @@ func rewriteValuedec_OpComplexReal(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpIData(v *Value) bool {
+func rewriteValuedec_OpIData_0(v *Value) bool {
// match: (IData (IMake _ data))
// cond:
// result: data
@@ -89,7 +89,7 @@ func rewriteValuedec_OpIData(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpITab(v *Value) bool {
+func rewriteValuedec_OpITab_0(v *Value) bool {
b := v.Block
_ = b
// match: (ITab (IMake itab _))
@@ -108,7 +108,7 @@ func rewriteValuedec_OpITab(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpLoad(v *Value) bool {
+func rewriteValuedec_OpLoad_0(v *Value) bool {
b := v.Block
_ = b
config := b.Func.Config
@@ -244,7 +244,7 @@ func rewriteValuedec_OpLoad(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpSliceCap(v *Value) bool {
+func rewriteValuedec_OpSliceCap_0(v *Value) bool {
// match: (SliceCap (SliceMake _ _ cap))
// cond:
// result: cap
@@ -261,7 +261,7 @@ func rewriteValuedec_OpSliceCap(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpSliceLen(v *Value) bool {
+func rewriteValuedec_OpSliceLen_0(v *Value) bool {
// match: (SliceLen (SliceMake _ len _))
// cond:
// result: len
@@ -278,7 +278,7 @@ func rewriteValuedec_OpSliceLen(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpSlicePtr(v *Value) bool {
+func rewriteValuedec_OpSlicePtr_0(v *Value) bool {
// match: (SlicePtr (SliceMake ptr _ _))
// cond:
// result: ptr
@@ -295,7 +295,7 @@ func rewriteValuedec_OpSlicePtr(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpStore(v *Value) bool {
+func rewriteValuedec_OpStore_0(v *Value) bool {
b := v.Block
_ = b
config := b.Func.Config
@@ -456,7 +456,7 @@ func rewriteValuedec_OpStore(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpStringLen(v *Value) bool {
+func rewriteValuedec_OpStringLen_0(v *Value) bool {
// match: (StringLen (StringMake _ len))
// cond:
// result: len
@@ -473,7 +473,7 @@ func rewriteValuedec_OpStringLen(v *Value) bool {
}
return false
}
-func rewriteValuedec_OpStringPtr(v *Value) bool {
+func rewriteValuedec_OpStringPtr_0(v *Value) bool {
// match: (StringPtr (StringMake ptr _))
// cond:
// result: ptr