[go] cmd/compile: tighten mergelocals address use analysis

7 views
Skip to first unread message

Keith Randall (Gerrit)

unread,
Jul 2, 2026, 7:09:56 PMJul 2
to Than McIntosh, goph...@pubsubhelper.golang.org, Keith Randall, golang-co...@googlegroups.com
Attention needed from Than McIntosh

Keith Randall has uploaded the change for review

Keith Randall would like Than McIntosh to review this change.

Commit message

cmd/compile: tighten mergelocals address use analysis

We currently look for all uses of the address of a local, to find the
maximum extent of the lifetime of a local. But the analysis doesn't
handle the case where a use of the address is itself just a copy or
pointer arithmetic, and the result of that use is then subsequently
used outside the lifetime we currently compute.

Maybe we could track down uses of uses, etc. But we do the safer thing
here which is just to consider only uses that we know aren't propagating
the address anywhere. Any other uses are considered bad and abort
merging for the affected local. This is conservative but easy to reason
about. In practice, these address copies don't come up all that often,
as they are usually folded into load/store ops.

TODO: more addrSinkArg marks on arch-dependent ops.

Fixes #80127
Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6

Change diff

diff --git a/src/cmd/compile/internal/liveness/mergelocals.go b/src/cmd/compile/internal/liveness/mergelocals.go
index 6967ee0..28d034a 100644
--- a/src/cmd/compile/internal/liveness/mergelocals.go
+++ b/src/cmd/compile/internal/liveness/mergelocals.go
@@ -513,8 +513,13 @@
}
}
}
- for _, arg := range v.Args {
+ for idx, arg := range v.Args {
if nc, ok := pendingUses[arg.ID]; ok {
+ if !v.AddrSinkArg(idx) {
+ // If this op may propagate the argument address to its output,
+ // then give up. See issue 80127.
+ continue
+ }
// We found a use of some value that took the
// address of nc.n. Record this inst as a
// potential indirect use.
diff --git a/src/cmd/compile/internal/ssa/_gen/AMD64Ops.go b/src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
index 1488201..959aa414 100644
--- a/src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
+++ b/src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
@@ -998,6 +998,7 @@
inputs: []regMask{gp},
},
faultOnNilArg0: true,
+ addrSinkArg0: true,
},

// arg0 = pointer to start of memory to zero
@@ -1014,6 +1015,7 @@
},
clobberFlags: true,
faultOnNilArg0: true,
+ addrSinkArg0: true,
needIntTemp: true,
},

@@ -1030,6 +1032,7 @@
clobbers: buildReg("DI CX"),
},
faultOnNilArg0: true,
+ addrSinkArg0: true,
},

// With a register ABI, the actual register info for these instructions (i.e., what is used in regalloc) is augmented with per-call-site bindings of additional arguments to specific in and out registers.
@@ -1054,6 +1057,8 @@
},
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
},
// arg0 = destination pointer
// arg1 = source pointer
@@ -1073,6 +1078,8 @@
clobberFlags: true,
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
needIntTemp: true,
},

@@ -1090,6 +1097,8 @@
},
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
},

// (InvertFlags (CMPQ a b)) == (CMPQ b a)
diff --git a/src/cmd/compile/internal/ssa/_gen/ARM64Ops.go b/src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
index 04d960f..61c2a26 100644
--- a/src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
+++ b/src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
@@ -424,13 +424,13 @@
{name: "FMOVDloadidx", argLength: 3, reg: fp2load, asm: "FMOVD", typ: "Float64"}, // load 64-bit float from arg0 + arg1, arg2=mem.

// shifted register indexed load
- {name: "MOVHloadidx2", argLength: 3, reg: gp2load, asm: "MOVH", typ: "Int16"}, // load 16-bit half-word from arg0 + arg1*2, sign-extended to 64-bit, arg2=mem.
- {name: "MOVHUloadidx2", argLength: 3, reg: gp2load, asm: "MOVHU", typ: "UInt16"}, // load 16-bit half-word from arg0 + arg1*2, zero-extended to 64-bit, arg2=mem.
- {name: "MOVWloadidx4", argLength: 3, reg: gp2load, asm: "MOVW", typ: "Int32"}, // load 32-bit word from arg0 + arg1*4, sign-extended to 64-bit, arg2=mem.
- {name: "MOVWUloadidx4", argLength: 3, reg: gp2load, asm: "MOVWU", typ: "UInt32"}, // load 32-bit word from arg0 + arg1*4, zero-extended to 64-bit, arg2=mem.
- {name: "MOVDloadidx8", argLength: 3, reg: gp2load, asm: "MOVD", typ: "UInt64"}, // load 64-bit double-word from arg0 + arg1*8, arg2 = mem.
- {name: "FMOVSloadidx4", argLength: 3, reg: fp2load, asm: "FMOVS", typ: "Float32"}, // load 32-bit float from arg0 + arg1*4, arg2 = mem.
- {name: "FMOVDloadidx8", argLength: 3, reg: fp2load, asm: "FMOVD", typ: "Float64"}, // load 64-bit float from arg0 + arg1*8, arg2 = mem.
+ {name: "MOVHloadidx2", argLength: 3, reg: gp2load, asm: "MOVH", typ: "Int16"}, // load 16-bit half-word from arg0 + arg1*2, sign-extended to 64-bit, arg2=mem.
+ {name: "MOVHUloadidx2", argLength: 3, reg: gp2load, asm: "MOVHU", typ: "UInt16"}, // load 16-bit half-word from arg0 + arg1*2, zero-extended to 64-bit, arg2=mem.
+ {name: "MOVWloadidx4", argLength: 3, reg: gp2load, asm: "MOVW", typ: "Int32"}, // load 32-bit word from arg0 + arg1*4, sign-extended to 64-bit, arg2=mem.
+ {name: "MOVWUloadidx4", argLength: 3, reg: gp2load, asm: "MOVWU", typ: "UInt32"}, // load 32-bit word from arg0 + arg1*4, zero-extended to 64-bit, arg2=mem.
+ {name: "MOVDloadidx8", argLength: 3, reg: gp2load, asm: "MOVD", typ: "UInt64", addrSinkArg0: true}, // load 64-bit double-word from arg0 + arg1*8, arg2 = mem.
+ {name: "FMOVSloadidx4", argLength: 3, reg: fp2load, asm: "FMOVS", typ: "Float32"}, // load 32-bit float from arg0 + arg1*4, arg2 = mem.
+ {name: "FMOVDloadidx8", argLength: 3, reg: fp2load, asm: "FMOVD", typ: "Float64"}, // load 64-bit float from arg0 + arg1*8, arg2 = mem.

{name: "MOVBstore", argLength: 3, reg: gpstore, aux: "SymOff", asm: "MOVB", typ: "Mem", faultOnNilArg0: true, symEffect: "Write"}, // store 1 byte of arg1 to arg0 + auxInt + aux. arg2=mem.
{name: "MOVHstore", argLength: 3, reg: gpstore, aux: "SymOff", asm: "MOVH", typ: "Mem", faultOnNilArg0: true, symEffect: "Write"}, // store 2 bytes of arg1 to arg0 + auxInt + aux. arg2=mem.
@@ -460,11 +460,11 @@
{name: "FMOVDstoreidx", argLength: 4, reg: fpstoreidx, asm: "FMOVD", typ: "Mem"}, // store 64-bit float of arg2 to arg0 + arg1, arg3=mem.

