diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-01 21:37:00 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-01 21:37:00 +0000 |
commit | 58dbd45339823deb30fe4f1e97f6664f118b2f62 (patch) | |
tree | dab06b2c1d84c386629710831aa34d68180c419d /libgo | |
parent | 5e87c2806ff4e9057c4c46fa1d9c8ac91ce3dae9 (diff) | |
download | gcc-58dbd45339823deb30fe4f1e97f6664f118b2f62.zip gcc-58dbd45339823deb30fe4f1e97f6664f118b2f62.tar.gz gcc-58dbd45339823deb30fe4f1e97f6664f118b2f62.tar.bz2 |
compiler: recognize and optimize map range clear
Recognize
for k := range m { delete(m, k) }
for map m, and rewrite it to runtime.mapclear, as the gc compiler
does.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/169397
From-SVN: r270780
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/go/runtime/map.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libgo/go/runtime/map.go b/libgo/go/runtime/map.go index 5dd5283..b210f5a 100644 --- a/libgo/go/runtime/map.go +++ b/libgo/go/runtime/map.go @@ -72,6 +72,7 @@ import ( //go:linkname mapaccess2_fat runtime.mapaccess2_fat //go:linkname mapassign runtime.mapassign //go:linkname mapdelete runtime.mapdelete +//go:linkname mapclear runtime.mapclear //go:linkname mapiterinit runtime.mapiterinit //go:linkname mapiternext runtime.mapiternext |