- Sort Score
- Result 10 results
- Languages All
Results 11 - 20 of 64 for phi (0.18 sec)
-
src/cmd/compile/internal/ssa/writebarrier_test.go
Valu("sp", OpSP, c.config.Types.Uintptr, 0, nil), Goto("loop")), Bloc("loop", Valu("phi", OpPhi, types.TypeMem, 0, nil, "start", "wb"), Valu("v", OpConstNil, ptrType, 0, nil), Valu("addr", OpAddr, ptrType, 0, nil, "sb"), Valu("wb", OpStore, types.TypeMem, 0, ptrType, "addr", "v", "phi"), // has write barrier Goto("loop"))) CheckFunc(fun.f) writebarrier(fun.f) CheckFunc(fun.f)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 24 15:51:15 UTC 2018 - 1.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/decompose.go
// Recursively decompose phis for each field. for _, f := range fields[:n] { decomposeUserPhi(f) } } // decomposeArrayPhi replaces phi-of-array with arraymake(phi-of-array-element), // and then recursively decomposes the element phi. func decomposeArrayPhi(v *Value) { t := v.Type if t.NumElem() == 0 { v.reset(OpArrayMake0) return } if t.NumElem() != 1 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Aug 23 21:22:15 UTC 2022 - 13.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/sccp.go
for _, use := range t.defUse[val] { if val == use { // Phi may refer to itself as uses, ignore them to avoid re-visiting phi // for performance reason continue } t.uses = append(t.uses, use) } for _, block := range t.defBlock[val] { if t.visitedBlock[block.ID] { t.propagate(block) } } } // meet meets all of phi arguments and computes result lattice
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/branchelim.go
case "amd64": const maxcost = 2 phi := 0 other := 0 for _, v := range post.Values { if v.Op == OpPhi { // Each phi results in CondSelect, which lowers into CMOV, // CMOV has latency >1 on most CPUs. phi++ } for _, x := range v.Args { if x.Block == no || x.Block == yes { other++ } } } cost := phi * 1 if phi > 1 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Nov 30 17:46:51 UTC 2022 - 12.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/phiopt.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 11 16:34:30 UTC 2022 - 8.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/tighten.go
// 1. The start memory state of a block is InitMem, a Phi node of type mem or // an incoming memory value. // 2. The start memory state of a block is consistent with the end memory state // of its parent nodes. If the start memory state of a block is a Phi value, // then the end memory state of its parent nodes is consistent with the // corresponding argument value of the Phi node.
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/sparsetree.go
// between assignments (typically branch-dependent // conditionals) occurring "before" the block (e.g., as inputs // to the block and its phi functions), "within" the block, // and "after" the block. AdjustBefore = -1 // defined before phi AdjustWithin = 0 // defined by phi AdjustAfter = 1 // defined within block ) // A SparseTree is a tree of Blocks. // It allows rapid ancestor queries,
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Nov 18 17:59:44 UTC 2022 - 8.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/regalloc.go
// // Phi values are special, as always. We define two kinds of phis, those // where the merge happens in a register (a "register" phi) and those where // the merge happens in a stack location (a "stack" phi). // // A register phi must have the phi and all of its inputs allocated to the // same register. Register phis are spilled similarly to regular ops. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 21 17:49:56 UTC 2023 - 87.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/shortcircuit_test.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 09 23:01:51 UTC 2017 - 1.3K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/deadstore_test.go
Valu("addr", OpAddr, ptrType, 0, nil, "sb"), Goto("loop")), Bloc("loop", Valu("phi", OpPhi, types.TypeMem, 0, nil, "start", "store"), Valu("store", OpStore, types.TypeMem, 0, c.config.Types.Bool, "addr", "v", "phi"), If("v", "loop", "exit")), Bloc("exit", Exit("store"))) CheckFunc(fun.f) dse(fun.f) CheckFunc(fun.f) } func TestDeadStoreTypes(t *testing.T) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 25 20:07:26 UTC 2024 - 5.6K bytes - Viewed (0)