- Sort Score
- Result 10 results
- Languages All
Results 1 - 5 of 5 for SameSafeExpr (0.41 sec)
-
src/cmd/compile/internal/walk/range.go
return false } stmt := n.Body[0] // only stmt in body if stmt == nil || stmt.Op() != ir.ODELETE { return false } m := n.X if delete := stmt.(*ir.CallExpr); !ir.SameSafeExpr(delete.Args[0], m) || !ir.SameSafeExpr(delete.Args[1], k) { return false } // Keys where equality is not reflexive can not be deleted from maps. if !types.IsReflexive(t.Key()) { return false } return true
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Sep 20 14:52:33 UTC 2023 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/walk/order.go
mapAppend := n.X.Op() == ir.OINDEXMAP && n.Y.Op() == ir.OAPPEND && ir.SameSafeExpr(n.X, n.Y.(*ir.CallExpr).Args[0]) n.X = o.expr(n.X, nil) if mapAppend { indexLHS := n.X.(*ir.IndexExpr) indexLHS.X = o.cheapExpr(indexLHS.X) indexLHS.Index = o.cheapExpr(indexLHS.Index) call := n.Y.(*ir.CallExpr) arg0 := call.Args[0] // ir.SameSafeExpr skips OCONVNOPs, so we must do the same here (#66096).
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Mar 08 02:00:33 UTC 2024 - 42.7K bytes - Viewed (0) -
src/cmd/compile/internal/walk/assign.go
// the mapassign call. var mapAppend *ir.CallExpr if left.Op() == ir.OINDEXMAP && right.Op() == ir.OAPPEND { left := left.(*ir.IndexExpr) mapAppend = right.(*ir.CallExpr) if !ir.SameSafeExpr(left, mapAppend.Args[0]) { base.Fatalf("not same expressions: %v != %v", left, mapAppend.Args[0]) } } left = walkExpr(left, init) left = safeExpr(left, init) if mapAppend != nil {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:09:06 UTC 2024 - 20.3K bytes - Viewed (0) -
src/cmd/compile/internal/walk/builtin.go
// } // s[s.len - argc] = a // s[s.len - argc + 1] = b // ... // } // s func walkAppend(n *ir.CallExpr, init *ir.Nodes, dst ir.Node) ir.Node { if !ir.SameSafeExpr(dst, n.Args[0]) { n.Args[0] = safeExpr(n.Args[0], init) n.Args[0] = walkExpr(n.Args[0], init) } walkExprListSafe(n.Args[1:], init) nsrc := n.Args[0]
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Mar 08 22:35:22 UTC 2024 - 31.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssagen/ssa.go
// Currently doesn't really work because (*p)[:len(*p)] appears here as: // tmp = len(*p) // (*p)[:tmp] // if j != nil && (j.Op == OLEN && SameSafeExpr(j.Left, n.Left)) { // j = nil // } // if k != nil && (k.Op == OCAP && SameSafeExpr(k.Left, n.Left)) { // k = nil // } if i == nil { skip |= skipPtr if j == nil { skip |= skipLen }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jun 10 19:44:43 UTC 2024 - 284.9K bytes - Viewed (0)