Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for MergeLocals (0.15 sec)

  1. src/cmd/compile/internal/test/mergelocals_test.go

    	// 9: "r" frameoff -16408 ...
    	//
    	tmpdir := t.TempDir()
    	src := filepath.Join("testdata", "mergelocals", "integration.go")
    	obj := filepath.Join(tmpdir, "p.a")
    	out, err := testenv.Command(t, testenv.GoToolPath(t), "tool", "compile",
    		"-p=p", "-c", "1", "-o", obj, "-d=mergelocalstrace=2,mergelocals=1",
    		src).CombinedOutput()
    	if err != nil {
    		t.Fatalf("failed to compile: %v\n%s", err, out)
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 15:43:53 UTC 2024
    - 4.7K bytes
    - Viewed (0)
  2. 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)
  3. 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)
  4. 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