diff --git a/.travis.yml b/.travis.yml
index 201816e..f616ff8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,6 +2,7 @@
 
 go:
     - 1.8.3
+    - 1.9rc1
 
 cache:
     directories:
@@ -15,6 +16,7 @@
     - source .travis.fix-fork.sh
 
 script:
+    - export GOROOT=$(go env GOROOT)
     - ./.travis.gofmt.sh
     - go test ./...
     - ./tests/test.sh
diff --git a/blueprint_impl.bash b/blueprint_impl.bash
index 0c5d4b9..0570f94 100644
--- a/blueprint_impl.bash
+++ b/blueprint_impl.bash
@@ -3,6 +3,8 @@
   exit 1
 fi
 
+export GOROOT
+
 source "${BLUEPRINTDIR}/microfactory/microfactory.bash"
 
 BUILDDIR="${BUILDDIR}/.minibootstrap" build_go minibp github.com/google/blueprint/bootstrap/minibp
diff --git a/bootstrap/bootstrap.go b/bootstrap/bootstrap.go
index 365d0ee..25e5d39 100644
--- a/bootstrap/bootstrap.go
+++ b/bootstrap/bootstrap.go
@@ -16,6 +16,7 @@
 
 import (
 	"fmt"
+	"go/build"
 	"path/filepath"
 	"runtime"
 	"strings"
@@ -34,10 +35,20 @@
 	goTestRunnerCmd = pctx.StaticVariable("goTestRunnerCmd", filepath.Join(bootstrapDir, "bin", "gotestrunner"))
 	pluginGenSrcCmd = pctx.StaticVariable("pluginGenSrcCmd", filepath.Join(bootstrapDir, "bin", "loadplugins"))
 
+	parallelCompile = pctx.StaticVariable("parallelCompile", func() string {
+		// Parallel compilation is only supported on >= go1.9
+		for _, r := range build.Default.ReleaseTags {
+			if r == "go1.9" {
+				return fmt.Sprintf("-c %d", runtime.NumCPU())
+			}
+		}
+		return ""
+	}())
+
 	compile = pctx.StaticRule("compile",
 		blueprint.RuleParams{
-			Command: "GOROOT='$goRoot' $compileCmd -o $out -p $pkgPath -complete " +
-				"$incFlags -pack $in",
+			Command: "GOROOT='$goRoot' $compileCmd $parallelCompile -o $out " +
+				"-p $pkgPath -complete $incFlags -pack $in",
 			CommandDeps: []string{"$compileCmd"},
 			Description: "compile $out",
 		},
diff --git a/gotestmain/gotestmain.go b/gotestmain/gotestmain.go
index 9bf78b5..8f914c0 100644
--- a/gotestmain/gotestmain.go
+++ b/gotestmain/gotestmain.go
@@ -156,6 +156,10 @@
     panic("shouldn't get here")
 }
 
+func (matchString) ImportPath() string {
+	return "{{.Package}}"
+}
+
 func main() {
 {{if .MainStartTakesInterface}}
 	m := testing.MainStart(matchString{}, t, nil, nil)
diff --git a/microfactory/microfactory.go b/microfactory/microfactory.go
index 19f0a0c..e8c6f22 100644
--- a/microfactory/microfactory.go
+++ b/microfactory/microfactory.go
@@ -69,6 +69,7 @@
 
 	goToolDir = filepath.Join(runtime.GOROOT(), "pkg", "tool", runtime.GOOS+"_"+runtime.GOARCH)
 	goVersion = findGoVersion()
+	isGo18    = strings.Contains(goVersion, "go1.8")
 )
 
 func findGoVersion() string {
@@ -276,6 +277,9 @@
 		"-o", p.output,
 		"-p", p.Name,
 		"-complete", "-pack", "-nolocalimports")
+	if !isGo18 {
+		cmd.Args = append(cmd.Args, "-c", fmt.Sprintf("%d", runtime.NumCPU()))
+	}
 	if race {
 		cmd.Args = append(cmd.Args, "-race")
 		fmt.Fprintln(hash, "-race")
