const smallBlocks …
const debugPhi …
type fwdRefAux …
func (fwdRefAux) CanBeAnSSAAux() { … }
func (s *state) insertPhis() { … }
type phiState …
func (s *phiState) insertPhis() { … }
func (s *phiState) insertVarPhis(n int, var_ ir.Node, defs []*ssa.Block, typ *types.Type) { … }
func (s *phiState) resolveFwdRefs() { … }
type domBlock …
type blockHeap …
func (h *blockHeap) Len() int { … }
func (h *blockHeap) Swap(i, j int) { … }
func (h *blockHeap) Push(x interface{ … }
func (h *blockHeap) Pop() interface{ … }
func (h *blockHeap) Less(i, j int) bool { … }
type sparseSet …
func newSparseSet(n int) *sparseSet { … }
func (s *sparseSet) contains(x ssa.ID) bool { … }
func (s *sparseSet) add(x ssa.ID) { … }
func (s *sparseSet) clear() { … }
type simplePhiState …
func (s *simplePhiState) insertPhis() { … }
func (s *simplePhiState) lookupVarOutgoing(b *ssa.Block, t *types.Type, var_ ir.Node, line src.XPos) *ssa.Value { … }