Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 45 for OpPhi (0.4 sec)

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

    		e := emc.e
    		h := e.b
    
    		// find the phi function for the memory input at "h", if there is one.
    		var headerMemPhi *Value // look for header mem phi
    
    		for _, v := range h.Values {
    			if v.Op == OpPhi && v.Type.IsMemory() {
    				headerMemPhi = v
    			}
    		}
    
    		if headerMemPhi == nil {
    			// if the header is nil, make a trivial phi from the dominator
    			mem0 := memDefsAtBlockEnds[idom[h.ID].ID]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 21:17:10 UTC 2023
    - 16K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/lower.go

    	for _, b := range f.Blocks {
    		for _, v := range b.Values {
    			if !opcodeTable[v.Op].generic {
    				continue // lowered
    			}
    			switch v.Op {
    			case OpSP, OpSPanchored, OpSB, OpInitMem, OpArg, OpArgIntReg, OpArgFloatReg, OpPhi, OpVarDef, OpVarLive, OpKeepAlive, OpSelect0, OpSelect1, OpSelectN, OpConvert, OpInlMark, OpWBend:
    				continue // ok not to lower
    			case OpMakeResult:
    				if b.Controls[0] == v {
    					continue
    				}
    			case OpGetG:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 16 00:16:13 UTC 2023
    - 1.7K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/softfloat.go

    	if !f.Config.SoftFloat {
    		return
    	}
    	newInt64 := false
    
    	for _, b := range f.Blocks {
    		for _, v := range b.Values {
    			if v.Type.IsFloat() {
    				f.unCache(v)
    				switch v.Op {
    				case OpPhi, OpLoad, OpArg:
    					if v.Type.Size() == 4 {
    						v.Type = f.Config.Types.UInt32
    					} else {
    						v.Type = f.Config.Types.UInt64
    					}
    				case OpConst32F:
    					v.Op = OpConst32
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 03 16:14:24 UTC 2021
    - 2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssagen/phi.go

    	s.resolveFwdRefs()
    
    	// Erase variable numbers stored in AuxInt fields of phi ops. They are no longer needed.
    	for _, b := range s.f.Blocks {
    		for _, v := range b.Values {
    			if v.Op == ssa.OpPhi {
    				v.AuxInt = 0
    			}
    			// Any remaining FwdRefs are dead code.
    			if v.Op == ssa.OpFwdRef {
    				v.Op = ssa.OpUnknown
    				v.Aux = nil
    			}
    		}
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 18 17:59:44 UTC 2022
    - 15.2K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/regalloc_test.go

    			Valu("v11", OpARM64CMPconst, types.TypeFlags, 0, nil, "v6"),
    			Eq("v11", "b2", "b4"),
    		),
    		Bloc("b4",
    			Goto("b3"),
    		),
    		Bloc("b3",
    			Valu("v14", OpPhi, types.TypeMem, 0, nil, "v1", "v12"),
    			Valu("sb", OpSB, c.config.Types.Uintptr, 0, nil),
    			Valu("v16", OpARM64MOVDstore, types.TypeMem, 0, nil, "v8", "sb", "v14"),
    			Exit("v16"),
    		),
    		Bloc("b2",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:09:14 UTC 2023
    - 6.3K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/deadstore.go

    		for k := range localAddrs {
    			delete(localAddrs, k)
    		}
    		stores = stores[:0]
    		for _, v := range b.Values {
    			if v.Op == OpPhi {
    				// Ignore phis - they will always be first and can't be eliminated
    				continue
    			}
    			if v.Type.IsMemory() {
    				stores = append(stores, v)
    				for _, a := range v.Args {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 25 20:07:26 UTC 2024
    - 11K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/fuse_test.go

    			Valu("bool1", OpNeqPtr, c.config.Types.Bool, 0, nil, "ptr1", "nilptr"),
    			If("bool1", "then", "else")),
    		Bloc("then",
    			Goto("exit")),
    		Bloc("else",
    			Goto("exit")),
    		Bloc("exit",
    			Valu("phi", OpPhi, ptrType, 0, nil, "ptr1", "ptr1"),
    			Exit("mem")))
    
    	CheckFunc(fun.f)
    	fuseLate(fun.f)
    
    	for _, b := range fun.f.Blocks {
    		if b == fun.blocks["then"] && b.Kind != BlockInvalid {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 7.4K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/numberlines.go

    	// 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,
    		OpConstBool, OpConst8, OpConst16, OpConst32, OpConst64, OpConst32F, OpConst64F, OpSB, OpSP,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 14 21:26:13 UTC 2023
    - 7.8K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/sccp.go

    				dest := edge.b
    				destVisited := t.visitedBlock[dest.ID]
    
    				// mark edge as visited
    				t.visited[edge] = true
    				t.visitedBlock[dest.ID] = true
    				for _, val := range dest.Values {
    					if val.Op == OpPhi || !destVisited {
    						t.visitValue(val)
    					}
    				}
    				// propagates constants facts through CFG, taking condition test
    				// into account
    				if !destVisited {
    					t.propagate(dest)
    				}
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jan 22 16:54:50 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/critical.go

    		var phi *Value
    		// determine if we've only got a single phi in this
    		// block, this is easier to handle than the general
    		// case of a block with multiple phi values.
    		for _, v := range b.Values {
    			if v.Op == OpPhi {
    				if phi != nil {
    					phi = nil
    					break
    				}
    				phi = v
    			}
    		}
    
    		// reset our block map
    		if phi != nil {
    			for _, v := range phi.Args {
    				blocks[v.ID] = nil
    			}
    		}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 16 21:40:11 UTC 2023
    - 3.1K bytes
    - Viewed (0)
Back to top