// shifted register indexed store
- {name: "MOVHstoreidx2", argLength: 4, reg: gpstore2, asm: "MOVH", typ: "Mem"}, // store 2 bytes of arg2 to arg0 + arg1*2, arg3 = mem.
- {name: "MOVWstoreidx4", argLength: 4, reg: gpstore2, asm: "MOVW", typ: "Mem"}, // store 4 bytes of arg2 to arg0 + arg1*4, arg3 = mem.
- {name: "MOVDstoreidx8", argLength: 4, reg: gpstore2, asm: "MOVD", typ: "Mem"}, // store 8 bytes of arg2 to arg0 + arg1*8, arg3 = mem.
- {name: "FMOVSstoreidx4", argLength: 4, reg: fpstoreidx, asm: "FMOVS", typ: "Mem"}, // store 32-bit float of arg2 to arg0 + arg1*4, arg3=mem.
- {name: "FMOVDstoreidx8", argLength: 4, reg: fpstoreidx, asm: "FMOVD", typ: "Mem"}, // store 64-bit float of arg2 to arg0 + arg1*8, arg3=mem.
+ {name: "MOVHstoreidx2", argLength: 4, reg: gpstore2, asm: "MOVH", typ: "Mem"}, // store 2 bytes of arg2 to arg0 + arg1*2, arg3 = mem.
+ {name: "MOVWstoreidx4", argLength: 4, reg: gpstore2, asm: "MOVW", typ: "Mem"}, // store 4 bytes of arg2 to arg0 + arg1*4, arg3 = mem.
+ {name: "MOVDstoreidx8", argLength: 4, reg: gpstore2, asm: "MOVD", typ: "Mem", addrSinkArg0: true}, // store 8 bytes of arg2 to arg0 + arg1*8, arg3 = mem.
+ {name: "FMOVSstoreidx4", argLength: 4, reg: fpstoreidx, asm: "FMOVS", typ: "Mem"}, // store 32-bit float of arg2 to arg0 + arg1*4, arg3=mem.
+ {name: "FMOVDstoreidx8", argLength: 4, reg: fpstoreidx, asm: "FMOVD", typ: "Mem"}, // store 64-bit float of arg2 to arg0 + arg1*8, arg3=mem.

{name: "FMOVDgpfp", argLength: 1, reg: gpfp, asm: "FMOVD", earlyOk: true}, // move int64 to float64 (no conversion)
{name: "FMOVDfpgp", argLength: 1, reg: fpgp, asm: "FMOVD", earlyOk: true}, // move float64 to int64 (no conversion)
@@ -584,6 +584,7 @@
inputs: []regMask{gp},
},
faultOnNilArg0: true,
+ addrSinkArg0: true,
},

// large zeroing
@@ -600,6 +601,7 @@
clobbersArg0: true,
},
faultOnNilArg0: true,
+ addrSinkArg0: true,
needIntTemp: true,
},

@@ -619,6 +621,8 @@
},
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
},

// large copying
@@ -639,6 +643,8 @@
},
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
},

// Scheduler ensures LoweredGetClosurePtr occurs only in entry block,
diff --git a/src/cmd/compile/internal/ssa/_gen/main.go b/src/cmd/compile/internal/ssa/_gen/main.go
index 1e8de5f..c2c1a04 100644
--- a/src/cmd/compile/internal/ssa/_gen/main.go
+++ b/src/cmd/compile/internal/ssa/_gen/main.go
@@ -73,6 +73,8 @@
unsafePoint bool // this op is an unsafe point, i.e. not safe for async preemption
fixedReg bool // this op will be assigned a fixed register
earlyOk bool // executing this op in an earlier block is ok
+ addrSinkArg0 bool // the address in arg0 does not propagate to the result
+ addrSinkArg1 bool // the address in arg1 does not propagate to the result
symEffect string // effect this op has on symbol in aux
scale uint8 // amd64/386 indexed load scale
}
@@ -397,6 +399,12 @@
if v.earlyOk {
fmt.Fprintln(w, "earlyOk: true,")
}
+ if v.addrSinkArg0 {
+ fmt.Fprintln(w, "addrSinkArg0: true,")
+ }
+ if v.addrSinkArg1 {
+ fmt.Fprintln(w, "addrSinkArg1: true,")
+ }
if v.unsafePoint {
fmt.Fprintln(w, "unsafePoint: true,")
}
diff --git a/src/cmd/compile/internal/ssa/op.go b/src/cmd/compile/internal/ssa/op.go
index 2d2676b..85fdb08 100644
--- a/src/cmd/compile/internal/ssa/op.go
+++ b/src/cmd/compile/internal/ssa/op.go
@@ -47,6 +47,8 @@
unsafePoint bool // this op is an unsafe point, i.e. not safe for async preemption
fixedReg bool // this op will be assigned a fixed register
earlyOk bool // executing this op in an earlier block is ok
+ addrSinkArg0 bool // the address in arg0 does not propagate to the result
+ addrSinkArg1 bool // the address in arg1 does not propagate to the result
symEffect SymEffect // effect this op has on symbol in aux
scale uint8 // amd64/386 indexed load scale
}
diff --git a/src/cmd/compile/internal/ssa/opGen.go b/src/cmd/compile/internal/ssa/opGen.go
index f79a83c..fe72118 100644
--- a/src/cmd/compile/internal/ssa/opGen.go
+++ b/src/cmd/compile/internal/ssa/opGen.go
@@ -19564,6 +19564,7 @@
auxType: auxInt64,
argLen: 2,
faultOnNilArg0: true,
+ addrSinkArg0: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 49135, v2: 0}}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -19577,6 +19578,7 @@
clobberFlags: true,
needIntTemp: true,
faultOnNilArg0: true,
+ addrSinkArg0: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 49135, v2: 0}}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -19588,6 +19590,7 @@
name: "REPSTOSQ",
argLen: 4,
faultOnNilArg0: true,
+ addrSinkArg0: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 128, v2: 0}}, // DI
@@ -19665,6 +19668,8 @@
argLen: 3,
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 49135, v2: 0}}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -19681,6 +19686,8 @@
needIntTemp: true,
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 49135, v2: 0}}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -19696,6 +19703,8 @@
argLen: 4,
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 128, v2: 0}}, // DI
@@ -77690,9 +77699,10 @@
},
},
{
- name: "MOVDloadidx8",
- argLen: 3,
- asm: arm64.AMOVD,
+ name: "MOVDloadidx8",
+ argLen: 3,
+ addrSinkArg0: true,
+ asm: arm64.AMOVD,
reg: regInfo{
inputs: []inputInfo{
{1, regMask{v1: 402653183, v2: 0}}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30
@@ -78001,9 +78011,10 @@
},
},
{
- name: "MOVDstoreidx8",
- argLen: 4,
- asm: arm64.AMOVD,
+ name: "MOVDstoreidx8",
+ argLen: 4,
+ addrSinkArg0: true,
+ asm: arm64.AMOVD,
reg: regInfo{
inputs: []inputInfo{
{1, regMask{v1: 939524095, v2: 0}}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 g R30 ZERO
@@ -79076,6 +79087,7 @@
auxType: auxInt64,
argLen: 2,
faultOnNilArg0: true,
+ addrSinkArg0: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 335544319, v2: 0}}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
@@ -79088,6 +79100,7 @@
argLen: 2,
needIntTemp: true,
faultOnNilArg0: true,
+ addrSinkArg0: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 335544319, v2: 0}}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R25 R26 R30
@@ -79101,6 +79114,8 @@
argLen: 3,
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 318767103, v2: 0}}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R24 R26 R30
@@ -79115,6 +79130,8 @@
argLen: 3,
faultOnNilArg0: true,
faultOnNilArg1: true,
+ addrSinkArg0: true,
+ addrSinkArg1: true,
reg: regInfo{
inputs: []inputInfo{
{0, regMask{v1: 310378495, v2: 0}}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R23 R26 R30
diff --git a/src/cmd/compile/internal/ssa/value.go b/src/cmd/compile/internal/ssa/value.go
index 95710d9..279099d 100644
--- a/src/cmd/compile/internal/ssa/value.go
+++ b/src/cmd/compile/internal/ssa/value.go
@@ -665,3 +665,15 @@
return true
}
}
+
+// AddrSinkArg reports whether the idx'th argument is known
+// to not propagate to the output value.
+func (v *Value) AddrSinkArg(idx int) bool {
+ if idx == 0 {
+ return opcodeTable[v.Op].addrSinkArg0
+ }
+ if idx == 1 {
+ return opcodeTable[v.Op].addrSinkArg1
+ }
+ return false
+}
diff --git a/test/fixedbugs/issue80127.go b/test/fixedbugs/issue80127.go
new file mode 100644
index 0000000..b76c3d4
--- /dev/null
+++ b/test/fixedbugs/issue80127.go
@@ -0,0 +1,30 @@
+// run
+
+// Copyright 2026 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.
+
+package main
+
+type T [2][2]int64
+
+//go:noinline
+func f(i, j int) int64 {
+ if i < 0 || i > 1 || j < 0 || j > 1 {
+ return 3
+ }
+ var x T
+ x[i][i] = 33
+
+ var y T
+ y[i][i] = 44
+ r := y[j][j]
+
+ return r + x[i][i]
+}
+
+func main() {
+ if x := f(1, 1); x != 77 {
+ println("bad", x)
+ }
+}

