[dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch

Semi-regular merge from tip to dev.ssa.

Two fixes:
1) Mark selectgo as not returning.  This caused problems
   because there are no VARKILL ops on the selectgo path,
   causing things to be marked live that shouldn't be.
2) Tell the amd64 assembler that addressing modes like
   name(SP)(AX*4) are ok.

Change-Id: I9ca81c76391b1a65cc47edc8610c70ff1a621913
This commit is contained in:
Keith Randall 2016-02-09 12:28:02 -08:00
commit eb0cff9a76
206 changed files with 14731 additions and 1404 deletions

View file

@ -604,12 +604,13 @@ type Link struct {
Autosize int32
Armsize int32
Pc int64
Diag func(string, ...interface{})
DiagFunc func(string, ...interface{})
Mode int
Cursym *LSym
Version int
Textp *LSym
Etextp *LSym
Errors int
// state for writing objects
Text *LSym
@ -618,6 +619,11 @@ type Link struct {
Edata *LSym
}
func (ctxt *Link) Diag(format string, args ...interface{}) {
ctxt.Errors++
ctxt.DiagFunc(format, args...)
}
// The smallest possible offset from the hardware stack pointer to a local
// variable on the stack. Architectures that use a link register save its value
// on the stack in the function prologue and so always have a pointer between