diff options
author | Matthew Dempsky <mdempsky@google.com> | 2020-12-20 10:36:21 -0800 |
---|---|---|
committer | Matthew Dempsky <mdempsky@google.com> | 2020-12-21 11:19:04 -0800 |
commit | ca8e17164e0adf9b3ec8465e361b41c1636a3b93 (patch) | |
tree | 4abaee9f7a3108add5040709f90bed4d8b5a4a81 /src/cmd/compile/internal/ssa/expand_calls.go | |
parent | c45313bf451591ab2f7a3ffbbd724bb36d51cba0 (diff) | |
parent | 89b44b4e2bb2f88474d6b8476f5c28ea2aea9b28 (diff) | |
download | go-ca8e17164e0adf9b3ec8465e361b41c1636a3b93.tar.gz go-ca8e17164e0adf9b3ec8465e361b41c1636a3b93.zip |
[dev.regabi] all: merge master into dev.regabi
The list of conflicted files for this merge is:
src/cmd/compile/internal/gc/inl.go
src/cmd/compile/internal/gc/order.go
src/cmd/compile/internal/gc/ssa.go
test/fixedbugs/issue20415.go
test/fixedbugs/issue22822.go
test/fixedbugs/issue28079b.go
inl.go was updated for changes on dev.regabi: namely that OSELRECV has
been removed, and that OSELRECV2 now only uses List, rather than both
Left and List.
order.go was updated IsAutoTmp is now a standalone function, rather
than a method on Node.
ssa.go was similarly updated for new APIs involving package ir.
The tests are all merging upstream additions for gccgo error messages
with changes to cmd/compile's error messages on the dev.regabi branch.
Change-Id: Icaaf186d69da791b5994dbb6688ec989caabec42
Diffstat (limited to 'src/cmd/compile/internal/ssa/expand_calls.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/expand_calls.go | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/cmd/compile/internal/ssa/expand_calls.go b/src/cmd/compile/internal/ssa/expand_calls.go index 0eba238d81..e1c657d4a4 100644 --- a/src/cmd/compile/internal/ssa/expand_calls.go +++ b/src/cmd/compile/internal/ssa/expand_calls.go @@ -196,9 +196,6 @@ func expandCalls(f *Func) { } if leaf.Op == OpIData { leafType = removeTrivialWrapperTypes(leaf.Type) - if leafType.IsEmptyInterface() { - leafType = typ.BytePtr - } } aux := selector.Aux auxInt := selector.AuxInt + offset @@ -247,12 +244,9 @@ func expandCalls(f *Func) { // i.e., the struct select is generated and remains in because it is not applied to an actual structure. // The OpLoad was created to load the single field of the IData // This case removes that StructSelect. - if leafType != selector.Type && !selector.Type.IsEmptyInterface() { // empty interface for #42727 + if leafType != selector.Type { f.Fatalf("Unexpected Load as selector, leaf=%s, selector=%s\n", leaf.LongString(), selector.LongString()) } - if selector.Type.IsEmptyInterface() { - selector.Type = typ.BytePtr - } leaf.copyOf(selector) for _, s := range namedSelects[selector] { locs = append(locs, f.Names[s.locIndex]) |