go/src/cmd/compile/internal/ssa/dom_test.go

func BenchmarkDominatorsLinear(b *testing.B)     {}

func BenchmarkDominatorsFwdBack(b *testing.B)    {}

func BenchmarkDominatorsManyPred(b *testing.B)   {}

func BenchmarkDominatorsMaxPred(b *testing.B)    {}

func BenchmarkDominatorsMaxPredVal(b *testing.B) {}

type blockGen

// genLinear creates an array of blocks that succeed one another
// b_n -> [b_n+1].
func genLinear(size int) []bloc {}

// genFwdBack creates an array of blocks that alternate between
// b_n -> [b_n+1], b_n -> [b_n+1, b_n-1] , b_n -> [b_n+1, b_n+2]
func genFwdBack(size int) []bloc {}

// genManyPred creates an array of blocks where 1/3rd have a successor of the
// first block, 1/3rd the last block, and the remaining third are plain.
func genManyPred(size int) []bloc {}

// genMaxPred maximizes the size of the 'exit' predecessor list.
func genMaxPred(size int) []bloc {}

// genMaxPredValue is identical to genMaxPred but contains an
// additional value.
func genMaxPredValue(size int) []bloc {}

var domBenchRes

func benchmarkDominators(b *testing.B, size int, bg blockGen) {}

type domFunc

// verifyDominators verifies that the dominators of fut (function under test)
// as determined by domFn, match the map node->dominator
func verifyDominators(t *testing.T, fut fun, domFn domFunc, doms map[string]string) {}

func TestDominatorsSingleBlock(t *testing.T) {}

func TestDominatorsSimple(t *testing.T) {}

func TestDominatorsMultPredFwd(t *testing.T) {}

func TestDominatorsDeadCode(t *testing.T) {}

func TestDominatorsMultPredRev(t *testing.T) {}

func TestDominatorsMultPred(t *testing.T) {}

func TestInfiniteLoop(t *testing.T) {}

func TestDomTricky(t *testing.T) {}

// generateDominatorMap uses dominatorsSimple to obtain a
// reference dominator tree for testing faster algorithms.
func generateDominatorMap(fut fun) map[string]string {}

func TestDominatorsPostTrickyA(t *testing.T) {}

func TestDominatorsPostTrickyB(t *testing.T) {}

func TestDominatorsPostTrickyC(t *testing.T) {}

func TestDominatorsPostTrickyD(t *testing.T) {}

func TestDominatorsPostTrickyE(t *testing.T) {}

func TestDominatorsPostTrickyF(t *testing.T) {}

func TestDominatorsPostTrickyG(t *testing.T) {}

func TestDominatorsPostTrickyH(t *testing.T) {}

func testDominatorsPostTricky(t *testing.T, b7then, b7else, b12then, b12else, b13then, b13else string) {}