Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 125 for opAddr (0.84 sec)

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

    // TestNilcheckAddr verifies that nilchecks of OpAddr constructed values are removed.
    func TestNilcheckAddr(t *testing.T) {
    	c := testConfig(t)
    	ptrType := c.config.Types.BytePtr
    	fun := c.Fun("entry",
    		Bloc("entry",
    			Valu("mem", OpInitMem, types.TypeMem, 0, nil),
    			Valu("sb", OpSB, c.config.Types.Uintptr, 0, nil),
    			Goto("checkPtr")),
    		Bloc("checkPtr",
    			Valu("ptr1", OpAddr, ptrType, 0, nil, "sb"),
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 17 23:34:11 UTC 2023
    - 12.3K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/writebarrier.go

    			// find SB and SP values in entry block
    			initpos := f.Entry.Pos
    			sp, sb = f.spSb()
    			wbsym := f.fe.Syslook("writeBarrier")
    			wbaddr = f.Entry.NewValue1A(initpos, OpAddr, f.Config.Types.UInt32Ptr, wbsym, sb)
    			wbZero = f.fe.Syslook("wbZero")
    			wbMove = f.fe.Syslook("wbMove")
    			if buildcfg.Experiment.CgoCheck2 {
    				cgoCheckPtrWrite = f.fe.Syslook("cgoCheckPtrWrite")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:09:14 UTC 2023
    - 23.5K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/check.go

    				f.Fatalf("phi length %s does not match pred length %d for block %s", v.LongString(), len(b.Preds), b)
    			}
    
    			if v.Op == OpAddr {
    				if len(v.Args) == 0 {
    					f.Fatalf("no args for OpAddr %s", v.LongString())
    				}
    				if v.Args[0].Op != OpSB {
    					f.Fatalf("bad arg to OpAddr %v", v)
    				}
    			}
    
    			if v.Op == OpLocalAddr {
    				if len(v.Args) != 2 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/numberlines.go

    	switch op {
    	// Note that Nilcheck often vanishes, but when it doesn't, you'd love to start the statement there
    	// so that a debugger-user sees the stop before the panic, and can examine the value.
    	case OpAddr, OpLocalAddr, OpOffPtr, OpStructSelect, OpPhi, OpITab, OpIData,
    		OpIMake, OpStringMake, OpSliceMake, OpStructMake0, OpStructMake1, OpStructMake2, OpStructMake3, OpStructMake4,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 14 21:26:13 UTC 2023
    - 7.8K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/memcombine.go

    	}
    	base, _ := splitPtr(v.Args[0])
    	mem := v.Args[1]
    	size := v.Type.Size()
    
    	if root.Block.Func.Config.arch == "S390X" {
    		// s390x can't handle unaligned accesses to global variables.
    		if base.ptr.Op == OpAddr {
    			return false
    		}
    	}
    
    	// Check all the entries, extract useful info.
    	type LoadRecord struct {
    		load   *Value
    		offset int64 // offset of load address from base
    		shift  int64
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 21 19:45:41 UTC 2024
    - 18.4K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/nilcheck.go

    			// We assume that SlicePtr is non-nil because we do a bounds check
    			// before the slice access (and all cap>0 slices have a non-nil ptr). See #30366.
    			if v.Op == OpAddr || v.Op == OpLocalAddr || v.Op == OpAddPtr || v.Op == OpOffPtr || v.Op == OpAdd32 || v.Op == OpAdd64 || v.Op == OpSub32 || v.Op == OpSub64 || v.Op == OpSlicePtr {
    				nonNilValues[v.ID] = v
    			}
    		}
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 11.3K bytes
    - Viewed (0)
  7. src/debug/dwarf/const.go

    // The debug info encodes value locations like 8(R3)
    // as a sequence of these op codes.
    // This package does not implement full expressions;
    // the opPlusUconst operator is expected by the type parser.
    const (
    	opAddr       = 0x03 /* 1 op, const addr */
    	opDeref      = 0x06
    	opConst1u    = 0x08 /* 1 op, 1 byte const */
    	opConst1s    = 0x09 /*	" signed */
    	opConst2u    = 0x0A /* 1 op, 2 byte const  */
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 18 19:33:30 UTC 2023
    - 13.8K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/deadstore.go

    	var used ir.NameSet               // used autos that must be kept
    
    	// visit the value and report whether any of the maps are updated
    	visit := func(v *Value) (changed bool) {
    		args := v.Args
    		switch v.Op {
    		case OpAddr, OpLocalAddr:
    			// Propagate the address if it points to an auto.
    			n, ok := v.Aux.(*ir.Name)
    			if !ok || n.Class != ir.PAUTO {
    				return
    			}
    			if addr[v] == nil {
    				addr[v] = n
    				changed = true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 25 20:07:26 UTC 2024
    - 11K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/rewritegeneric.go

    	}
    	// match: (EqPtr (Addr {x} _) (Addr {y} _))
    	// result: (ConstBool [x == y])
    	for {
    		for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
    			if v_0.Op != OpAddr {
    				continue
    			}
    			x := auxToSym(v_0.Aux)
    			if v_1.Op != OpAddr {
    				continue
    			}
    			y := auxToSym(v_1.Aux)
    			v.reset(OpConstBool)
    			v.AuxInt = boolToAuxInt(x == y)
    			return true
    		}
    		break
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 18:24:47 UTC 2024
    - 812.2K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/rewrite.go

    		return !overlap(off1, n1, off2, n2)
    	}
    	// p1 and p2 are not the same, so if they are both OpAddrs then
    	// they point to different variables.
    	// If one pointer is on the stack and the other is an argument
    	// then they can't overlap.
    	switch p1.Op {
    	case OpAddr, OpLocalAddr:
    		if p2.Op == OpAddr || p2.Op == OpLocalAddr || p2.Op == OpSP {
    			return true
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
Back to top