From: Meng Zhuo Date: Thu, 27 Jun 2024 02:56:22 +0000 (+0800) Subject: cmd/compile: drop TODO in NilCheck for riscv64 X-Git-Tag: go1.24rc1~1370 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0fe775e9f3c60db4a8fa6981bbc5cb0812a01dc5;p=gostls13.git cmd/compile: drop TODO in NilCheck for riscv64 Also add log as arm/amd64 do. Change-Id: I3698993e2df0ebf3bfcf8bad5fe389affa0e8eff Reviewed-on: https://go-review.googlesource.com/c/go/+/595355 Reviewed-by: Keith Randall Reviewed-by: Robert Griesemer LUCI-TryBot-Result: Go LUCI Reviewed-by: Keith Randall --- diff --git a/src/cmd/compile/internal/riscv64/ssa.go b/src/cmd/compile/internal/riscv64/ssa.go index c9e75b2180..3c57bc93bc 100644 --- a/src/cmd/compile/internal/riscv64/ssa.go +++ b/src/cmd/compile/internal/riscv64/ssa.go @@ -7,6 +7,7 @@ package riscv64 import ( "cmd/compile/internal/base" "cmd/compile/internal/ir" + "cmd/compile/internal/logopt" "cmd/compile/internal/objw" "cmd/compile/internal/ssa" "cmd/compile/internal/ssagen" @@ -720,13 +721,15 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) { case ssa.OpRISCV64LoweredNilCheck: // Issue a load which will fault if arg is nil. - // TODO: optimizations. See arm and amd64 LoweredNilCheck. p := s.Prog(riscv.AMOVB) p.From.Type = obj.TYPE_MEM p.From.Reg = v.Args[0].Reg() ssagen.AddAux(&p.From, v) p.To.Type = obj.TYPE_REG p.To.Reg = riscv.REG_ZERO + if logopt.Enabled() { + logopt.LogOpt(v.Pos, "nilcheck", "genssa", v.Block.Func.Name) + } if base.Debug.Nil != 0 && v.Pos.Line() > 1 { // v.Pos == 1 in generated wrappers base.WarnfAt(v.Pos, "generated nil check") }