// For register ABI, liveness info changes slightly. See live_regabi.go.
// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// swissmap-specific tests for live.go
// TODO(#54766): temporary while fast variants are disabled.
packagemain
// str is used to ensure that a temp is required for runtime calls below.
funcstr()string
varbbool
varm2map[[2]string]*byte
varm2smap[string]*byte
varx2[2]string
funcf17b(p*byte){// ERROR "live at entry to f17b: p$"
// key temporary
ifb{
// TODO(go.dev/issue/54766): There is an extra autotmp here vs old maps.
m2s[str()]=p// ERROR "live at call to mapassign: p$" "live at call to str: p$" "stack object .autotmp_[0-9]+ string$"
}
m2s[str()]=p// ERROR "live at call to mapassign: p$" "live at call to str: p$"
m2s[str()]=p// ERROR "live at call to mapassign: p$" "live at call to str: p$"
}
funcf17c(){
// key and value temporaries
ifb{
// TODO(go.dev/issue/54766): There is an extra autotmp here vs old maps.
m2s[str()]=f17d()// ERROR "live at call to f17d: .autotmp_[0-9]+$" "live at call to mapassign: .autotmp_[0-9]+$" "stack object .autotmp_[0-9]+ string$"
}
m2s[str()]=f17d()// ERROR "live at call to f17d: .autotmp_[0-9]+$" "live at call to mapassign: .autotmp_[0-9]+$"
m2s[str()]=f17d()// ERROR "live at call to f17d: .autotmp_[0-9]+$" "live at call to mapassign: .autotmp_[0-9]+$"