[dev.ssa] cmd/compile: implement reserved registers

BP for framepointer experiment
R15 for dynamic linking

Change-Id: I28e48be461d04a4d5c9b013f48fce5c0e58d6a08
Reviewed-on: https://go-review.googlesource.com/16231
Run-TryBot: Todd Neal <todd@tneal.org>
Reviewed-by: Todd Neal <todd@tneal.org>
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index 918d71c..64391b0 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -41,7 +41,7 @@
 
 	var e ssaExport
 	e.log = usessa
-	s.config = ssa.NewConfig(Thearch.Thestring, &e)
+	s.config = ssa.NewConfig(Thearch.Thestring, &e, Ctxt)
 	s.f = s.config.NewFunc()
 	s.f.Name = name
 	s.exitCode = fn.Func.Exit
@@ -239,7 +239,7 @@
 	// symbols for PEXTERN, PAUTO and PPARAMOUT variables so they can be reused.
 	varsyms map[*Node]interface{}
 
-	// starting values.  Memory, frame pointer, and stack pointer
+	// starting values.  Memory, stack pointer, and globals pointer
 	startmem *ssa.Value
 	sp       *ssa.Value
 	sb       *ssa.Value
@@ -4367,7 +4367,7 @@
 	return n
 }
 
-func (e ssaExport) CanSSA(t ssa.Type) bool {
+func (e *ssaExport) CanSSA(t ssa.Type) bool {
 	return canSSAType(t.(*Type))
 }