From 106fcfb0003ae4555db0495904864f8921c49202 Mon Sep 17 00:00:00 2001 From: simonmar Date: Thu, 28 Jul 2005 13:12:02 +0000 Subject: [PATCH] [project @ 2005-07-28 13:12:02 by simonmar] comments about -fno-strict-aliasing --- ghc/rts/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ghc/rts/Makefile b/ghc/rts/Makefile index 0588a5b..0d09e79 100644 --- a/ghc/rts/Makefile +++ b/ghc/rts/Makefile @@ -326,6 +326,10 @@ ifeq "$(Windows)" "YES" PrimOps_HC_OPTS += -\#include '' -\#include win32/AsyncIO.h endif +# -O3 helps unroll some loops (especially in copy() with a constant argument). +# -fno-strict-aliasing is a hack because we often mix StgPtr and StgClosure pointers +# to the same object, and gcc will assume these don't alias. eg. it happens in +# copy() with gcc 3.4.3, the upd_evacee() assigments get moved before the object copy. GC_HC_OPTS += -optc-O3 -optc-fno-strict-aliasing # Cmm must be compiled via-C for now, because the NCG can't handle loops -- 1.7.10.4