Use O2 on stage1 for faster overall build times with make.
authorklebinger.andreas@gmx.at <klebinger.andreas@gmx.at>
Thu, 24 Jan 2019 19:20:39 +0000 (20:20 +0100)
committerBen Gamari <ben@smart-cactus.org>
Thu, 31 Jan 2019 17:46:51 +0000 (12:46 -0500)
Build times when using the quick flavour:

stage1 opt | time (wall) | time (user)
     -O1   |        13m  |        53m
     -O2   |        13m  |        51m
So even when we compile stage2 with -O0 (quick)
using -O2 on stage1 is already faster.

The difference is even bigger when freezing
stage1 and doing multiple builds or compiling
stage2 with optimizations.

mk/flavours/bench-cross-ncg.mk
mk/flavours/bench.mk
mk/flavours/devel2.mk
mk/flavours/perf.mk
mk/flavours/prof.mk
mk/flavours/quick-cross-ncg.mk
mk/flavours/quick.mk
mk/flavours/quickest.mk
mk/flavours/validate.mk

index 6b686af..0d42938 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O0
 GhcLibHcOpts       = -O2
 BUILD_PROF_LIBS    = NO
index 0a7cf80..73015aa 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O0
 GhcLibHcOpts       = -O2
 BUILD_PROF_LIBS    = NO
index 34808a3..dc8be47 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O0 -DDEBUG
 GhcLibHcOpts       = -O -dcore-lint
 BUILD_PROF_LIBS    = NO
index 06fcc24..ec314bd 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O2
 GhcLibHcOpts       = -O2
 BUILD_PROF_LIBS    = YES
index 67f89e6..c7e0e28 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O0 -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O
 GhcLibHcOpts       = -O
 BUILD_PROF_LIBS    = YES
index 97352cc..5ca88c0 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O0 -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O0
 GhcLibHcOpts       = -O
 BUILD_PROF_LIBS    = NO
index 735de6a..30322cd 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O0 -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O0
 GhcLibHcOpts       = -O
 BUILD_PROF_LIBS    = NO
index 61e091c..5204acb 100644 (file)
@@ -1,5 +1,5 @@
 SRC_HC_OPTS        = -O0 -H64m
-GhcStage1HcOpts    = -O
+GhcStage1HcOpts    = -O2
 GhcStage2HcOpts    = -O0
 GhcLibHcOpts       = -O0
 BUILD_PROF_LIBS    = NO
index 2ff7c20..a1470cd 100644 (file)
@@ -1,6 +1,6 @@
 SRC_HC_OPTS        = -O0 -H64m
 SRC_HC_OPTS_STAGE1 = -fllvm-fill-undef-with-garbage   # See Trac 11487
-GhcStage1HcOpts    = -O -DDEBUG
+GhcStage1HcOpts    = -O2 -DDEBUG
 GhcStage2HcOpts    = -O -dcore-lint -dno-debug-output
 GhcLibHcOpts       = -O -dcore-lint -dno-debug-output
 BUILD_PROF_LIBS    = NO