LLVM: Decrease max opt level used under OSX to avoid bug
authorDavid Terei <davidterei@gmail.com>
Tue, 20 Jul 2010 16:09:38 +0000 (16:09 +0000)
committerDavid Terei <davidterei@gmail.com>
Tue, 20 Jul 2010 16:09:38 +0000 (16:09 +0000)
Currently, many programs compiled with GHC at -O2 and LLVM
set to -O3 will segfault (only under OSX). Until this issue
is fixed I have simply 'solved' the segfault by lowering
the max opt level for LLVM used to -O2 under OSX.

All these recent changes to OSX should mean its finally as
stable as Linux and Windows.

compiler/main/DriverPipeline.hs

index 046e21c..f56b122 100644 (file)
@@ -1286,7 +1286,11 @@ runPhase LlvmLlc _stop hsc_env _basename _suff input_fn get_output_fn maybe_loc
 
     return (nphase, dflags, maybe_loc, output_fn)
   where
+#if darwin_TARGET_OS
+        llvmOpts = ["-O1", "-O2", "-O2"]
+#else
         llvmOpts = ["-O1", "-O2", "-O3"]
+#endif
 
 
 -----------------------------------------------------------------------------