Change information

Files:
  • M src/cmd/compile/internal/liveness/mergelocals.go
  • M src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
  • M src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
  • M src/cmd/compile/internal/ssa/_gen/main.go
  • M src/cmd/compile/internal/ssa/op.go
  • M src/cmd/compile/internal/ssa/opGen.go
  • M src/cmd/compile/internal/ssa/value.go
  • A test/fixedbugs/issue80127.go
Change size: M
Delta: 8 files changed, 108 insertions(+), 19 deletions(-)
Open in Gerrit

Related details

Attention is currently required from:
  • Than McIntosh
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newchange
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
Gerrit-Change-Number: 796001
Gerrit-PatchSet: 1
Gerrit-Owner: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Than McIntosh <th...@golang.org>
Gerrit-Attention: Than McIntosh <th...@golang.org>
unsatisfied_requirement
satisfied_requirement
open
diffy

Keith Randall (Gerrit)

unread,
Jul 2, 2026, 9:12:04 PMJul 2
to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Than McIntosh, golang-co...@googlegroups.com
Attention needed from Than McIntosh

Keith Randall voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Than McIntosh
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
Gerrit-Change-Number: 796001
Gerrit-PatchSet: 2
Gerrit-Owner: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Than McIntosh <th...@golang.org>
Gerrit-Attention: Than McIntosh <th...@golang.org>
Gerrit-Comment-Date: Fri, 03 Jul 2026 01:11:55 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
unsatisfied_requirement
satisfied_requirement
open
diffy

Keith Randall (Gerrit)

unread,
Jul 15, 2026, 2:06:06 PM (7 days ago) Jul 15
to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
Attention needed from Keith Randall and Than McIntosh

Keith Randall uploaded new patchset

Keith Randall uploaded patch set #3 to this change.
Following approvals got outdated and were removed:
Open in Gerrit

Related details

Attention is currently required from:
  • Keith Randall
  • Than McIntosh
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newpatchset
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
Gerrit-Change-Number: 796001
Gerrit-PatchSet: 3
Gerrit-Owner: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Than McIntosh <th...@golang.org>
Gerrit-Attention: Keith Randall <k...@golang.org>
Gerrit-Attention: Than McIntosh <th...@golang.org>
unsatisfied_requirement
satisfied_requirement
open
diffy

Keith Randall (Gerrit)

unread,
Jul 15, 2026, 2:20:00 PM (7 days ago) Jul 15
to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
Attention needed from Keith Randall and Than McIntosh

Keith Randall uploaded new patchset

Keith Randall uploaded patch set #4 to this change.
Open in Gerrit

Related details

Attention is currently required from:
  • Keith Randall
  • Than McIntosh
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newpatchset
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
Gerrit-Change-Number: 796001
Gerrit-PatchSet: 4
unsatisfied_requirement
satisfied_requirement
open
diffy

Keith Randall (Gerrit)

unread,
Jul 20, 2026, 1:56:09 PM (2 days ago) Jul 20
to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, Than McIntosh, golang-co...@googlegroups.com
Attention needed from Junyang Shao and Than McIntosh

Keith Randall added 1 comment

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Keith Randall . resolved

Ping, like to get this in for 1.27.

Open in Gerrit

Related details

