func Prog(as obj.As) *obj.Prog {
var p *obj.Prog
- p = Pc
- Pc = Ctxt.NewProg()
- Clearp(Pc)
- p.Link = Pc
+ p = pc
+ pc = Ctxt.NewProg()
+ Clearp(pc)
+ p.Link = pc
if lineno == 0 && Debug['K'] != 0 {
Warn("prog: line 0")
func newplist() *obj.Plist {
pl := obj.Linknewplist(Ctxt)
- Pc = Ctxt.NewProg()
- Clearp(Pc)
- pl.Firstpc = Pc
+ pc = Ctxt.NewProg()
+ Clearp(pc)
+ pl.Firstpc = pc
return pl
}
// Pc returns the current Prog.
func (s *SSAGenState) Pc() *obj.Prog {
- return Pc
+ return pc
}
// SetLineno sets the current source line number.
valueProgs = make(map[*obj.Prog]*ssa.Value, f.NumValues())
blockProgs = make(map[*obj.Prog]*ssa.Block, f.NumBlocks())
f.Logf("genssa %s\n", f.Name)
- blockProgs[Pc] = f.Blocks[0]
+ blockProgs[pc] = f.Blocks[0]
}
if Thearch.Use387 {
// Emit basic blocks
for i, b := range f.Blocks {
- s.bstart[b.ID] = Pc
+ s.bstart[b.ID] = pc
// Emit values in block
Thearch.SSAMarkMoves(&s, b)
for _, v := range b.Values {
- x := Pc
+ x := pc
Thearch.SSAGenValue(&s, v)
if logProgs {
- for ; x != Pc; x = x.Link {
+ for ; x != pc; x = x.Link {
valueProgs[x] = v
}
}
// line numbers for otherwise empty blocks.
next = f.Blocks[i+1]
}
- x := Pc
+ x := pc
Thearch.SSAGenBlock(&s, b, next)
if logProgs {
- for ; x != Pc; x = x.Link {
+ for ; x != pc; x = x.Link {
blockProgs[x] = b
}
}