summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/default_post.prf
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-02-14 13:57:35 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-06 12:21:14 +0100
commitcd652500af18671e0d64b30d51c79a0c45b973a3 (patch)
tree42be73d316d9bfa81569e73993e31cacf978be33 /mkspecs/features/default_post.prf
parent2df1a6c4c9c7bed8dceb23a6b53014fb42014ded (diff)
Add optimize_full qmake config option
This patch adds a new config option to qmake to enable full optimization where it makes sense. This currently is supported on all gcc like compilers by exchanging -O2 for -O3. In qtbase it is used to enable full optimizations on qtcore and qtgui and in a later patch can be used to replace similar existing logic in QtWebKit's WTF and JavaScriptCore modules. This fixes a performance regression from gcc 4.7 to 4.8 in the software renderer. An aliasing error in qregion.cpp which was exposed by more aggresive optimization has been solved as well. Change-Id: Ic2c6c41b79cb3846212b40e7bcc11ff492beb27f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'mkspecs/features/default_post.prf')
-rw-r--r--mkspecs/features/default_post.prf9
1 files changed, 9 insertions, 0 deletions
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index dd2923f9be..938670b2a8 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -38,6 +38,15 @@ force_debug_info {
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
+optimize_full {
+ !isEmpty(QMAKE_CFLAGS_OPTIMIZE):!isEmpty(QMAKE_CFLAGS_OPTIMIZE_FULL) {
+ QMAKE_CFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE
+ QMAKE_CXXFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE
+ QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_FULL
+ QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_FULL
+ }
+}
+
debug {
QMAKE_CFLAGS += $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG