...

Source file src/pkg/cmd/compile/internal/ssa/checkbce.go

     1	// Copyright 2016 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	package ssa
     6	
     7	// checkbce prints all bounds checks that are present in the function.
     8	// Useful to find regressions. checkbce is only activated when with
     9	// corresponding debug options, so it's off by default.
    10	// See test/checkbce.go
    11	func checkbce(f *Func) {
    12		if f.pass.debug <= 0 {
    13			return
    14		}
    15	
    16		for _, b := range f.Blocks {
    17			for _, v := range b.Values {
    18				if v.Op == OpIsInBounds || v.Op == OpIsSliceInBounds {
    19					f.Warnl(v.Pos, "Found %v", v.Op)
    20				}
    21			}
    22		}
    23	}
    24	

View as plain text