Attention is currently required from:
  • Junyang Shao
  • Than McIntosh
Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
    Gerrit-Change-Number: 796001
    Gerrit-PatchSet: 4
    Gerrit-Owner: Keith Randall <k...@golang.org>
    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
    Gerrit-Attention: Than McIntosh <th...@golang.org>
    Gerrit-Attention: Junyang Shao <shaoj...@google.com>
    Gerrit-Comment-Date: Mon, 20 Jul 2026 17:56:05 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    satisfied_requirement
    open
    diffy

    Junyang Shao (Gerrit)

    unread,
    Jul 20, 2026, 1:58:36 PM (2 days ago) Jul 20
    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Than McIntosh, golang-co...@googlegroups.com
    Attention needed from Keith Randall and Than McIntosh

    Junyang Shao added 1 comment

    Patchset-level comments
    Keith Randall . resolved

    Ping, like to get this in for 1.27.

    Junyang Shao

    Oops sorry! I will look today

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Keith Randall
    • Than McIntosh
    Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
    Gerrit-Change-Number: 796001
    Gerrit-PatchSet: 4
    Gerrit-Owner: Keith Randall <k...@golang.org>
    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
    Gerrit-Reviewer: Keith Randall <k...@golang.org>
    Gerrit-Reviewer: Than McIntosh <th...@golang.org>
    Gerrit-Attention: Keith Randall <k...@golang.org>
    Gerrit-Attention: Than McIntosh <th...@golang.org>
    Gerrit-Comment-Date: Mon, 20 Jul 2026 17:58:32 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Keith Randall <k...@golang.org>
    unsatisfied_requirement
    satisfied_requirement
    open
    diffy

    Junyang Shao (Gerrit)

    unread,
    Jul 20, 2026, 3:34:22 PM (2 days ago) Jul 20
    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Than McIntosh, golang-co...@googlegroups.com
    Attention needed from Keith Randall and Than McIntosh

    Junyang Shao voted and added 1 comment

    Votes added by Junyang Shao

    Code-Review+2

    1 comment

    Patchset-level comments
    Junyang Shao . resolved

    It looks like this has no performance penalty but stack frame might be bigger for some binaries, which sounds fine 😊

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Keith Randall
    • Than McIntosh
    Submit Requirements:
    • requirement satisfiedCode-Review
    • requirement satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
    Gerrit-Change-Number: 796001
    Gerrit-PatchSet: 4
    Gerrit-Owner: Keith Randall <k...@golang.org>
    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
    Gerrit-Reviewer: Keith Randall <k...@golang.org>
    Gerrit-Reviewer: Than McIntosh <th...@golang.org>
    Gerrit-Attention: Keith Randall <k...@golang.org>
    Gerrit-Attention: Than McIntosh <th...@golang.org>
    Gerrit-Comment-Date: Mon, 20 Jul 2026 19:34:18 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Keith Randall (Gerrit)

    unread,
    Jul 20, 2026, 3:45:38 PM (2 days ago) Jul 20
    to Keith Randall, goph...@pubsubhelper.golang.org, Junyang Shao, golang...@luci-project-accounts.iam.gserviceaccount.com, Than McIntosh, golang-co...@googlegroups.com
    Attention needed from Keith Randall and Than McIntosh

    Keith Randall voted Code-Review+1

    Code-Review+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Keith Randall
    • Than McIntosh
    Submit Requirements:
      • requirement satisfiedCode-Review
      • requirement satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      • requirement satisfiedTryBots-Pass
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: go
      Gerrit-Branch: master
      Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
      Gerrit-Change-Number: 796001
      Gerrit-PatchSet: 4
      Gerrit-Owner: Keith Randall <k...@golang.org>
      Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
      Gerrit-Reviewer: Keith Randall <k...@golang.org>
      Gerrit-Reviewer: Keith Randall <k...@google.com>
      Gerrit-Reviewer: Than McIntosh <th...@golang.org>
      Gerrit-Attention: Keith Randall <k...@golang.org>
      Gerrit-Attention: Than McIntosh <th...@golang.org>
      Gerrit-Comment-Date: Mon, 20 Jul 2026 19:45:32 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Keith Randall (Gerrit)

      unread,
      Jul 20, 2026, 3:46:05 PM (2 days ago) Jul 20
      to Keith Randall, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Keith Randall, Junyang Shao, golang...@luci-project-accounts.iam.gserviceaccount.com, Than McIntosh, golang-co...@googlegroups.com

      Keith Randall submitted the change

      Change information

      Commit message:
      cmd/compile: tighten mergelocals address use analysis

      We currently look for all uses of the address of a local, to find the
      maximum extent of the lifetime of a local. But the analysis doesn't
      handle the case where a use of the address is itself just a copy or
      pointer arithmetic, and the result of that use is then subsequently
      used outside the lifetime we currently compute.

      Maybe we could track down uses of uses, etc. But we do the safer thing
      here which is just to consider only uses that we know aren't propagating
      the address anywhere. Any other uses are considered bad and abort
      merging for the affected local. This is conservative but easy to reason
      about. In practice, these address copies don't come up all that often,
      as they are usually folded into load/store ops. The only typical use
      of an explicit address is initial zeroing (which this CL handles).

      Fixes #80127
      Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
      Reviewed-by: Junyang Shao <shaoj...@google.com>
      Reviewed-by: Keith Randall <k...@google.com>
      Files:
      • M src/cmd/compile/internal/liveness/mergelocals.go
      • M src/cmd/compile/internal/ssa/_gen/386Ops.go
      • M src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
      • M src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
      • M src/cmd/compile/internal/ssa/_gen/ARMOps.go
      • M src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go
      • M src/cmd/compile/internal/ssa/_gen/MIPS64Ops.go
      • M src/cmd/compile/internal/ssa/_gen/MIPSOps.go
      • M src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
      • M src/cmd/compile/internal/ssa/_gen/RISCV64Ops.go
      • M src/cmd/compile/internal/ssa/_gen/S390XOps.go
      • M src/cmd/compile/internal/ssa/_gen/WasmOps.go
      • M src/cmd/compile/internal/ssa/_gen/main.go
      • M src/cmd/compile/internal/ssa/op.go
      • M src/cmd/compile/internal/ssa/opGen.go
      • M src/cmd/compile/internal/ssa/value.go
      • A test/fixedbugs/issue80127.go
        Change size: XL
        Delta: 17 files changed, 2582 insertions(+), 1673 deletions(-)
        Branch: refs/heads/master
        Submit Requirements:
        Open in Gerrit
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: merged
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 796001
        Gerrit-PatchSet: 5
        open
        diffy
        satisfied_requirement

        Keith Randall (Gerrit)

        unread,
        Jul 20, 2026, 3:48:55 PM (2 days ago) Jul 20
        to goph...@pubsubhelper.golang.org, Keith Randall, golang-co...@googlegroups.com

        Keith Randall has uploaded the change for review

        Commit message

        [release-branch.go1.27] cmd/compile: tighten mergelocals address use analysis


        We currently look for all uses of the address of a local, to find the
        maximum extent of the lifetime of a local. But the analysis doesn't
        handle the case where a use of the address is itself just a copy or
        pointer arithmetic, and the result of that use is then subsequently
        used outside the lifetime we currently compute.

        Maybe we could track down uses of uses, etc. But we do the safer thing
        here which is just to consider only uses that we know aren't propagating
        the address anywhere. Any other uses are considered bad and abort
        merging for the affected local. This is conservative but easy to reason
        about. In practice, these address copies don't come up all that often,
        as they are usually folded into load/store ops. The only typical use
        of an explicit address is initial zeroing (which this CL handles).

        Fixes #80127

        Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Reviewed-on: https://go-review.googlesource.com/c/go/+/796001
        Reviewed-by: Junyang Shao <shaoj...@google.com>
        Reviewed-by: Keith Randall <k...@google.com>
        LUCI-TryBot-Result: golang...@luci-project-accounts.iam.gserviceaccount.com <golang...@luci-project-accounts.iam.gserviceaccount.com>
        (cherry picked from commit 06bc6592c3336596ec8904357efb333203d05170)

        Change diff


        Change information

        Files:
        • M src/cmd/compile/internal/liveness/mergelocals.go
        • M src/cmd/compile/internal/ssa/_gen/386Ops.go
        • M src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/ARMOps.go
        • M src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/MIPS64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/MIPSOps.go
        • M src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/RISCV64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/S390XOps.go
        • M src/cmd/compile/internal/ssa/_gen/WasmOps.go
        • M src/cmd/compile/internal/ssa/_gen/main.go
        • M src/cmd/compile/internal/ssa/op.go
        • M src/cmd/compile/internal/ssa/opGen.go
        • M src/cmd/compile/internal/ssa/value.go
        • A test/fixedbugs/issue80127.go
        Change size: XL
        Delta: 17 files changed, 2582 insertions(+), 1673 deletions(-)
        Open in Gerrit

        Related details

        Attention set is empty
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newchange
        Gerrit-Project: go
        Gerrit-Branch: release-branch.go1.27
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 803240
        unsatisfied_requirement
        satisfied_requirement
        open
        diffy

        Keith Randall (Gerrit)

        unread,
        Jul 20, 2026, 3:49:19 PM (2 days ago) Jul 20
        to Keith Randall, goph...@pubsubhelper.golang.org, Junyang Shao, golang-co...@googlegroups.com
        Attention needed from Junyang Shao

        Keith Randall voted Commit-Queue+1

        Commit-Queue+1
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Junyang Shao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: release-branch.go1.27
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 803240
        Gerrit-PatchSet: 1
        Gerrit-Owner: Keith Randall <k...@golang.org>
        Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
        Gerrit-Reviewer: Keith Randall <k...@golang.org>
        Gerrit-Attention: Junyang Shao <shaoj...@google.com>
        Gerrit-Comment-Date: Mon, 20 Jul 2026 19:49:13 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        unsatisfied_requirement
        satisfied_requirement
        open
        diffy

        Junyang Shao (Gerrit)

        unread,
        Jul 20, 2026, 3:55:24 PM (2 days ago) Jul 20
        to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, golang-co...@googlegroups.com
        Attention needed from Keith Randall

        Junyang Shao voted Code-Review+2

        Code-Review+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Keith Randall
        Submit Requirements:
        • requirement satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: release-branch.go1.27
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 803240
        Gerrit-PatchSet: 1
        Gerrit-Owner: Keith Randall <k...@golang.org>
        Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
        Gerrit-Reviewer: Keith Randall <k...@golang.org>
        Gerrit-Attention: Keith Randall <k...@golang.org>
        Gerrit-Comment-Date: Mon, 20 Jul 2026 19:55:19 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Keith Randall (Gerrit)

        unread,
        Jul 20, 2026, 4:18:19 PM (2 days ago) Jul 20
        to Junyang Shao, goph...@pubsubhelper.golang.org, Keith Randall, golang-co...@googlegroups.com
        Attention needed from Junyang Shao

        Keith Randall has uploaded the change for review

        Keith Randall would like Junyang Shao to review this change.

        Commit message

        [release-branch.go1.26] cmd/compile: tighten mergelocals address use analysis


        We currently look for all uses of the address of a local, to find the
        maximum extent of the lifetime of a local. But the analysis doesn't
        handle the case where a use of the address is itself just a copy or
        pointer arithmetic, and the result of that use is then subsequently
        used outside the lifetime we currently compute.

        Maybe we could track down uses of uses, etc. But we do the safer thing
        here which is just to consider only uses that we know aren't propagating
        the address anywhere. Any other uses are considered bad and abort
        merging for the affected local. This is conservative but easy to reason
        about. In practice, these address copies don't come up all that often,
        as they are usually folded into load/store ops. The only typical use
        of an explicit address is initial zeroing (which this CL handles).

        Fixes #80478
        Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Reviewed-by: Junyang Shao <shaoj...@google.com>
        Reviewed-by: Keith Randall <k...@google.com>

        Change diff


        Change information

        Files:
        • M src/cmd/compile/internal/liveness/mergelocals.go
        • M src/cmd/compile/internal/ssa/_gen/386Ops.go
        • M src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/ARMOps.go
        • M src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/MIPS64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/MIPSOps.go
        • M src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/RISCV64Ops.go
        • M src/cmd/compile/internal/ssa/_gen/S390XOps.go
        • M src/cmd/compile/internal/ssa/_gen/WasmOps.go
        • M src/cmd/compile/internal/ssa/_gen/main.go
        • M src/cmd/compile/internal/ssa/op.go
        • M src/cmd/compile/internal/ssa/opGen.go
        • M src/cmd/compile/internal/ssa/value.go
        • A test/fixedbugs/issue80127.go
        Change size: XL
        Delta: 17 files changed, 2561 insertions(+), 1658 deletions(-)
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Junyang Shao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newchange
        Gerrit-Project: go
        Gerrit-Branch: release-branch.go1.26
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 803260
        Gerrit-PatchSet: 1
        Gerrit-Owner: Keith Randall <k...@golang.org>
        Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
        Gerrit-Reviewer: Keith Randall <k...@golang.org>
        Gerrit-Attention: Junyang Shao <shaoj...@google.com>
        unsatisfied_requirement
        satisfied_requirement
        open
        diffy

        Keith Randall (Gerrit)

        unread,
        Jul 20, 2026, 4:32:54 PM (2 days ago) Jul 20
        to Junyang Shao, goph...@pubsubhelper.golang.org, Keith Randall, golang-co...@googlegroups.com
        Attention needed from Junyang Shao

        Keith Randall has uploaded the change for review

        Keith Randall would like Junyang Shao to review this change.

        Commit message

        [release-branch.go1.25] cmd/compile: tighten mergelocals address use analysis


        We currently look for all uses of the address of a local, to find the
        maximum extent of the lifetime of a local. But the analysis doesn't
        handle the case where a use of the address is itself just a copy or
        pointer arithmetic, and the result of that use is then subsequently
        used outside the lifetime we currently compute.

        Maybe we could track down uses of uses, etc. But we do the safer thing
        here which is just to consider only uses that we know aren't propagating
        the address anywhere. Any other uses are considered bad and abort
        merging for the affected local. This is conservative but easy to reason
        about. In practice, these address copies don't come up all that often,
        as they are usually folded into load/store ops. The only typical use
        of an explicit address is initial zeroing (which this CL handles).

        Fixes #80477

        Change diff


        Delta: 17 files changed, 2553 insertions(+), 1668 deletions(-)
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Junyang Shao
        Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: newchange
        Gerrit-Project: go
        Gerrit-Branch: release-branch.go1.25
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 803261
        unsatisfied_requirement
        satisfied_requirement
        open
        diffy

        Junyang Shao (Gerrit)

        unread,
        Jul 21, 2026, 11:07:27 AM (21 hours ago) Jul 21
        to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, golang-co...@googlegroups.com
        Attention needed from Keith Randall

        Junyang Shao voted Code-Review+2

        Code-Review+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Keith Randall
        Submit Requirements:
        • requirement satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: release-branch.go1.26
        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
        Gerrit-Change-Number: 803260
        Gerrit-PatchSet: 1
        Gerrit-Owner: Keith Randall <k...@golang.org>
        Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
        Gerrit-Reviewer: Keith Randall <k...@golang.org>
        Gerrit-Attention: Keith Randall <k...@golang.org>
        Gerrit-Comment-Date: Tue, 21 Jul 2026 15:07:21 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Junyang Shao (Gerrit)

        unread,
        Jul 21, 2026, 11:07:30 AM (21 hours ago) Jul 21
        to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, golang-co...@googlegroups.com
        Attention needed from Keith Randall

        Junyang Shao voted Code-Review+2

        Code-Review+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Keith Randall
        Submit Requirements:
          • requirement satisfiedCode-Review
          • requirement satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          • requirement is not satisfiedTryBots-Pass
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: go
          Gerrit-Branch: release-branch.go1.25
          Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
          Gerrit-Change-Number: 803261
          Gerrit-PatchSet: 1
          Gerrit-Owner: Keith Randall <k...@golang.org>
          Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
          Gerrit-Reviewer: Keith Randall <k...@golang.org>
          Gerrit-Attention: Keith Randall <k...@golang.org>
          Gerrit-Comment-Date: Tue, 21 Jul 2026 15:07:26 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Cherry Mui (Gerrit)

          unread,
          Jul 21, 2026, 11:46:11 AM (20 hours ago) Jul 21
          to Keith Randall, goph...@pubsubhelper.golang.org, Keith Randall, Junyang Shao, golang...@luci-project-accounts.iam.gserviceaccount.com, Than McIntosh, golang-co...@googlegroups.com

          Cherry Mui added 1 comment

          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
            • requirement satisfiedCode-Review
            • requirement satisfiedNo-Unresolved-Comments
            • requirement satisfiedReview-Enforcement
            • requirement satisfiedTryBots-Pass
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: go
            Gerrit-Branch: master
            Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
            Gerrit-Change-Number: 796001
            Gerrit-PatchSet: 5
            Gerrit-Owner: Keith Randall <k...@golang.org>
            Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
            Gerrit-Reviewer: Keith Randall <k...@golang.org>
            Gerrit-CC: Cherry Mui <cher...@google.com>
            Gerrit-Comment-Date: Tue, 21 Jul 2026 15:46:07 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            open
            diffy

            Keith Randall (Gerrit)

            unread,
            Jul 21, 2026, 12:39:17 PM (20 hours ago) Jul 21
            to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
            Attention needed from Keith Randall

            Keith Randall uploaded new patchset

            Keith Randall uploaded patch set #2 to this change.
            Following approvals got outdated and were removed:
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Keith Randall
            Submit Requirements:
              • requirement satisfiedCode-Review
              • requirement satisfiedNo-Unresolved-Comments
              • requirement is not satisfiedReview-Enforcement
              • requirement is not satisfiedTryBots-Pass
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: newpatchset
              Gerrit-Project: go
              Gerrit-Branch: release-branch.go1.27
              Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
              Gerrit-Change-Number: 803240
              Gerrit-PatchSet: 2
              Gerrit-Owner: Keith Randall <k...@golang.org>
              Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
              Gerrit-Reviewer: Keith Randall <k...@golang.org>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Keith Randall (Gerrit)

              unread,
              Jul 21, 2026, 12:45:22 PM (19 hours ago) Jul 21
              to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
              Attention needed from Keith Randall

              Keith Randall uploaded new patchset

              Keith Randall uploaded patch set #2 to this change.
              Following approvals got outdated and were removed:
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Keith Randall
              Submit Requirements:
              • requirement satisfiedCode-Review
              • requirement satisfiedNo-Unresolved-Comments
              • requirement is not satisfiedReview-Enforcement
              • requirement is not satisfiedTryBots-Pass
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: newpatchset
              Gerrit-Project: go
              Gerrit-Branch: release-branch.go1.25
              Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
              Gerrit-Change-Number: 803261
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Keith Randall (Gerrit)

              unread,
              Jul 21, 2026, 12:45:23 PM (19 hours ago) Jul 21
              to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
              Attention needed from Keith Randall

              Keith Randall uploaded new patchset

              Keith Randall uploaded patch set #2 to this change.
              Following approvals got outdated and were removed:
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Keith Randall
              Submit Requirements:
              • requirement satisfiedCode-Review
              • requirement satisfiedNo-Unresolved-Comments
              • requirement is not satisfiedReview-Enforcement
              • requirement is not satisfiedTryBots-Pass
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: newpatchset
              Gerrit-Project: go
              Gerrit-Branch: release-branch.go1.26
              Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
              Gerrit-Change-Number: 803260
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Keith Randall (Gerrit)

              unread,
              Jul 21, 2026, 1:58:47 PM (18 hours ago) Jul 21
              to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

              Keith Randall voted Hold+1

              Hold+1
              Open in Gerrit

              Related details

              Attention set is empty
              Submit Requirements:
              • requirement satisfiedCode-Review
              • requirement is not satisfiedNo-Holds
              • requirement satisfiedNo-Unresolved-Comments
              • requirement is not satisfiedReview-Enforcement
              • requirement satisfiedTryBots-Pass
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: comment
              Gerrit-Project: go
              Gerrit-Branch: release-branch.go1.27
              Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
              Gerrit-Change-Number: 803240
              Gerrit-PatchSet: 2
              Gerrit-Owner: Keith Randall <k...@golang.org>
              Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
              Gerrit-Reviewer: Keith Randall <k...@golang.org>
              Gerrit-Comment-Date: Tue, 21 Jul 2026 17:58:43 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Keith Randall (Gerrit)

              unread,
              Jul 21, 2026, 1:58:55 PM (18 hours ago) Jul 21
              to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

              Keith Randall voted Hold+1

              Related details

              Attention set is empty
              Submit Requirements:
                • requirement satisfiedCode-Review
                • requirement is not satisfiedNo-Holds
                • requirement satisfiedNo-Unresolved-Comments
                • requirement is not satisfiedReview-Enforcement
                • requirement is not satisfiedTryBots-Pass
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: comment
                Gerrit-Project: go
                Gerrit-Branch: release-branch.go1.25
                Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                Gerrit-Change-Number: 803261
                Gerrit-PatchSet: 2
                Gerrit-Owner: Keith Randall <k...@golang.org>
                Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                Gerrit-Reviewer: Keith Randall <k...@golang.org>
                Gerrit-Comment-Date: Tue, 21 Jul 2026 17:58:50 +0000
                Gerrit-HasComments: No
                Gerrit-Has-Labels: Yes
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Keith Randall (Gerrit)

                unread,
                Jul 21, 2026, 1:59:06 PM (18 hours ago) Jul 21
                to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

                Keith Randall voted Hold+1

                Related details

                Attention set is empty
                Submit Requirements:
                  • requirement satisfiedCode-Review
                  • requirement is not satisfiedNo-Holds
                  • requirement satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  • requirement satisfiedTryBots-Pass
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: go
                  Gerrit-Branch: release-branch.go1.26
                  Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                  Gerrit-Change-Number: 803260
                  Gerrit-PatchSet: 2
                  Gerrit-Owner: Keith Randall <k...@golang.org>
                  Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                  Gerrit-Reviewer: Keith Randall <k...@golang.org>
                  Gerrit-Comment-Date: Tue, 21 Jul 2026 17:59:01 +0000
                  Gerrit-HasComments: No
                  Gerrit-Has-Labels: Yes
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Keith Randall (Gerrit)

                  unread,
                  Jul 21, 2026, 4:07:58 PM (16 hours ago) Jul 21
                  to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

                  Keith Randall uploaded new patchset

                  Keith Randall uploaded patch set #3 to this change.
                  Following approvals got outdated and were removed:

                  Related details

                  Attention set is empty
                  Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement is not satisfiedNo-Holds
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: newpatchset
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.27
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803240
                    Gerrit-PatchSet: 3
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:10:51 PM (16 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

                    Keith Randall voted Hold+0

                    Related details

                    Attention set is empty
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.27
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803240
                    Gerrit-PatchSet: 3
                    Gerrit-Owner: Keith Randall <k...@golang.org>
                    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                    Gerrit-Reviewer: Keith Randall <k...@golang.org>
                    Gerrit-Comment-Date: Tue, 21 Jul 2026 20:10:47 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:12:19 PM (16 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

                    Keith Randall uploaded new patchset

                    Keith Randall uploaded patch set #3 to this change.
                    Following approvals got outdated and were removed:

                    Related details

                    Attention set is empty
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement is not satisfiedNo-Holds
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: newpatchset
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.26
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803260
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:14:15 PM (16 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

                    Keith Randall voted Hold+0

                    Related details

                    Attention set is empty
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.26
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803260
                    Gerrit-PatchSet: 3
                    Gerrit-Owner: Keith Randall <k...@golang.org>
                    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                    Gerrit-Reviewer: Keith Randall <k...@golang.org>
                    Gerrit-Comment-Date: Tue, 21 Jul 2026 20:14:10 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:16:17 PM (16 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

                    Keith Randall uploaded new patchset

                    Keith Randall uploaded patch set #3 to this change.
                    Following approvals got outdated and were removed:

                    Related details

                    Attention set is empty
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement is not satisfiedNo-Holds
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: newpatchset
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.25
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803261
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:16:30 PM (16 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

                    Keith Randall voted Hold+0

                    Related details

                    Attention set is empty
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.25
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803261
                    Gerrit-PatchSet: 3
                    Gerrit-Owner: Keith Randall <k...@golang.org>
                    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                    Gerrit-Reviewer: Keith Randall <k...@golang.org>
                    Gerrit-Comment-Date: Tue, 21 Jul 2026 20:16:25 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:46:41 PM (15 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

                    Keith Randall voted Commit-Queue+1

                    Commit-Queue+1
                    Open in Gerrit

                    Related details

                    Attention set is empty
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.27
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803240
                    Gerrit-PatchSet: 3
                    Gerrit-Owner: Keith Randall <k...@golang.org>
                    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                    Gerrit-Reviewer: Keith Randall <k...@golang.org>
                    Gerrit-Comment-Date: Tue, 21 Jul 2026 20:46:37 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 4:47:03 PM (15 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
                    Attention needed from Keith Randall

                    Keith Randall uploaded new patchset

                    Keith Randall uploaded patch set #4 to this change.
                    Following approvals got outdated and were removed:
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Keith Randall
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: newpatchset
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.25
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803261
                    Gerrit-PatchSet: 4
                    Gerrit-Owner: Keith Randall <k...@golang.org>
                    Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                    Gerrit-Reviewer: Keith Randall <k...@golang.org>
                    Gerrit-Attention: Keith Randall <k...@golang.org>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 5:44:16 PM (14 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
                    Attention needed from Keith Randall

                    Keith Randall uploaded new patchset

                    Keith Randall uploaded patch set #5 to this change.
                    Following approvals got outdated and were removed:
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Keith Randall
                    Submit Requirements:
                    • requirement satisfiedCode-Review
                    • requirement satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    • requirement is not satisfiedTryBots-Pass
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: newpatchset
                    Gerrit-Project: go
                    Gerrit-Branch: release-branch.go1.25
                    Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                    Gerrit-Change-Number: 803261
                    Gerrit-PatchSet: 5
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Keith Randall (Gerrit)

                    unread,
                    Jul 21, 2026, 5:44:41 PM (14 hours ago) Jul 21
                    to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com
                    Attention needed from Keith Randall

                    Keith Randall voted Code-Review+1

                    Code-Review+1
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Keith Randall
                    Submit Requirements:
                      • requirement satisfiedCode-Review
                      • requirement satisfiedNo-Unresolved-Comments
                      • requirement satisfiedReview-Enforcement
                      • requirement satisfiedTryBots-Pass
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: comment
                      Gerrit-Project: go
                      Gerrit-Branch: release-branch.go1.27
                      Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                      Gerrit-Change-Number: 803240
                      Gerrit-PatchSet: 3
                      Gerrit-Owner: Keith Randall <k...@golang.org>
                      Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                      Gerrit-Reviewer: Keith Randall <k...@golang.org>
                      Gerrit-Reviewer: Keith Randall <k...@google.com>
                      Gerrit-Comment-Date: Tue, 21 Jul 2026 21:44:36 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      open
                      diffy

                      Keith Randall (Gerrit)

                      unread,
                      Jul 21, 2026, 5:44:56 PM (14 hours ago) Jul 21
                      to Keith Randall, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Keith Randall, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com

                      Keith Randall submitted the change with unreviewed changes

                      Unreviewed changes

                      1 is the latest approved patch-set.
                      The change was submitted with unreviewed changes in the following files:

                      ```
                      The name of the file: src/cmd/compile/internal/ssa/opGen.go
                      Insertions: 2, Deletions: 0.

                      @@ -75061,6 +75061,7 @@
                      clobberFlags: true,
                      faultOnNilArg0: true,
                      addrSinkArg0: true,
                      + addrSinkArg1: true,
                      reg: regInfo{
                      inputs: []inputInfo{
                      {0, regMask{v1: 2, v2: 0}}, // R1
                      @@ -100989,6 +100990,7 @@
                      clobberFlags: true,
                      faultOnNilArg0: true,
                      addrSinkArg0: true,
                      + addrSinkArg1: true,
                      reg: regInfo{
                      inputs: []inputInfo{
                      {0, regMask{v1: 2, v2: 0}}, // R1
                      ```
                      ```
                      The name of the file: src/cmd/compile/internal/liveness/mergelocals.go
                      Insertions: 16, Deletions: 3.

                      @@ -516,9 +516,22 @@
                      for idx, arg := range v.Args {
                      if nc, ok := pendingUses[arg.ID]; ok {
                      if !v.AddrSinkArg(idx) {
                      - // If this op may propagate the argument address to its output,
                      - // then give up. See issue 80127.
                      - continue
                      + // If this op may propagate its input address
                      + // to somewhere else, we must track where that
                      + // somewhere else might be. See issue 80127.
                      + if v.Type.IsMemory() {
                      + // Might be stored to memory. Give up.
                      + continue
                      + }
                      + // Some sort of address arithmetic.
                      + if _, ok := pendingUses[v.ID]; ok {
                      + // v has used multiple addresses, which is something
                      + // we can't keep track of. Give up.
                      + continue
                      + }
                      + // Treat this op as producing the address of the same variable
                      + // that its argument was the address of.
                      + pendingUses[v.ID] = nameCount{n: nc.n, count: v.Uses}
                      }
                      // We found a use of some value that took the
                      // address of nc.n. Record this inst as a
                      ```
                      ```
                      The name of the file: src/cmd/compile/internal/ssa/_gen/ARMOps.go
                      Insertions: 2, Deletions: 0.

                      @@ -508,6 +508,7 @@
                      clobberFlags: true,
                      faultOnNilArg0: true,
                      addrSinkArg0: true,
                      + addrSinkArg1: true,
                      },

                      // large or unaligned move
                      @@ -533,6 +534,7 @@
                      faultOnNilArg1: true,
                      addrSinkArg0: true,
                      addrSinkArg1: true,
                      + // TODO: could use addrSinkArg2 here.
                      },

                      // Scheduler ensures LoweredGetClosurePtr occurs only in entry block,
                      ```
                      ```
                      The name of the file: src/cmd/compile/internal/ssa/_gen/S390XOps.go
                      Insertions: 2, Deletions: 0.

                      @@ -758,6 +758,7 @@
                      faultOnNilArg1: true,
                      addrSinkArg0: true,
                      addrSinkArg1: true,
                      + // TODO: could use addrSinkArg2 here.
                      },

                      // large clear
                      @@ -784,6 +785,7 @@
                      typ: "Mem",
                      faultOnNilArg0: true,
                      addrSinkArg0: true,
                      + addrSinkArg1: true,
                      },
                      }

                      ```

                      Change information

                      Commit message:
                      [release-branch.go1.27] cmd/compile: tighten mergelocals address use analysis


                      We currently look for all uses of the address of a local, to find the
                      maximum extent of the lifetime of a local. But the analysis doesn't
                      handle the case where a use of the address is itself just a copy or
                      pointer arithmetic, and the result of that use is then subsequently
                      used outside the lifetime we currently compute.

                      Maybe we could track down uses of uses, etc. But we do the safer thing
                      here which is just to consider only uses that we know aren't propagating
                      the address anywhere. Any other uses are considered bad and abort
                      merging for the affected local. This is conservative but easy to reason
                      about. In practice, these address copies don't come up all that often,
                      as they are usually folded into load/store ops. The only typical use
                      of an explicit address is initial zeroing (which this CL handles).

                      Fixes #80127


                      Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                      Reviewed-on: https://go-review.googlesource.com/c/go/+/796001
                      Reviewed-by: Junyang Shao <shaoj...@google.com>
                      Reviewed-by: Keith Randall <k...@google.com>
                      LUCI-TryBot-Result: golang...@luci-project-accounts.iam.gserviceaccount.com <golang...@luci-project-accounts.iam.gserviceaccount.com>
                      (cherry picked from commit 06bc6592c3336596ec8904357efb333203d05170)
                      Files:
                      • M src/cmd/compile/internal/liveness/mergelocals.go
                      • M src/cmd/compile/internal/ssa/_gen/386Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/ARM64Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/ARMOps.go
                      • M src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/MIPS64Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/MIPSOps.go
                      • M src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/RISCV64Ops.go
                      • M src/cmd/compile/internal/ssa/_gen/S390XOps.go
                      • M src/cmd/compile/internal/ssa/_gen/WasmOps.go
                      • M src/cmd/compile/internal/ssa/_gen/main.go
                      • M src/cmd/compile/internal/ssa/op.go
                      • M src/cmd/compile/internal/ssa/opGen.go
                      • M src/cmd/compile/internal/ssa/value.go
                      • A test/fixedbugs/issue80127.go
                      Change size: XL
                      Delta: 17 files changed, 2601 insertions(+), 1673 deletions(-)
                      Branch: refs/heads/release-branch.go1.27
                      Submit Requirements:
                      Open in Gerrit
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: merged
                      Gerrit-Project: go
                      Gerrit-Branch: release-branch.go1.27
                      Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                      Gerrit-Change-Number: 803240
                      Gerrit-PatchSet: 4
                      open
                      diffy
                      satisfied_requirement

                      Keith Randall (Gerrit)

                      unread,
                      Jul 21, 2026, 5:45:10 PM (14 hours ago) Jul 21
                      to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com
                      Attention needed from Keith Randall

                      Keith Randall voted Code-Review+1

                      Code-Review+1
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Keith Randall
                      Submit Requirements:
                      • requirement satisfiedCode-Review
                      • requirement satisfiedNo-Unresolved-Comments
                      • requirement satisfiedReview-Enforcement
                      • requirement satisfiedTryBots-Pass
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: comment
                      Gerrit-Project: go
                      Gerrit-Branch: release-branch.go1.26
                      Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                      Gerrit-Change-Number: 803260
                      Gerrit-PatchSet: 3
                      Gerrit-Owner: Keith Randall <k...@golang.org>
                      Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                      Gerrit-Reviewer: Keith Randall <k...@golang.org>
                      Gerrit-Reviewer: Keith Randall <k...@google.com>
                      Gerrit-Attention: Keith Randall <k...@golang.org>
                      Gerrit-Comment-Date: Tue, 21 Jul 2026 21:45:07 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      open
                      diffy

                      Keith Randall (Gerrit)

                      unread,
                      Jul 21, 2026, 5:45:23 PM (14 hours ago) Jul 21
                      to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Junyang Shao, golang-co...@googlegroups.com
                      Attention needed from Keith Randall

                      Keith Randall voted Code-Review+1

                      Code-Review+1
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Keith Randall
                      Submit Requirements:
                        • requirement satisfiedCode-Review
                        • requirement satisfiedNo-Unresolved-Comments
                        • requirement satisfiedReview-Enforcement
                        • requirement is not satisfiedTryBots-Pass
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: comment
                        Gerrit-Project: go
                        Gerrit-Branch: release-branch.go1.25
                        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                        Gerrit-Change-Number: 803261
                        Gerrit-PatchSet: 5
                        Gerrit-Owner: Keith Randall <k...@golang.org>
                        Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                        Gerrit-Reviewer: Keith Randall <k...@golang.org>
                        Gerrit-Reviewer: Keith Randall <k...@google.com>
                        Gerrit-Attention: Keith Randall <k...@golang.org>
                        Gerrit-Comment-Date: Tue, 21 Jul 2026 21:45:18 +0000
                        Gerrit-HasComments: No
                        Gerrit-Has-Labels: Yes
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        Keith Randall (Gerrit)

                        unread,
                        Jul 21, 2026, 6:06:44 PM (14 hours ago) Jul 21
                        to Keith Randall, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
                        Attention needed from Keith Randall

                        Keith Randall uploaded new patchset

                        Keith Randall uploaded patch set #6 to this change.
                        Following approvals got outdated and were removed:
                        Open in Gerrit

                        Related details

                        Attention is currently required from:
                        • Keith Randall
                        Submit Requirements:
                        • requirement satisfiedCode-Review
                        • requirement satisfiedNo-Unresolved-Comments
                        • requirement satisfiedReview-Enforcement
                        • requirement is not satisfiedTryBots-Pass
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: newpatchset
                        Gerrit-Project: go
                        Gerrit-Branch: release-branch.go1.25
                        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                        Gerrit-Change-Number: 803261
                        Gerrit-PatchSet: 6
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        Keith Randall (Gerrit)

                        unread,
                        Jul 21, 2026, 6:51:39 PM (13 hours ago) Jul 21
                        to Keith Randall, goph...@pubsubhelper.golang.org, golang...@luci-project-accounts.iam.gserviceaccount.com, Keith Randall, Junyang Shao, golang-co...@googlegroups.com

                        Keith Randall voted Commit-Queue+1

                        Commit-Queue+1
                        Open in Gerrit

                        Related details

                        Attention set is empty
                        Submit Requirements:
                        • requirement satisfiedCode-Review
                        • requirement satisfiedNo-Unresolved-Comments
                        • requirement satisfiedReview-Enforcement
                        • requirement is not satisfiedTryBots-Pass
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: comment
                        Gerrit-Project: go
                        Gerrit-Branch: release-branch.go1.25
                        Gerrit-Change-Id: Ia722a8314c1ace1b883ecedec1a3e06a2957a6b6
                        Gerrit-Change-Number: 803261
                        Gerrit-PatchSet: 6
                        Gerrit-Owner: Keith Randall <k...@golang.org>
                        Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
                        Gerrit-Reviewer: Keith Randall <k...@golang.org>
                        Gerrit-Reviewer: Keith Randall <k...@google.com>
                        Gerrit-Comment-Date: Tue, 21 Jul 2026 22:51:35 +0000
                        Gerrit-HasComments: No
                        Gerrit-Has-Labels: Yes
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy
                        Reply all
                        Reply to author
                        Forward
                        0 new messages