Search Options

Results per page
Sort
Preferred Languages
Advance

Results 31 - 39 of 39 for Succs (0.07 sec)

  1. src/cmd/compile/internal/ssa/_gen/genericOps.go

    var genericBlocks = []blockData{
    	{name: "Plain"},                  // a single successor
    	{name: "If", controls: 1},        // if Controls[0] goto Succs[0] else goto Succs[1]
    	{name: "Defer", controls: 1},     // Succs[0]=defer queued, Succs[1]=defer recovered. Controls[0] is call op (of memory type)
    	{name: "Ret", controls: 1},       // no successors, Controls[0] value is memory result
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 42.6K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/sparsetree.go

    func (t SparseTree) treestructure(b *Block) string {
    	return t.treestructure1(b, 0)
    }
    func (t SparseTree) treestructure1(b *Block, i int) string {
    	s := "\n" + strings.Repeat("\t", i) + b.String() + "->["
    	for i, e := range b.Succs {
    		if i > 0 {
    			s += ","
    		}
    		s += e.b.String()
    	}
    	s += "]"
    	if c0 := t[b.ID].child; c0 != nil {
    		s += "("
    		for c := c0; c != nil; c = t[c.ID].sibling {
    			if c != c0 {
    				s += " "
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 18 17:59:44 UTC 2022
    - 8.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/liveness/plive.go

    				// A variable is live on output from this block
    				// if it is live on input to some successor.
    				//
    				// out[b] = \bigcup_{s \in succ[b]} in[s]
    				newliveout.Copy(lv.blockEffects(b.Succs[0].Block()).livein)
    				for _, succ := range b.Succs[1:] {
    					newliveout.Or(newliveout, lv.blockEffects(succ.Block()).livein)
    				}
    			}
    
    			if !be.liveout.Eq(newliveout) {
    				change = true
    				be.liveout.Copy(newliveout)
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 15:22:22 UTC 2024
    - 45.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/html.go

    		s += html.EscapeString(fmt.Sprintf(" [%v]", t))
    	}
    	for _, c := range b.ControlValues() {
    		s += fmt.Sprintf(" %s", c.HTML())
    	}
    	if len(b.Succs) > 0 {
    		s += " →" // right arrow
    		for _, e := range b.Succs {
    			c := e.b
    			s += " " + c.HTML()
    		}
    	}
    	switch b.Likely {
    	case BranchUnlikely:
    		s += " (unlikely)"
    	case BranchLikely:
    		s += " (likely)"
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 04 15:11:40 UTC 2023
    - 34.8K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/regalloc.go

    				delta := int32(normalDistance)
    				if len(p.Succs) == 2 {
    					if p.Succs[0].b == b && p.Likely == BranchLikely ||
    						p.Succs[1].b == b && p.Likely == BranchUnlikely {
    						delta = likelyDistance
    					}
    					if p.Succs[0].b == b && p.Likely == BranchUnlikely ||
    						p.Succs[1].b == b && p.Likely == BranchLikely {
    						delta = unlikelyDistance
    					}
    				}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 17:49:56 UTC 2023
    - 87.2K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/nilcheck.go

    		case Work:
    			b := node.block
    
    			// First, see if we're dominated by an explicit nil check.
    			if len(b.Preds) == 1 {
    				p := b.Preds[0].b
    				if p.Kind == BlockIf && p.Controls[0].Op == OpIsNonNil && p.Succs[0].b == b {
    					if ptr := p.Controls[0].Args[0]; nonNilValues[ptr.ID] == nil {
    						nonNilValues[ptr.ID] = ptr
    						work = append(work, bp{op: ClearPtr, ptr: ptr})
    					}
    				}
    			}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 11.3K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssagen/ssa.go

    	case b.Succs[1].Block():
    		s.oneJump(b, &jumps[1][0])
    		s.oneJump(b, &jumps[1][1])
    	default:
    		var q *obj.Prog
    		if b.Likely != ssa.BranchUnlikely {
    			s.oneJump(b, &jumps[1][0])
    			s.oneJump(b, &jumps[1][1])
    			q = s.Br(obj.AJMP, b.Succs[1].Block())
    		} else {
    			s.oneJump(b, &jumps[0][0])
    			s.oneJump(b, &jumps[0][1])
    			q = s.Br(obj.AJMP, b.Succs[0].Block())
    		}
    		q.Pos = b.Pos
    	}
    }
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/func.go

    		if int(ID) < len(f.Cache.blocks) {
    			b = &f.Cache.blocks[ID]
    			b.ID = ID
    		} else {
    			b = &Block{ID: ID}
    		}
    	}
    	b.Kind = kind
    	b.Func = f
    	b.Preds = b.predstorage[:0]
    	b.Succs = b.succstorage[:0]
    	b.Values = b.valstorage[:0]
    	f.Blocks = append(f.Blocks, b)
    	f.invalidateCFG()
    	return b
    }
    
    func (f *Func) freeBlock(b *Block) {
    	if b.Func == nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 25.8K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/rewrite.go

    	var states map[string]bool
    	for {
    		change := false
    		deadChange := false
    		for _, b := range f.Blocks {
    			var b0 *Block
    			if debug > 1 {
    				b0 = new(Block)
    				*b0 = *b
    				b0.Succs = append([]Edge{}, b.Succs...) // make a new copy, not aliasing
    			}
    			for i, c := range b.ControlValues() {
    				for c.Op == OpCopy {
    					c = c.Args[0]
    					b.ReplaceControl(i, c)
    				}
    			}
    			if rb(b) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
Back to top