// 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 | |
// 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 { | |
return | |
} | |
for _, b := range f.Blocks { | |
for _, v := range b.Values { | |
if v.Op == OpIsInBounds || v.Op == OpIsSliceInBounds { | |
f.Warnl(v.Pos, "Found %v", v.Op) | |
} | |
} | |
} | |
} |