]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: don't catch panics during rewrite
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 4 Apr 2017 22:29:31 +0000 (15:29 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 4 Apr 2017 23:37:17 +0000 (23:37 +0000)
This is a holdover from the days when we did not
have full SSA coverage and compiled things optimistically,
and catching the panic obscures useful information.

Change-Id: I196790cb6b97419d92b318a2dfa7f1e1097cefb7
Reviewed-on: https://go-review.googlesource.com/39534
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/rewrite.go

index e74370c8ccc34cc202b1cf96efaaa1d2de4a27f4..1e1379223d36c3a7d747662f63dfb3a332bf4c06 100644 (file)
@@ -16,17 +16,6 @@ import (
 
 func applyRewrite(f *Func, rb blockRewriter, rv valueRewriter) {
        // repeat rewrites until we find no more rewrites
-       var curb *Block
-       var curv *Value
-       defer func() {
-               if curb != nil {
-                       curb.Fatalf("panic during rewrite of block %s\n", curb.LongString())
-               }
-               if curv != nil {
-                       curv.Fatalf("panic during rewrite of value %s\n", curv.LongString())
-                       // TODO(khr): print source location also
-               }
-       }()
        for {
                change := false
                for _, b := range f.Blocks {
@@ -35,11 +24,9 @@ func applyRewrite(f *Func, rb blockRewriter, rv valueRewriter) {
                                        b.SetControl(b.Control.Args[0])
                                }
                        }
-                       curb = b
                        if rb(b) {
                                change = true
                        }
-                       curb = nil
                        for _, v := range b.Values {
                                change = phielimValue(v) || change
 
@@ -64,11 +51,9 @@ func applyRewrite(f *Func, rb blockRewriter, rv valueRewriter) {
                                }
 
                                // apply rewrite function
-                               curv = v
                                if rv(v) {
                                        change = true
                                }
-                               curv = nil
                        }
                }
                if !change {