Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 275 for preds (0.06 sec)

  1. 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)
  2. src/cmd/compile/internal/ssa/deadcode.go

    	for len(q) > 0 {
    		// pop a reachable value
    		v := q[len(q)-1]
    		q[len(q)-1] = nil
    		q = q[:len(q)-1]
    		for i, x := range v.Args {
    			if v.Op == OpPhi && !reachable[v.Block.Preds[i].b.ID] {
    				continue
    			}
    			if !live[x.ID] {
    				live[x.ID] = true
    				q = append(q, x) // push
    				if x.Pos.IsStmt() != src.PosNotStmt {
    					liveOrderStmts = append(liveOrderStmts, x)
    				}
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 08 00:29:01 UTC 2023
    - 9.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/regalloc.go

    					if opcodeTable[v.Op].commutative {
    						desired.addList(v.Args[1].ID, prefs)
    					}
    					desired.addList(v.Args[0].ID, prefs)
    				}
    			}
    
    			// For each predecessor of b, expand its list of live-at-end values.
    			// invariant: live contains the values live at the start of b (excluding phi inputs)
    			for i, e := range b.Preds {
    				p := e.b
    				// Compute additional distance for the edge.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 17:49:56 UTC 2023
    - 87.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/nilcheck.go

    		node := work[len(work)-1]
    		work = work[:len(work)-1]
    
    		switch node.op {
    		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
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 11.3K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/loopbce.go

    //		do something
    //	      nxt = inc + ind
    //		goto loop
    //
    //	 exit_loop:
    func findIndVar(f *Func) []indVar {
    	var iv []indVar
    	sdom := f.Sdom()
    
    	for _, b := range f.Blocks {
    		if b.Kind != BlockIf || len(b.Preds) != 2 {
    			continue
    		}
    
    		var ind *Value   // induction variable
    		var init *Value  // starting value
    		var limit *Value // ending value
    
    		// Check that the control if it either ind </<= limit or limit </<= ind.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 07 17:37:47 UTC 2023
    - 11.8K bytes
    - Viewed (0)
  6. tensorflow/compiler/mlir/tensorflow/tests/functional-control-flow-to-cfg.mlir

    // CHECK: ^bb1([[CONDARG0:%.+]]: tensor<!tf_type.variant>):        // 2 preds: ^bb0, ^bb2
    // CHECK:   [[CONTINUE:%.+]] = call @testWhileCond([[CONDARG0]]) : (tensor<!tf_type.variant>) -> tensor<i1>
    // CHECK:   [[TOBOOL:%.+]] = "tf.ToBool"([[CONTINUE]]) : (tensor<i1>) -> tensor<i1>
    // CHECK:   [[PRED:%.+]] = tensor.extract [[TOBOOL]][] : tensor<i1>
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Mon Oct 30 06:52:55 UTC 2023
    - 12.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/html.go

    	}
    	fmt.Fprintf(p.w, "<ul class=\"%s ssa-print-func %s\">", b, dead)
    	fmt.Fprintf(p.w, "<li class=\"ssa-start-block\">%s:", b.HTML())
    	if len(b.Preds) > 0 {
    		io.WriteString(p.w, " &#8592;") // left arrow
    		for _, e := range b.Preds {
    			pred := e.b
    			fmt.Fprintf(p.w, " %s", pred.HTML())
    		}
    	}
    	if len(b.Values) > 0 {
    		io.WriteString(p.w, `<button onclick="hideBlock(this)">-</button>`)
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 04 15:11:40 UTC 2023
    - 34.8K bytes
    - Viewed (0)
  9. 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)
  10. src/cmd/compile/internal/ssa/writebarrier.go

    		bEnd.Pos = b.Pos
    		b.Pos = pos
    
    		// Set up control flow for end block.
    		bEnd.CopyControls(b)
    		bEnd.Likely = b.Likely
    		for _, e := range b.Succs {
    			bEnd.Succs = append(bEnd.Succs, e)
    			e.b.Preds[e.i].b = bEnd
    		}
    
    		// set up control flow for write barrier test
    		// load word, test word, avoiding partial register write from load byte.
    		cfgtypes := &f.Config.Types
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:09:14 UTC 2023
    - 23.5K bytes
    - Viewed (0)
Back to top