summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorsven.panne@aedion.de <unknown>2006-08-10 14:45:05 +0000
committersven.panne@aedion.de <unknown>2006-08-10 14:45:05 +0000
commit01e9deecea1f388a771a312e602a9c45898cf2af (patch)
tree98e8f55924e5bfd44a6177272166ca83f0884bfb /rts
parent33406b8c7668247e52cb6260297640b9df4e9e1b (diff)
downloadhaskell-01e9deecea1f388a771a312e602a9c45898cf2af.tar.gz
Tweak GCC's inlining parameters to get thread_obj inlined
Diffstat (limited to 'rts')
-rw-r--r--rts/Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/rts/Makefile b/rts/Makefile
index 65c2c22cdf..2522a0b308 100644
--- a/rts/Makefile
+++ b/rts/Makefile
@@ -317,6 +317,9 @@ endif
# -O3 helps unroll some loops (especially in copy() with a constant argument).
GC_HC_OPTS += -optc-O3
+# Without this, thread_obj will not be inlined (at least on x86 with GCC 4.1.0)
+GCCompact_HC_OPTS += -optc-finline-limit=2500
+
# -fno-strict-aliasing is required for the runtime, because we often
# use a variety of types to represent closure pointers (StgPtr,
# StgClosure, StgMVar, etc.), and without -fno-strict-aliasing gcc is