]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/cmd/compile/internal/gc/lex.go
[dev.ssa] Merge remote-tracking branch 'origin/master' into ssamerge
[gostls13.git] / src / cmd / compile / internal / gc / lex.go
index 62cdded120b560dc7b3898241ddbdcb7cbcd3efc..49e5d6561accc2fd4833f0fab0c28f49bdf85566 100644 (file)
@@ -7,6 +7,7 @@
 package gc
 
 import (
+       "cmd/compile/internal/ssa"
        "cmd/internal/obj"
        "flag"
        "fmt"
@@ -286,6 +287,23 @@ func Main() {
                                        }
                                }
                        }
+                       // special case for ssa for now
+                       if strings.HasPrefix(name, "ssa/") {
+                               // expect form ssa/phase/flag
+                               // e.g. -d=ssa/generic_cse/time
+                               // _ in phase name also matches space
+                               phase := name[4:]
+                               flag := "debug" // default flag is debug
+                               if i := strings.Index(phase, "/"); i >= 0 {
+                                       flag = phase[i+1:]
+                                       phase = phase[:i]
+                               }
+                               err := ssa.PhaseOption(phase, flag, val)
+                               if err != "" {
+                                       log.Fatalf(err)
+                               }
+                               continue Split
+                       }
                        log.Fatalf("unknown debug key -d %s\n", name)
                }
        }