aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-05-01 21:37:00 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-05-01 21:37:00 +0000
commit58dbd45339823deb30fe4f1e97f6664f118b2f62 (patch)
treedab06b2c1d84c386629710831aa34d68180c419d /libgo
parent5e87c2806ff4e9057c4c46fa1d9c8ac91ce3dae9 (diff)
downloadgcc-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.go1
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