| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/go-1.23/src/cmd/compile/internal/ssa/ |
Upload File : |
// Copyright 2016 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 ssa
import "cmd/compile/internal/logopt"
// checkbce prints all bounds checks that are present in the function.
// Useful to find regressions. checkbce is only activated when with
// corresponding debug options, so it's off by default.
// See test/checkbce.go
func checkbce(f *Func) {
if f.pass.debug <= 0 && !logopt.Enabled() {
return
}
for _, b := range f.Blocks {
for _, v := range b.Values {
if v.Op == OpIsInBounds || v.Op == OpIsSliceInBounds {
if f.pass.debug > 0 {
f.Warnl(v.Pos, "Found %v", v.Op)
}
if logopt.Enabled() {
if v.Op == OpIsInBounds {
logopt.LogOpt(v.Pos, "isInBounds", "checkbce", f.Name)
}
if v.Op == OpIsSliceInBounds {
logopt.LogOpt(v.Pos, "isSliceInBounds", "checkbce", f.Name)
}
}
}
}
}
}