Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for MergeLocals (0.16 sec)

  1. src/cmd/compile/internal/ssagen/pgen.go

    					fallthrough
    				case ir.PPARAM, ir.PAUTO:
    					n.SetUsed(true)
    				}
    			}
    		}
    	}
    
    	var mls *liveness.MergeLocalsState
    	var leaders map[*ir.Name]int64
    	if base.Debug.MergeLocals != 0 {
    		mls = liveness.MergeLocals(fn, f)
    		if base.Debug.MergeLocalsTrace > 0 && mls != nil {
    			savedNP, savedP := mls.EstSavings()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 13.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/func.go

    // items larger than what CanSSA would allow (approximateky, we disallow things
    // marked as open defer slots so as to avoid complicating liveness
    // analysis.
    func IsMergeCandidate(n *ir.Name) bool {
    	if base.Debug.MergeLocals == 0 ||
    		base.Flag.N != 0 ||
    		n.Class != ir.PAUTO ||
    		n.Type().Size() <= int64(3*types.PtrSize) ||
    		n.Addrtaken() ||
    		n.NonMergeable() ||
    		n.OpenDeferSlot() {
    		return false
    	}
    	return true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 25.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/liveness/plive.go

    // argument is a slice of *Nodes.
    func (lv *liveness) pointerMap(liveout bitvec.BitVec, vars []*ir.Name, args, locals bitvec.BitVec) {
    	var slotsSeen map[int64]*ir.Name
    	checkForDuplicateSlots := base.Debug.MergeLocals != 0
    	if checkForDuplicateSlots {
    		slotsSeen = make(map[int64]*ir.Name)
    	}
    	for i := int32(0); ; i++ {
    		i = liveout.Next(i)
    		if i < 0 {
    			break
    		}
    		node := vars[i]
    		switch node.Class {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 15:22:22 UTC 2024
    - 45.2K bytes
    - Viewed (0)
Back to top