mirror of
https://github.com/golang/go
synced 2024-10-05 20:21:21 -06:00
Revert "[dev.ssa] cmd/compile: don't Compile if Unimplemented"
This reverts commit 766bcc92a5
.
Change-Id: I55413c1aa80d82c856a3ea89b4ffccf80fb58013
Reviewed-on: https://go-review.googlesource.com/12361
Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
67fdb0de86
commit
983bc8d1a2
@ -108,18 +108,17 @@ func buildssa(fn *Node) (ssafn *ssa.Func, usessa bool) {
|
||||
// Link up variable uses to variable definitions
|
||||
s.linkForwardReferences()
|
||||
|
||||
// Main call to ssa package to compile function
|
||||
ssa.Compile(s.f)
|
||||
|
||||
// Calculate stats about what percentage of functions SSA handles.
|
||||
if false {
|
||||
defer func() { fmt.Printf("SSA implemented: %t\n", !e.unimplemented) }()
|
||||
fmt.Printf("SSA implemented: %t\n", !e.unimplemented)
|
||||
}
|
||||
|
||||
if e.unimplemented {
|
||||
return nil, false
|
||||
}
|
||||
|
||||
// Main call to ssa package to compile function.
|
||||
ssa.Compile(s.f)
|
||||
|
||||
return s.f, usessa // TODO: return s.f, true once runtime support is in (gc maps, write barriers, etc.)
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,6 @@ import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
)
|
||||
|
||||
func printFunc(f *Func) {
|
||||
@ -69,22 +68,16 @@ func fprintFunc(w io.Writer, f *Func) {
|
||||
n++
|
||||
}
|
||||
if m == n {
|
||||
fmt.Fprintln(os.Stderr, "dependency cycle in block", b)
|
||||
fmt.Fprintln(w, "dependency cycle!")
|
||||
for _, v := range b.Values {
|
||||
if printed[v.ID] {
|
||||
continue
|
||||
}
|
||||
fmt.Fprintf(os.Stderr, " %v\n", v.LongString())
|
||||
fmt.Fprint(w, " ")
|
||||
fmt.Fprintln(w, v.LongString())
|
||||
printed[v.ID] = true
|
||||
n++
|
||||
}
|
||||
// Things are going to go very badly from here;
|
||||
// one of the optimization passes is likely to hang.
|
||||
// Frustratingly, panics here get swallowed by fmt,
|
||||
// and just we end up here again if we call Fatalf.
|
||||
// Use our last resort.
|
||||
os.Exit(1)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user