- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 120 for move (0.13 sec)
-
src/cmd/compile/internal/ssa/tighten.go
import "cmd/compile/internal/base" // tighten moves Values closer to the Blocks in which they are used. // This can reduce the amount of register spilling required, // if it doesn't also create more live values. // A Value can be moved to any block that // dominates all blocks in which it is used. func tighten(f *Func) { if base.Flag.N != 0 && len(f.Blocks) < 10000 { // Skip the optimization in -N mode, except for huge functions.
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/zcse.go
v := b.Values[i] if opcodeTable[v.Op].argLen == 0 { key := vkey{v.Op, keyFor(v), v.Aux, v.Type} if vals[key] == nil { vals[key] = v if b != f.Entry { // Move v to the entry block so it will dominate every block // where we might use it. This prevents the need for any dominator // calculations in this pass. v.Block = f.Entry
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Dec 08 01:46:31 UTC 2020 - 2.1K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/dcl.go
// return function type, receiver as first argument (or not). func NewMethodType(sig *types.Type, recv *types.Type) *types.Type { nrecvs := 0 if recv != nil { nrecvs++ } // TODO(mdempsky): Move this function to types. // TODO(mdempsky): Preserve positions, names, and package from sig+recv. params := make([]*types.Field, nrecvs+sig.NumParams()) if recv != nil {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Sep 14 13:15:50 UTC 2023 - 3.1K bytes - Viewed (0) -
src/cmd/compile/internal/types/alg.go
ANOALG // implies ANOEQ, and in addition has a part that is marked Noalg AMEM // Type can be compared/hashed as regular memory. AMEM0 // Specific subvariants of AMEM (TODO: move to ../reflectdata?) AMEM8 AMEM16 AMEM32 AMEM64 AMEM128 ASTRING AINTER ANILINTER AFLOAT32 AFLOAT64 ACPLX64 ACPLX128 ASPECIAL // Type needs special comparison/hashing functions. )
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 18 15:30:00 UTC 2024 - 2.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/xposmap.go
// An xposmap is a map from fileindex and line of src.XPos to int32, // implemented sparsely to save space (column and statement status are ignored). // The sparse skeleton is constructed once, and then reused by ssa phases // that (re)move values with statements attached. type xposmap struct { // A map from file index to maps from line range to integers (block numbers) maps map[int32]*biasedSparseMap
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 14 18:48:16 UTC 2019 - 3.3K bytes - Viewed (0) -
src/cmd/compile/internal/inline/inlheur/function_properties.go
// Parameter value feeds unmodified into a top level "switch" // statement or "if" statement simple expressions (see more on // "simple" expression classification below). ParamFeedsIfOrSwitch // Parameter value feeds unmodified into a "switch" or "if" // statement simple expressions (see more on "simple" expression // classification below), where the if/switch is // conditional/nested. ParamMayFeedIfOrSwitch )
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Aug 10 18:52:53 UTC 2023 - 3.7K bytes - Viewed (0) -
src/cmd/compile/internal/s390x/ggen.go
} switch n { // Handle very small clears with move instructions. case 8, 4, 2, 1: ins := s390x.AMOVB switch n { case 8: ins = s390x.AMOVD case 4: ins = s390x.AMOVW case 2: ins = s390x.AMOVH } p = pp.Append(p, ins, obj.TYPE_CONST, 0, 0, obj.TYPE_MEM, reg, off) // Handle clears that would require multiple move instructions with CLEAR (assembled as XC). default:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 19 15:59:22 UTC 2022 - 2.5K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/looprotate.go
for i, b := range f.Blocks { idToIdx[b.ID] = i } // Set of blocks we're moving, by ID. move := map[ID]struct{}{} // Map from block ID to the moving blocks that should // come right after it. 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
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 15:44:14 UTC 2024 - 3K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/fuse.go
break } // no other incoming edge c = cNext } // Try to preserve any statement marks on the ends of blocks; move values to C var b_next *Block for bx := b; bx != c; bx = b_next { // For each bx with an end-of-block statement marker, // try to move it to a value in the next block, // or to the next block's end, if possible. b_next = bx.Succs[0].b if bx.Pos.IsStmt() == src.PosIsStmt {
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/syntax/source.go
goto redo } } // fill reads more source bytes into s.buf. // It returns with at least one more byte in the buffer, or with s.ioerr != nil. func (s *source) fill() { // determine content to preserve b := s.r if s.b >= 0 { b = s.b s.b = 0 // after buffer has grown or content has been moved down } content := s.buf[b:s.e] // grow buffer or move content down if len(content)*2 > len(s.buf) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Mar 05 19:25:46 UTC 2020 - 5.7K bytes - Viewed (0)