]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.24] cmd/compile: don't rely on loop info when there are irreducib...
authorKeith Randall <khr@golang.org>
Tue, 23 Sep 2025 23:31:26 +0000 (16:31 -0700)
committerCarlos Amedee <carlos@golang.org>
Wed, 1 Oct 2025 18:40:42 +0000 (11:40 -0700)
commit9b28db77709b3d5c0c38e3d2c333e28b97f6a624
tree56a6415af82c353c556cf15cdae6d9bfaeb3516b
parent2e1e356e33b9c792a9643749a7626a1789197bb9
[release-branch.go1.24] cmd/compile: don't rely on loop info when there are irreducible loops

Loop information is sketchy when there are irreducible loops.
Sometimes blocks inside 2 loops can be recorded as only being part of
the outer loop. That causes tighten to move values that want to move
into such a block to move out of the loop altogether, breaking the
invariant that operations have to be scheduled after their args.

Fixes #75594

Change-Id: Idd80e6d2268094b8ae6387563081fdc1e211856a
Reviewed-on: https://go-review.googlesource.com/c/go/+/706355
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
(cherry picked from commit f15cd63ec4860c4f2c23cc992843546e0265c332)
Reviewed-on: https://go-review.googlesource.com/c/go/+/706575
src/cmd/compile/internal/ssa/tighten.go
test/fixedbugs/issue75569.go [new file with mode: 0644]