Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for NumBlocks (0.66 sec)

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

    	depth      int32 // depth in dominator tree (root=0, its children=1, etc.)
    }
    
    func makeLCArange(f *Func) *lcaRange {
    	dom := f.Idom()
    
    	// Build tree
    	blocks := make([]lcaRangeBlock, f.NumBlocks())
    	for _, b := range f.Blocks {
    		blocks[b.ID].b = b
    		if dom[b.ID] == nil {
    			continue // entry or unreachable
    		}
    		parent := dom[b.ID].ID
    		blocks[b.ID].parent = parent
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 30 21:52:15 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/looprotate.go

    //	  CMPQ ...
    //	  JLT loop
    func loopRotate(f *Func) {
    	loopnest := f.loopnest()
    	if loopnest.hasIrreducible {
    		return
    	}
    	if len(loopnest.loops) == 0 {
    		return
    	}
    
    	idToIdx := f.Cache.allocIntSlice(f.NumBlocks())
    	defer f.Cache.freeIntSlice(idToIdx)
    	for i, b := range f.Blocks {
    		idToIdx[b.ID] = i
    	}
    
    	// Set of blocks we're moving, by ID.
    	move := map[ID]struct{}{}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 3K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/deadcode.go

    	live, order = liveValues(f, reachable)
    	f.Cache.freeValueSlice(order)
    	return
    }
    
    // ReachableBlocks returns the reachable blocks in f.
    func ReachableBlocks(f *Func) []bool {
    	reachable := make([]bool, f.NumBlocks())
    	reachable[f.Entry.ID] = true
    	p := make([]*Block, 0, 64) // stack-like worklist
    	p = append(p, f.Entry)
    	for len(p) > 0 {
    		// Pop a reachable block
    		b := p[len(p)-1]
    		p = p[:len(p)-1]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 08 00:29:01 UTC 2023
    - 9.2K bytes
    - Viewed (0)
Back to top