aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/rewritedec.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewritedec.go')
-rw-r--r--src/cmd/compile/internal/ssa/rewritedec.go21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/cmd/compile/internal/ssa/rewritedec.go b/src/cmd/compile/internal/ssa/rewritedec.go
index 1e5c19cd23..1141d322bf 100644
--- a/src/cmd/compile/internal/ssa/rewritedec.go
+++ b/src/cmd/compile/internal/ssa/rewritedec.go
@@ -868,29 +868,16 @@ func rewriteValuedec_OpStructSelect(v *Value) bool {
return true
}
// match: (StructSelect (IData x))
- // cond: v.Type.Size() == 0 && v.Type.IsStruct()
- // result: (StructMake)
+ // cond: v.Type.Size() == 0
+ // result: (Empty)
for {
if v_0.Op != OpIData {
break
}
- if !(v.Type.Size() == 0 && v.Type.IsStruct()) {
+ if !(v.Type.Size() == 0) {
break
}
- v.reset(OpStructMake)
- return true
- }
- // match: (StructSelect (IData x))
- // cond: v.Type.Size() == 0 && v.Type.IsArray()
- // result: (ArrayMake0)
- for {
- if v_0.Op != OpIData {
- break
- }
- if !(v.Type.Size() == 0 && v.Type.IsArray()) {
- break
- }
- v.reset(OpArrayMake0)
+ v.reset(OpEmpty)
return true
}
// match: (StructSelect [i] x:(StructMake ___))