Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 73 for succFn (0.14 sec)

  1. src/cmd/compile/internal/ssa/dom.go

    	preds := func(b *Block) []Edge { return b.Preds }
    	succs := func(b *Block) []Edge { return b.Succs }
    
    	//TODO: benchmark and try to find criteria for swapping between
    	// dominatorsSimple and dominatorsLT
    	return f.dominatorsLTOrig(f.Entry, preds, succs)
    }
    
    // dominatorsLTOrig runs Lengauer-Tarjan to compute a dominator tree starting at
    // entry and using predFn/succFn to find predecessors/successors to allow
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Dec 03 17:08:51 UTC 2022
    - 7.4K bytes
    - Viewed (0)
  2. src/cmd/vendor/golang.org/x/tools/go/cfg/cfg.go

    		fmt.Fprintf(&buf, ".%d: # %s\n", b.Index, b.comment(fset))
    		for _, n := range b.Nodes {
    			fmt.Fprintf(&buf, "\t%s\n", formatNode(fset, n))
    		}
    		if len(b.Succs) > 0 {
    			fmt.Fprintf(&buf, "\tsuccs:")
    			for _, succ := range b.Succs {
    				fmt.Fprintf(&buf, " %d", succ.Index)
    			}
    			buf.WriteByte('\n')
    		}
    		buf.WriteByte('\n')
    	}
    	return buf.String()
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 02:20:05 UTC 2024
    - 7.7K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/likelyadjust.go

    		return
    	}
    	ln.calculateDepths()
    	b2l := ln.b2l
    	for _, b := range ln.po {
    		l := b2l[b.ID]
    		if l != nil && len(b.Succs) == 2 {
    			sl := b2l[b.Succs[0].b.ID]
    			if recordIfExit(l, sl, b.Succs[0].b) {
    				continue
    			}
    			sl = b2l[b.Succs[1].b.ID]
    			if recordIfExit(l, sl, b.Succs[1].b) {
    				continue
    			}
    		}
    	}
    	ln.initializedExits = true
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 31 21:41:20 UTC 2022
    - 15.4K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/branchelim.go

    		return false
    	}
    	yes, no := b.Succs[0].Block(), b.Succs[1].Block()
    	if !isLeafPlain(yes) || len(yes.Values) > 1 || !canSpeculativelyExecute(yes) {
    		return false
    	}
    	if !isLeafPlain(no) || len(no.Values) > 1 || !canSpeculativelyExecute(no) {
    		return false
    	}
    	if b.Succs[0].Block().Succs[0].Block() != b.Succs[1].Block().Succs[0].Block() {
    		return false
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Nov 30 17:46:51 UTC 2022
    - 12.7K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/check.go

    			}
    		case BlockRetJmp:
    			if len(b.Succs) != 0 {
    				f.Fatalf("retjmp block %s len(Succs)==%d, want 0", b, len(b.Succs))
    			}
    			if b.NumControls() != 1 {
    				f.Fatalf("retjmp block %s has nil control", b)
    			}
    			if !b.Controls[0].Type.IsMemory() {
    				f.Fatalf("retjmp block %s has non-memory control value %s", b, b.Controls[0].LongString())
    			}
    		case BlockPlain:
    			if len(b.Succs) != 1 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/func_test.go

    				return false
    			}
    			for i := range fb.Values {
    				if !checkVal(fb.Values[i], gb.Values[i]) {
    					return false
    				}
    			}
    			if len(fb.Succs) != len(gb.Succs) {
    				return false
    			}
    			for i := range fb.Succs {
    				if !checkBlk(fb.Succs[i].b, gb.Succs[i].b) {
    					return false
    				}
    			}
    			if len(fb.Preds) != len(gb.Preds) {
    				return false
    			}
    			for i := range fb.Preds {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:01:04 UTC 2023
    - 13.1K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/shortcircuit.go

    	// In these cases, we can reconstruct what the value
    	// of any phi in b must be in the successor blocks.
    
    	if len(t.Preds) == 1 && len(t.Succs) == 1 &&
    		len(u.Preds) == 1 && len(u.Succs) == 1 &&
    		t.Succs[0].b == u.Succs[0].b && len(t.Succs[0].b.Preds) == 2 {
    		// p   q
    		//  \ /
    		//   b
    		//  / \
    		// t   u
    		//  \ /
    		//   m
    		//
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 03 17:47:02 UTC 2022
    - 12.6K bytes
    - Viewed (0)
  8. src/cmd/vendor/golang.org/x/tools/go/cfg/builder.go

    		Stmt:  stmt,
    	}
    	block.Succs = block.succs2[:0]
    	g.Blocks = append(g.Blocks, block)
    	return block
    }
    
    func (b *builder) add(n ast.Node) {
    	b.current.Nodes = append(b.current.Nodes, n)
    }
    
    // jump adds an edge from the current block to the target block,
    // and sets b.current to nil.
    func (b *builder) jump(target *Block) {
    	b.current.Succs = append(b.current.Succs, target)
    	b.current = nil
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 02:20:05 UTC 2024
    - 11.4K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/layout.go

    				bid = cid
    				continue blockloop
    			}
    		}
    
    		// Still nothing, pick the unscheduled successor block encountered most recently.
    		for len(succs) > 0 {
    			// Pop an element from the tail of the queue.
    			cid := succs[len(succs)-1]
    			succs = succs[:len(succs)-1]
    			if !scheduled[cid] {
    				bid = cid
    				continue blockloop
    			}
    		}
    
    		// Still nothing, pick any non-exit block.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 31 21:41:20 UTC 2022
    - 5K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/fuse.go

    	var ss0, ss1 *Block
    	s0 := b.Succs[0].b
    	i0 := b.Succs[0].i
    	if s0.Kind != BlockPlain || !isEmpty(s0) {
    		s0, ss0 = b, s0
    	} else {
    		ss0 = s0.Succs[0].b
    		i0 = s0.Succs[0].i
    	}
    	s1 := b.Succs[1].b
    	i1 := b.Succs[1].i
    	if s1.Kind != BlockPlain || !isEmpty(s1) {
    		s1, ss1 = b, s1
    	} else {
    		ss1 = s1.Succs[0].b
    		i1 = s1.Succs[0].i
    	}
    	if ss0 != ss1 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 9K bytes
    - Viewed (0)
Back to top