- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 16 for ControlValues (0.46 sec)
-
src/cmd/compile/internal/ssa/flagalloc.go
for n := 0; n < 2; n++ { for _, b := range po { // Walk values backwards to figure out what flag // value we want in the flag register at the start // of the block. var flag *Value for _, c := range b.ControlValues() { if c.Type.IsFlags() { if flag != nil { panic("cannot have multiple controls using flags") } flag = c } } if flag == nil { flag = end[b.ID] }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 31 21:41:20 UTC 2022 - 6.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/block.go
return 0 } if b.Controls[1] == nil { return 1 } return 2 } // ControlValues returns a slice containing the non-nil control // values of the block. The index of each control value will be // the same as it is in the Controls property and can be used // in ReplaceControl calls. func (b *Block) ControlValues() []*Value { if b.Controls[0] == nil { return b.Controls[:0] } if b.Controls[1] == nil {
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/copyelim.go
func copyelim(f *Func) { phielim(f) // loop of copyelimValue(v) process has been done in phielim() pass. // Update block control values. for _, b := range f.Blocks { for i, v := range b.ControlValues() { if v.Op == OpCopy { b.ReplaceControl(i, v.Args[0]) } } } // Update named values. for _, name := range f.Names { values := f.NamedValues[*name] for i, v := range values {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 22 14:55:18 UTC 2024 - 3.5K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/check.go
for _, v := range b.Values { for i, a := range v.Args { if !valueMark[a.ID] { f.Fatalf("%v, arg %d of %s, is missing", a, i, v.LongString()) } } } for _, c := range b.ControlValues() { if !valueMark[c.ID] { f.Fatalf("control value for %s is missing: %v", b, c) } } } for b := f.freeBlocks; b != nil; b = b.succstorage[0].b { if blockMark[b.ID] {
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/sccp.go
if _, exist := t.defUse[arg]; !exist { t.defUse[arg] = make([]*Value, 0, arg.Uses) } t.defUse[arg] = append(t.defUse[arg], val) } } } for _, ctl := range block.ControlValues() { // for control values that can become constants, find their use blocks if possibleConst(ctl) { t.defBlock[ctl] = append(t.defBlock[ctl], block) } } } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jan 22 16:54:50 UTC 2024 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/schedule.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 08 15:53:17 UTC 2024 - 16.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/tighten.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 16 01:01:38 UTC 2023 - 7.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/cse.go
v.Pos = v.Pos.WithIsStmt() w.Pos = w.Pos.WithNotStmt() } // TODO and if this fails? } v.SetArg(i, x) rewrites++ } } } for i, v := range b.ControlValues() { if x := rewrite[v.ID]; x != nil { if v.Op == OpNilCheck { // nilcheck pass will remove the nil checks and log // them appropriately, so don't mess with them here. continue }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 31 21:41:20 UTC 2022 - 9.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/deadcode.go
// Calls are live (because callee can observe the memory state). for _, b := range f.Blocks { if !reachable[b.ID] { continue } for _, v := range b.ControlValues() { if !live[v.ID] { live[v.ID] = true q = append(q, v) if v.Pos.IsStmt() != src.PosNotStmt { liveOrderStmts = append(liveOrderStmts, v) } } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Dec 08 00:29:01 UTC 2023 - 9.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/deadstore.go
changed := false for _, b := range f.Blocks { for _, v := range b.Values { changed = visit(v) || changed } // keep the auto if its address reaches a control value for _, c := range b.ControlValues() { if n, ok := addr[c]; ok && !used.Has(n) { used.Add(n) changed = true } } } if !changed { break } } // Eliminate stores to unread autos.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 25 20:07:26 UTC 2024 - 11K bytes - Viewed (0)