- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 78 for Preds (0.04 sec)
-
src/cmd/compile/internal/ssa/fuse.go
if bx == c { break } copyTo += len(bx.Values) } c.Values = t // replace b->c edge with preds(b) -> c c.predstorage[0] = Edge{} if len(b.Preds) > len(b.predstorage) { c.Preds = b.Preds } else { c.Preds = append(c.predstorage[:0], b.Preds...) } for i, e := range c.Preds { p := e.b p.Succs[e.i] = Edge{c, i} } f := b.Func if f.Entry == b { f.Entry = c }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Oct 31 20:45:54 UTC 2023 - 9K bytes - Viewed (0) -
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) -
src/cmd/compile/internal/ssa/check.go
if b.Func != f { 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) -
src/cmd/compile/internal/ssa/numberlines.go
v.Pos = firstPos.WithDefaultStmt() // default to default break } } if firstPosIndex == -1 { // Effectively empty block, check block's own Pos, consider preds. line := src.NoXPos for _, p := range b.Preds { pbi := p.Block().ID if !endlines[pbi].SameFileAndLine(line) { if line == src.NoXPos { line = endlines[pbi] continue } else { line = src.NoXPos
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Aug 14 21:26:13 UTC 2023 - 7.8K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/debug.go
// blocks. Therefore remove unchanged blocks from the // 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 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jun 10 19:44:43 UTC 2024 - 58.4K bytes - Viewed (0) -
test/fixedbugs/issue63955.go
// Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package j func f(try func() int, shouldInc func() bool, N func(int) int) { var n int loop: // we want to have 3 preds here, the function entry and both gotos if v := try(); v == 42 || v == 1337 { // the two || are to trick findIndVar if n < 30 { // this aims to be the matched block if shouldInc() { n++ goto loop }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 07 17:37:47 UTC 2023 - 578 bytes - Viewed (0) -
src/cmd/compile/internal/ssa/loopreschedchecks.go
mem1 := sched.NewValue1I(bb.Pos, OpSelectN, types.TypeMem, 0, call) sched.AddEdgeTo(h) headerMemPhi.AddArg(mem1) bb.Succs[p.i] = Edge{test, 0} test.Preds = append(test.Preds, Edge{bb, p.i}) // Must correct all the other phi functions in the header for new incoming edge. // Except for mem phis, it will be the same value seen on the original // backedge at index i.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Aug 22 21:17:10 UTC 2023 - 16K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/func_test.go
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 { if !checkBlk(fb.Preds[i].b, gb.Preds[i].b) { return false } } return true } return blkcor[fb] == gb && blkcor[gb] == fb }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Sep 08 19:01:04 UTC 2023 - 13.1K bytes - Viewed (0) -
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) -
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)