Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 8 of 8 for OpSliceCap (0.15 sec)

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

    		ft.update(parent, v, ft.caps[w.Args[0].ID], d, r|lt)
    	}
    	if v.Op == OpSliceCap && r&gt == 0 && ft.lens[v.Args[0].ID] != nil {
    		// cap(s) < w implies len(s) < w
    		// cap(s) <= w implies len(s) <= w
    		// cap(s) == w implies len(s) <= w
    		ft.update(parent, ft.lens[v.Args[0].ID], w, d, r|lt)
    	}
    	if w.Op == OpSliceCap && r&lt == 0 && ft.lens[w.Args[0].ID] != nil {
    		// same, capacity on the RHS.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:30:21 UTC 2024
    - 48.9K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/loopbce.go

    		y = v.Args[1]
    
    	case OpAdd64, OpAdd32, OpAdd16, OpAdd8:
    		x = v.Args[0]
    		y = v.Args[1]
    		if x.isGenericIntConst() {
    			x, y = y, x
    		}
    	}
    	switch x.Op {
    	case OpSliceLen, OpStringLen, OpSliceCap:
    	default:
    		return nil, 0
    	}
    	if y == nil {
    		return x, 0
    	}
    	if !y.isGenericIntConst() {
    		return nil, 0
    	}
    	if v.Op == OpAdd64 || v.Op == OpAdd32 || v.Op == OpAdd16 || v.Op == OpAdd8 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 07 17:37:47 UTC 2023
    - 11.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/decompose.go

    	for _, a := range v.Args {
    		ptr.AddArg(a.Block.NewValue1(v.Pos, OpSlicePtr, ptrType, a))
    		len.AddArg(a.Block.NewValue1(v.Pos, OpSliceLen, lenType, a))
    		cap.AddArg(a.Block.NewValue1(v.Pos, OpSliceCap, lenType, a))
    	}
    	v.reset(OpSliceMake)
    	v.AddArg(ptr)
    	v.AddArg(len)
    	v.AddArg(cap)
    }
    
    func decomposeInt64Phi(v *Value) {
    	cfgtypes := &v.Block.Func.Config.Types
    	var partType *types.Type
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 23 21:22:15 UTC 2022
    - 13.4K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/rewritedec.go

    	case OpIData:
    		return rewriteValuedec_OpIData(v)
    	case OpIMake:
    		return rewriteValuedec_OpIMake(v)
    	case OpITab:
    		return rewriteValuedec_OpITab(v)
    	case OpLoad:
    		return rewriteValuedec_OpLoad(v)
    	case OpSliceCap:
    		return rewriteValuedec_OpSliceCap(v)
    	case OpSliceLen:
    		return rewriteValuedec_OpSliceLen(v)
    	case OpSlicePtr:
    		return rewriteValuedec_OpSlicePtr(v)
    	case OpSlicePtrUnchecked:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 12 00:48:31 UTC 2023
    - 24.9K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/expand_calls.go

    		mem = x.decomposeOne(pos, b, a, mem, at.Elem().PtrTo(), OpSlicePtr, &rc)
    		pos = pos.WithNotStmt()
    		mem = x.decomposeOne(pos, b, a, mem, x.typs.Int, OpSliceLen, &rc)
    		return x.decomposeOne(pos, b, a, mem, x.typs.Int, OpSliceCap, &rc)
    
    	case types.TSTRING:
    		return x.decomposePair(pos, b, a, mem, x.typs.BytePtr, x.typs.Int, OpStringPtr, OpStringLen, &rc)
    
    	case types.TINTER:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 28 05:13:40 UTC 2023
    - 31.9K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssagen/ssa.go

    			return nil
    		}
    
    	case ir.OLEN, ir.OCAP:
    		n := n.(*ir.UnaryExpr)
    		switch {
    		case n.X.Type().IsSlice():
    			op := ssa.OpSliceLen
    			if n.Op() == ir.OCAP {
    				op = ssa.OpSliceCap
    			}
    			return s.newValue1(op, types.Types[types.TINT], s.expr(n.X))
    		case n.X.Type().IsString(): // string; not reachable for OCAP
    			return s.newValue1(ssa.OpStringLen, types.Types[types.TINT], s.expr(n.X))
    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/rewritegeneric.go

    	// result: (SliceCap x)
    	for {
    		if v_0.Op != OpSliceMake {
    			break
    		}
    		_ = v_0.Args[2]
    		v_0_2 := v_0.Args[2]
    		if v_0_2.Op != OpSliceCap {
    			break
    		}
    		x := v_0_2.Args[0]
    		v.reset(OpSliceCap)
    		v.AddArg(x)
    		return true
    	}
    	// match: (SliceCap (SliceMake _ _ (SliceLen x)))
    	// result: (SliceLen x)
    	for {
    		if v_0.Op != OpSliceMake {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 18:24:47 UTC 2024
    - 812.2K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/opGen.go

    	OpIsInBounds
    	OpIsSliceInBounds
    	OpNilCheck
    	OpGetG
    	OpGetClosurePtr
    	OpGetCallerPC
    	OpGetCallerSP
    	OpPtrIndex
    	OpOffPtr
    	OpSliceMake
    	OpSlicePtr
    	OpSliceLen
    	OpSliceCap
    	OpSlicePtrUnchecked
    	OpComplexMake
    	OpComplexReal
    	OpComplexImag
    	OpStringMake
    	OpStringPtr
    	OpStringLen
    	OpIMake
    	OpITab
    	OpIData
    	OpStructMake0
    	OpStructMake1
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 1M bytes
    - Viewed (0)
Back to top