diff options
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewritedec.go')
| -rw-r--r-- | src/cmd/compile/internal/ssa/rewritedec.go | 21 |
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 ___)) |
