mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: use new for loop semantics for Go 1.22+ compilations
This includes version-dependent support for GOEXPERIMENT and -d=loopvar, -d=loopvarhash, to allow testing/porting of old code. Includes tests of downgrade (1.22 -> 1.21) and upgrade (1.21 -> 1.22) based on //go:build lines (while running a 1.22 build/compiler). Change-Id: Idd3be61a2b46acec33c7e7edac0924158cc726b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/508819 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
6d8d88a707
commit
fe1daf2e43
7 changed files with 239 additions and 12 deletions
|
|
@ -605,7 +605,7 @@ func LogTransformations(transformed []VarAndLoop) {
|
|||
// Intended to help with performance debugging, we record whole loop ranges
|
||||
logopt.LogOptRange(pos, last, "loop-modified-"+loopKind, "loopvar", ir.FuncName(l.curfn))
|
||||
}
|
||||
if print && 3 <= base.Debug.LoopVar {
|
||||
if print && 4 <= base.Debug.LoopVar {
|
||||
// TODO decide if we want to keep this, or not. It was helpful for validating logopt, otherwise, eh.
|
||||
inner := base.Ctxt.InnermostPos(pos)
|
||||
outer := base.Ctxt.OutermostPos(pos)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue