}
nregion = 0
region = region[:0]
- var rgp *Rgn
for f := firstf; f != nil; f = f.Link {
r := f.Data.(*Reg)
for z := 0; z < BITS; z++ {
if Debug['R'] != 0 && Debug['v'] != 0 {
fmt.Printf("\nregisterizing\n")
}
- var usedreg uint64
- var vreg uint64
for i := 0; i < nregion; i++ {
- rgp = ®ion[i]
+ rgp := ®ion[i]
if Debug['R'] != 0 && Debug['v'] != 0 {
fmt.Printf("region %d: cost %d varno %d enter %d\n", i, rgp.cost, rgp.varno, rgp.enter.Prog.Pc)
}
bit = blsh(uint(rgp.varno))
- usedreg = paint2(rgp.enter, int(rgp.varno), 0)
- vreg = allreg(usedreg, rgp)
+ usedreg := paint2(rgp.enter, int(rgp.varno), 0)
+ vreg := allreg(usedreg, rgp)
if rgp.regno != 0 {
if Debug['R'] != 0 && Debug['v'] != 0 {
v := &vars[rgp.varno]
index := r.Left
value := r.Right
- var a *Node
-
switch value.Op {
case OARRAYLIT:
if value.Type.Bound < 0 {
if pass == 1 && ctxt != 0 {
- a = NodSym(ODOT, var_, index.Sym)
+ a := NodSym(ODOT, var_, index.Sym)
slicelit(ctxt, value, a, init)
} else if pass == 2 && ctxt == 0 {
- a = NodSym(ODOT, var_, index.Sym)
+ a := NodSym(ODOT, var_, index.Sym)
slicelit(ctxt, value, a, init)
} else if pass == 3 {
break
continue
}
- a = NodSym(ODOT, var_, index.Sym)
+ a := NodSym(ODOT, var_, index.Sym)
arraylit(ctxt, pass, value, a, init)
continue
case OSTRUCTLIT:
- a = NodSym(ODOT, var_, index.Sym)
+ a := NodSym(ODOT, var_, index.Sym)
structlit(ctxt, pass, value, a, init)
continue
}
// build list of var.field = expr
setlineno(value)
- a = NodSym(ODOT, var_, index.Sym)
+ a := NodSym(ODOT, var_, index.Sym)
a = Nod(OAS, a, value)
a = typecheck(a, Etop)
index := r.Left
value := r.Right
- var a *Node
-
switch value.Op {
case OARRAYLIT:
if value.Type.Bound < 0 {
if pass == 1 && ctxt != 0 {
- a = Nod(OINDEX, var_, index)
+ a := Nod(OINDEX, var_, index)
slicelit(ctxt, value, a, init)
} else if pass == 2 && ctxt == 0 {
- a = Nod(OINDEX, var_, index)
+ a := Nod(OINDEX, var_, index)
slicelit(ctxt, value, a, init)
} else if pass == 3 {
break
continue
}
- a = Nod(OINDEX, var_, index)
+ a := Nod(OINDEX, var_, index)
arraylit(ctxt, pass, value, a, init)
continue
case OSTRUCTLIT:
- a = Nod(OINDEX, var_, index)
+ a := Nod(OINDEX, var_, index)
structlit(ctxt, pass, value, a, init)
continue
}
// build list of var[index] = value
setlineno(value)
- a = Nod(OINDEX, var_, index)
+ a := Nod(OINDEX, var_, index)
a = Nod(OAS, a, value)
a = typecheck(a, Etop)