Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 29 of 29 for NewValue0 (0.19 sec)

  1. src/cmd/compile/internal/ssa/rewritePPC64latelower.go

    	for {
    		if auxIntToInt32(v.AuxInt) != 2 {
    			break
    		}
    		cmp := v_0
    		if !(buildcfg.GOPPC64 <= 9) {
    			break
    		}
    		v.reset(OpPPC64ISELZ)
    		v.AuxInt = int32ToAuxInt(2)
    		v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
    		v0.AuxInt = int64ToAuxInt(1)
    		v.AddArg2(v0, cmp)
    		return true
    	}
    	// match: (SETBC [0] cmp)
    	// cond: buildcfg.GOPPC64 <= 9
    	// result: (ISELZ [0] (MOVDconst [1]) cmp)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 16.5K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/fuse_comparisons.go

    		// significantly so we shouldn't be overly conservative.
    		if !canSpeculativelyExecute(b) {
    			return false
    		}
    
    		// Logically combine the control values for p and b.
    		v := b.NewValue0(bc.Pos, op, bc.Type)
    		v.AddArg(pc)
    		v.AddArg(bc)
    
    		// Set the combined control value as the control value for b.
    		b.SetControl(v)
    
    		// Modify p so that it jumps directly to b.
    		p.removeEdge(i)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 11 16:34:30 UTC 2022
    - 4K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/loopreschedchecks.go

    		tofixBackedges = append(tofixBackedges, edgeMem{e, nil})
    	}
    
    	// It's possible that there is no memory state (no global/pointer loads/stores or calls)
    	if lastMems[f.Entry.ID] == nil {
    		lastMems[f.Entry.ID] = f.Entry.NewValue0(f.Entry.Pos, OpInitMem, types.TypeMem)
    	}
    
    	memDefsAtBlockEnds := f.Cache.allocValueSlice(f.NumBlocks()) // For each block, the mem def seen at its bottom. Could be from earlier block.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 21:17:10 UTC 2023
    - 16K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/func.go

    	}
    	// Clear everything but ID (which we reuse).
    	id := b.ID
    	*b = Block{}
    	b.ID = id
    	b.succstorage[0].b = f.freeBlocks
    	f.freeBlocks = b
    }
    
    // NewValue0 returns a new value in the block with no arguments and zero aux values.
    func (b *Block) NewValue0(pos src.XPos, op Op, t *types.Type) *Value {
    	v := b.Func.newValue(op, t, b, pos)
    	v.AuxInt = 0
    	v.Args = v.argstorage[:0]
    	return v
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 25.8K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/value.go

    	}
    }
    
    // If/when midstack inlining is enabled (-l=4), the compiler gets both larger and slower.
    // Not-inlining this method is a help (*Value.reset and *Block.NewValue0 are similar).
    //
    //go:noinline
    func (v *Value) AddArg(w *Value) {
    	if v.Args == nil {
    		v.resetArgs() // use argstorage
    	}
    	v.Args = append(v.Args, w)
    	w.Uses++
    }
    
    //go:noinline
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 03 16:40:22 UTC 2024
    - 16.7K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssagen/ssa.go

    // peekPos peeks the top of the line number stack.
    func (s *state) peekPos() src.XPos {
    	return s.line[len(s.line)-1]
    }
    
    // newValue0 adds a new value with no arguments to the current block.
    func (s *state) newValue0(op ssa.Op, t *types.Type) *ssa.Value {
    	return s.curBlock.NewValue0(s.peekPos(), op, t)
    }
    
    // newValue0A adds a new value with no arguments and an aux value to the current block.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/expand_calls.go

    	if at == types.TypeMem {
    		a.copyOf(m0)
    		return a
    	}
    
    	makeOf := func(a *Value, op Op, args []*Value) *Value {
    		if a == nil {
    			a = b.NewValue0(pos, op, at)
    			a.AddArgs(args...)
    		} else {
    			a.resetArgs()
    			a.Aux, a.AuxInt = nil, 0
    			a.Pos, a.Op, a.Type = pos, op, at
    			a.AddArgs(args...)
    		}
    		return a
    	}
    
    	if at.Size() == 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 28 05:13:40 UTC 2023
    - 31.9K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/_gen/rulegen.go

    		}
    		if resname == "" {
    			v = fmt.Sprintf("v%d", rr.Alloc)
    		} else {
    			v = resname
    		}
    		rr.Alloc++
    		rr.add(declf(rr.Loc, v, "b.NewValue0(%s, Op%s%s, %s)", pos, oparch, op.name, typ))
    		if move && top {
    			// Rewrite original into a copy
    			rr.add(stmtf("v.copyOf(%s)", v))
    		}
    	}
    
    	if auxint != "" {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Sep 02 22:09:21 UTC 2023
    - 48.7K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/regalloc.go

    func (s *regAllocState) clobberRegs(m regMask) {
    	m &= s.allocatable & s.f.Config.gpRegMask // only integer register can contain pointers, only clobber them
    	for m != 0 {
    		r := pickReg(m)
    		m &^= 1 << r
    		x := s.curBlock.NewValue0(src.NoXPos, OpClobberReg, types.TypeVoid)
    		s.f.setHome(x, &s.registers[r])
    	}
    }
    
    // setOrig records that c's original value is the same as
    // v's original value.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 17:49:56 UTC 2023
    - 87.2K bytes
    - Viewed (0)
Back to top