// generated by stringer -type=BlockKind; DO NOT EDIT

package ssa

import "fmt"

const _BlockKind_name = "BlockExitBlockPlainBlockIfBlockCallBlockUnknownBlockEQBlockNEBlockLTBlockLEBlockGTBlockGEBlockULTBlockULEBlockUGTBlockUGE"

var _BlockKind_index = [...]uint8{0, 9, 19, 26, 35, 47, 54, 61, 68, 75, 82, 89, 97, 105, 113, 121}

func (i BlockKind) String() string {
	if i < 0 || i+1 >= BlockKind(len(_BlockKind_index)) {
		return fmt.Sprintf("BlockKind(%d)", i)
	}
	return _BlockKind_name[_BlockKind_index[i]:_BlockKind_index[i+1]]
}
