package gc
import (
+ "cmd/compile/internal/ssa"
"cmd/internal/obj"
"crypto/md5"
"fmt"
var nam *Node
var gcargs *Sym
var gclocals *Sym
+ var ssafn *ssa.Func
+ var usessa bool
if fn.Nbody == nil {
if pure_go != 0 || strings.HasPrefix(fn.Func.Nname.Sym.Name, "init.") {
Yyerror("missing function body for %q", fn.Func.Nname.Sym.Name)
goto ret
}
+ // Build an SSA backend function.
+ // TODO: get rid of usessa.
+ ssafn, usessa = buildssa(Curfn)
+
continpc = nil
breakpc = nil
}
}
+ if ssafn != nil && usessa {
+ genssa(ssafn, ptxt, gcargs, gclocals)
+ return
+ }
Genlist(Curfn.Func.Enter)
Genlist(Curfn.Nbody)
gclean()