Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 213 for preds (0.2 sec)

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

    // phi values by calling b.removePhiArg(v, i).
    func (b *Block) removePred(i int) {
    	n := len(b.Preds) - 1
    	if i != n {
    		e := b.Preds[n]
    		b.Preds[i] = e
    		// Update the other end of the edge we moved.
    		e.b.Succs[e.i].i = i
    	}
    	b.Preds[n] = Edge{}
    	b.Preds = b.Preds[:n]
    	b.Func.invalidateCFG()
    }
    
    // removeSucc removes the ith output edge from b.
    // It is the responsibility of the caller to remove
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 12.2K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/check.go

    			f.Fatalf("%s.Func=%s, want %s", b, b.Func.Name, f.Name)
    		}
    
    		for i, e := range b.Preds {
    			if se := e.b.Succs[e.i]; se.b != b || se.i != i {
    				f.Fatalf("block pred/succ not crosslinked correctly %d:%s %d:%s", i, b, se.i, se.b)
    			}
    		}
    		for i, e := range b.Succs {
    			if pe := e.b.Preds[e.i]; pe.b != b || pe.i != i {
    				f.Fatalf("block succ/pred not crosslinked correctly %d:%s %d:%s", i, b, pe.i, pe.b)
    			}
    		}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/debug.go

    		// predecessor list.
    		for i := len(preds) - 1; i >= 0; i-- {
    			pred := preds[i]
    			if blockLocs[pred.ID].lastChangedTime > locs.lastCheckedTime {
    				continue // keep this predecessor
    			}
    			preds[i] = preds[len(preds)-1]
    			preds = preds[:len(preds)-1]
    			if state.loggingLevel > 2 {
    				state.logf("Pruned b%d, lastChanged was %d but b%d lastChecked is %d\n", pred.ID, blockLocs[pred.ID].lastChangedTime, b.ID, locs.lastCheckedTime)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 58.4K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/liveness/plive.go

    				decisionBlock = c
    			} else if len(c.Preds) == 1 && len(d.Preds) == 1 && c.Preds[0].Block() == d.Preds[0].Block() {
    				decisionBlock = c.Preds[0].Block()
    			} else {
    				lv.f.Fatalf("can't find write barrier pattern %v", v)
    			}
    			if len(decisionBlock.Succs) != 2 {
    				lv.f.Fatalf("common predecessor block the wrong type %s", decisionBlock.Kind)
    			}
    
    			// Flow backwards from the control value to find the
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 15:22:22 UTC 2024
    - 45.2K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/prove.go

    		for ; pred != nil; pred, child = uniquePred(pred), pred {
    			if pred.Kind != BlockIf {
    				continue
    			}
    			control := pred.Controls[0]
    
    			br := unknown
    			if pred.Succs[0].b == child {
    				br = positive
    			}
    			if pred.Succs[1].b == child {
    				if br != unknown {
    					continue
    				}
    				br = negative
    			}
    			if br == unknown {
    				continue
    			}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:30:21 UTC 2024
    - 48.9K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/looprotate.go

    	after := map[ID][]*Block{}
    
    	// Check each loop header and decide if we want to move it.
    	for _, loop := range loopnest.loops {
    		b := loop.header
    		var p *Block // b's in-loop predecessor
    		for _, e := range b.Preds {
    			if e.b.Kind != BlockPlain {
    				continue
    			}
    			if loopnest.b2l[e.b.ID] != loop {
    				continue
    			}
    			p = e.b
    		}
    		if p == nil {
    			continue
    		}
    		p.Hotness |= HotInitial
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 3K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/stackalloc.go

    					}
    				}
    			}
    
    			// for each predecessor of b, expand its list of live-at-end values
    			// invariant: s contains the values live at the start of b (excluding phi inputs)
    			for i, e := range b.Preds {
    				p := e.b
    				t.clear()
    				t.addAll(s.live[p.ID])
    				t.addAll(live.contents())
    				t.addAll(spillLive[p.ID])
    				for _, v := range phis {
    					a := v.Args[i]
    					if s.values[a.ID].needSlot {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 29 21:29:41 UTC 2024
    - 12.6K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/rewrite.go

    	// Max distance
    	d := 100
    
    	for d > 0 {
    		for _, x := range a {
    			if b == x.Block {
    				goto found
    			}
    		}
    		if len(b.Preds) > 1 {
    			// Don't know which way to go back. Abort.
    			return nil
    		}
    		b = b.Preds[0].b
    		d--
    	}
    	return nil // too far away
    found:
    	// At this point, r is the first value in a that we find by walking backwards.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
  9. tensorflow/compiler/jit/deadness_analysis.h

          return other.pred_ == pred_;
        }
    
        bool operator!=(const DeadnessPredicate& other) const {
          return other.pred_ != pred_;
        }
    
       private:
        explicit DeadnessPredicate(void* pred) : pred_(pred) {}
    
        // This is really a Predicate*, but we don't want to expose that
        // implementation detail to our clients.  `pred_` has pointer equality so we
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Feb 22 06:59:07 UTC 2024
    - 3.3K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/func.go

    	} else {
    		ID := f.bid.get()
    		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)
Back to top