diff options
| author | Josh Bleecher Snyder <josharian@gmail.com> | 2015-07-17 16:47:43 +0000 |
|---|---|---|
| committer | Josh Bleecher Snyder <josharian@gmail.com> | 2015-07-21 13:38:53 +0000 |
| commit | 983bc8d1a2d7be649f921a69b2d8e72a5ec032f4 (patch) | |
| tree | eef700f07bc6d2aa12d1875577f785ad54de92ef /src | |
| parent | 67fdb0de8656f7c7b76afe8eff614da7bc13b221 (diff) | |
| download | go-983bc8d1a2d7be649f921a69b2d8e72a5ec032f4.tar.xz | |
Revert "[dev.ssa] cmd/compile: don't Compile if Unimplemented"
This reverts commit 766bcc92a5b693f336deffc347be52fe68af884a.
Change-Id: I55413c1aa80d82c856a3ea89b4ffccf80fb58013
Reviewed-on: https://go-review.googlesource.com/12361
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/compile/internal/gc/ssa.go | 9 | ||||
| -rw-r--r-- | src/cmd/compile/internal/ssa/print.go | 13 |
2 files changed, 7 insertions, 15 deletions
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index 889b9d8cf8..e133076bce 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -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.) } diff --git a/src/cmd/compile/internal/ssa/print.go b/src/cmd/compile/internal/ssa/print.go index e46590224d..c8b90c6f93 100644 --- a/src/cmd/compile/internal/ssa/print.go +++ b/src/cmd/compile/internal/ssa/print.go @@ -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 } } |
