Created
October 3, 2011 23:59
-
-
Save thoughtpolice/1260578 to your computer and use it in GitHub Desktop.
GHC + llvm + acovea
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE ParallelArrays #-} | |
{-# OPTIONS_GHC -fvectorise #-} | |
module DotP (dotp_wrapper) where | |
import qualified Prelude | |
import Data.Array.Parallel | |
import Data.Array.Parallel.Prelude.Int | |
dotp_double :: [:Int:] -> [:Int:] -> Int | |
dotp_double xs ys = sumP [:x * y | x <- xs | y <- ys:] | |
dotp_wrapper :: PArray Int -> PArray Int -> Int | |
{-# NOINLINE dotp_wrapper #-} | |
dotp_wrapper v w = dotp_double (fromPArrayP v) (fromPArrayP w) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Main (main) where | |
import Control.Exception (evaluate) | |
import Data.Array.Parallel.PArray as P (fromList) | |
import Data.Time.Clock.POSIX (getPOSIXTime) | |
import Text.Printf (printf) | |
import DotP (dotp_wrapper) -- import vectorised code | |
-- Stolen from Criterion.Measurment | |
time_ :: IO a -> IO Double | |
time_ act = do | |
start <- getTime | |
_ <- act | |
end <- getTime | |
return $! end - start | |
getTime :: IO Double | |
getTime = realToFrac `fmap` getPOSIXTime | |
-- Main benchmark | |
main :: IO () | |
main = do let v = P.fromList [1..1000000] | |
w = P.fromList [100000..2000000] | |
let result = dotp_wrapper v w | |
d <- time_ $ evaluate result | |
putStrLn (secs d) | |
where | |
secs :: Double -> String | |
secs k | k < 0 = '-' : secs (-k) | |
| otherwise = printf "%.4f" k |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<acovea_config> | |
<acovea version="5.1" /> | |
<description value="GHC HEAD (v7.3.x) w/ LLVM 2.9" version="1.0.0" /> | |
<get_version value="/home/a/code/ghc/inplace/bin/ghc-stage2 --numeric-version" /> | |
<quoted_options value="false" /> | |
<prime command="/home/a/code/ghc/inplace/bin/ghc-stage2" | |
flags="-pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm ACOVEA_OPTIONS -o ACOVEA_OUTPUT ACOVEA_INPUT" /> | |
<baseline description="GHC NCG -O2" | |
command="/home/a/code/ghc/inplace/bin/ghc-stage2" | |
flags="-pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields ACOVEA_OPTIONS -o ACOVEA_OUTPUT ACOVEA_INPUT" /> | |
<baseline description="GHC LLVM -O2" | |
command="/home/a/code/ghc/inplace/bin/ghc-stage2" | |
flags="-pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm ACOVEA_OPTIONS -o ACOVEA_OUTPUT ACOVEA_INPUT" /> | |
<flags> | |
<flag type="simple" value="-optlo-mem2reg" /> <!-- We need mem2reg for reasonable code, period --> | |
<!-- <flag type="simple" value="-optlc-regalloc=greedy" /> --> | |
<!-- The below are flags pruned from opt-2.9 at -O3, via 'opt -O3 -debug-pass=Structure' --> | |
<flag type="simple" value="-optlo-no-aa" /> | |
<flag type="simple" value="-optlo-tbaa" /> | |
<flag type="simple" value="-optlo-basicaa" /> | |
<flag type="simple" value="-optlo-globalopt" /> | |
<flag type="simple" value="-optlo-ipsccp" /> | |
<flag type="simple" value="-optlo-deadargelim" /> | |
<flag type="simple" value="-optlo-instcombine" /> | |
<flag type="simple" value="-optlo-simplifycfg" /> | |
<flag type="simple" value="-optlo-basiccg" /> | |
<flag type="simple" value="-optlo-prune-eh" /> | |
<flag type="simple" value="-optlo-inline" /> | |
<flag type="simple" value="-optlo-functionattrs" /> | |
<flag type="simple" value="-optlo-argpromotion" /> | |
<flag type="simple" value="-optlo-scalarrepl-ssa" /> | |
<flag type="simple" value="-optlo-domtree" /> | |
<flag type="simple" value="-optlo-early-cse" /> | |
<flag type="simple" value="-optlo-simplify-libcalls" /> | |
<flag type="simple" value="-optlo-lazy-value-info" /> | |
<flag type="simple" value="-optlo-jump-threading" /> | |
<flag type="simple" value="-optlo-correlated-propagation" /> | |
<flag type="simple" value="-optlo-simplifycfg" /> | |
<flag type="simple" value="-optlo-instcombine" /> | |
<flag type="simple" value="-optlo-tailcallelim" /> | |
<flag type="simple" value="-optlo-simplifycfg" /> | |
<flag type="simple" value="-optlo-reassociate" /> | |
<flag type="simple" value="-optlo-domtree" /> | |
<flag type="simple" value="-optlo-loops" /> | |
<flag type="simple" value="-optlo-loop-simplify" /> | |
<flag type="simple" value="-optlo-lcssa" /> | |
<flag type="simple" value="-optlo-loop-rotate" /> | |
<flag type="simple" value="-optlo-licm" /> | |
<flag type="simple" value="-optlo-lcssa" /> | |
<flag type="simple" value="-optlo-loop-unswitch" /> | |
<flag type="simple" value="-optlo-instcombine" /> | |
<flag type="simple" value="-optlo-scalar-evolution" /> | |
<flag type="simple" value="-optlo-loop-simplify" /> | |
<flag type="simple" value="-optlo-lcssa" /> | |
<flag type="simple" value="-optlo-iv-users" /> | |
<flag type="simple" value="-optlo-indvars" /> | |
<flag type="simple" value="-optlo-loop-idiom" /> | |
<flag type="simple" value="-optlo-loop-deletion" /> | |
<flag type="simple" value="-optlo-loop-unroll" /> | |
<flag type="simple" value="-optlo-memdep" /> | |
<flag type="simple" value="-optlo-gvn" /> | |
<flag type="simple" value="-optlo-memdep" /> | |
<flag type="simple" value="-optlo-memcpyopt" /> | |
<flag type="simple" value="-optlo-sccp" /> | |
<flag type="simple" value="-optlo-instcombine" /> | |
<flag type="simple" value="-optlo-lazy-value-info" /> | |
<flag type="simple" value="-optlo-jump-threading" /> | |
<flag type="simple" value="-optlo-correlated-propagation" /> | |
<flag type="simple" value="-optlo-domtree" /> | |
<flag type="simple" value="-optlo-memdep" /> | |
<flag type="simple" value="-optlo-dse" /> | |
<flag type="simple" value="-optlo-adce" /> | |
<flag type="simple" value="-optlo-simplifycfg" /> | |
<flag type="simple" value="-optlo-instcombine" /> | |
<flag type="simple" value="-optlo-strip-dead-prototypes" /> | |
<flag type="simple" value="-optlo-globaldce" /> | |
<flag type="simple" value="-optlo-constmerge" /> | |
<flag type="simple" value="-optlo-preverify" /> | |
<flag type="simple" value="-optlo-domtree" /> | |
<!-- | |
<flag type="simple" value="-optlo-O1" /> | |
<flag type="simple" value="-optlo-O2" /> | |
<flag type="simple" value="-optlo-O3" /> | |
<flag type="simple" value="-optlo-adce" /> | |
<flag type="simple" value="-optlo-basicaa" /> | |
<flag type="simple" value="-optlo-basiccg" /> | |
<flag type="simple" value="-optlo-block-freq" /> | |
<flag type="simple" value="-optlo-codegenprepare" /> | |
<flag type="simple" value="-optlo-constmerge" /> | |
<flag type="simple" value="-optlo-constprop" /> | |
<flag type="simple" value="-optlo-correlated-propagation" /> | |
<flag type="simple" value="-optlo-dce" /> | |
<flag type="simple" value="-optlo-deadargelim" /> | |
<flag type="simple" value="-optlo-die" /> | |
<flag type="simple" value="-optlo-domfrontier" /> | |
<flag type="simple" value="-optlo-domtree" /> | |
<flag type="simple" value="-optlo-dse" /> | |
<flag type="simple" value="-optlo-early-cse" /> | |
<flag type="simple" value="-optlo-globaldce" /> | |
<flag type="simple" value="-optlo-globalopt" /> | |
<flag type="simple" value="-optlo-gvn" /> | |
<flag type="simple" value="-optlo-indvars" /> | |
<flag type="simple" value="-optlo-inline" /> | |
<flag type="simple" value="-optlo-instcombine" /> | |
<flag type="simple" value="-optlo-instcount" /> | |
<flag type="simple" value="-optlo-instsimplify" /> | |
<flag type="simple" value="-optlo-internalize" /> | |
<flag type="simple" value="-optlo-intervals" /> | |
<flag type="simple" value="-optlo-ipconstprop" /> | |
<flag type="simple" value="-optlo-ipsccp" /> | |
<flag type="simple" value="-optlo-lcssa" /> | |
<flag type="simple" value="-optlo-lda" /> | |
<flag type="simple" value="-optlo-licm" /> | |
<flag type="simple" value="-optlo-loop-deletion" /> | |
<flag type="simple" value="-optlo-loop-extract" /> | |
<flag type="simple" value="-optlo-loop-extract-single" /> | |
<flag type="simple" value="-optlo-loop-idiom" /> | |
<flag type="simple" value="-optlo-loop-instsimplify" /> | |
<flag type="simple" value="-optlo-loop-reduce" /> | |
<flag type="simple" value="-optlo-loop-rotate" /> | |
<flag type="simple" value="-optlo-loop-simplify" /> | |
<flag type="simple" value="-optlo-loop-unroll" /> | |
<flag type="simple" value="-optlo-loop-unswitch" /> | |
<loop type="simple" value="-optlo-loops" /> | |
<flag type="simple" value="-optlo-mem2reg" /> | |
<flag type="simple" value="-optlo-memcpyopt" /> | |
<flag type="simple" value="-optlo-memdep" /> | |
<flag type="simple" value="-optlo-mergefunc" /> | |
<flag type="simple" value="-optlo-mergereturn" /> | |
<flag type="simple" value="-optlo-partial-inliner" /> | |
<flag type="simple" value="-optlo-postdomtree" /> | |
<flag type="simple" value="-optlo-reassociate" /> | |
<flag type="simple" value="-optlo-regions" /> | |
<flag type="simple" value="-optlo-scalar-evolution" /> | |
<flag type="simple" value="-optlo-scalarrepl" /> | |
<flag type="simple" value="-optlo-scalarrepl-ssa" /> | |
<flag type="simple" value="-optlo-sccp" /> | |
<flag type="simple" value="-optlo-scev-aa" /> | |
<flag type="simple" value="-optlo-simplifycfg" /> | |
<flag type="simple" value="-optlo-sink" /> | |
<flag type="simple" value="-optlo-tailcallelim" /> | |
<flag type="simple" value="-optlo-tbaa" /> | |
--> | |
</flags> | |
</acovea_config> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14:58:44 a@link ghc-acovea time make full | |
runacovea -config ghc73_llvm.acovea -input DotPMain.hs | |
Acovea 5.1.1 (compiled Jul 24 2010 14:48:45) | |
Evolving Better Software | |
Invented by Scott Robert Ladd (scott.ladd@coyotegulch.com) | |
Coyote Gulch Productions (http://www.coyotegulch.com) | |
test application: DotPMain.hs | |
test system: link | |
config description: GHC HEAD (v7.3.x) w/ LLVM 2.9 (version 1.0.0) | |
test configuration: ghc73_llvm.acovea | |
acovea version: 5.1.1 | |
evocosm version: 3.1.0 | |
application version: /home/a/code/ghc/inplace/bin/ghc-stage2 7.3.20111002 | |
# of populations: 5 | |
population size: 40 | |
survival rate: 10% (4) | |
migration rate: 5% (2) | |
mutation rate: 1% | |
crossover rate: 100% | |
fitness scaling: sigma | |
generations to run: 20 | |
random number seed: 1819037503 | |
testing mode: speed | |
test start time: 2011 Oct 03 14:59:46 | |
------------------------------------------------------------ | |
generation 1 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 1 complete, average fitness: 0.535968 | |
------------------------------------------------------------ | |
generation 2 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 2 complete, average fitness: 0.532169 | |
------------------------------------------------------------ | |
generation 3 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 3 complete, average fitness: 0.529463 | |
------------------------------------------------------------ | |
generation 4 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: .....................................alignment argument of memory intrinsics must be a constant int | |
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002ba96f2aac60 | |
3 libc.so.6 0x00002ba96fe93d05 gsignal + 53 | |
4 libc.so.6 0x00002ba96fe97ab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002ba96fe7eeff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc2170_0/ghc2170_0.ll -o /tmp/ghc2170_0/ghc2170_0.bc -mem2reg -tbaa -deadargelim -simplifycfg -basiccg -inline -scalarrepl-ssa -domtree -lazy-value-info -tailcallelim -simplifycfg -reassociate -domtree -loop-simplify -loop-rotate -lcssa -scalar-evolution -indvars -loop-idiom -loop-deletion -memdep -memdep -lazy-value-info -domtree -memdep -globaldce -constmerge -domtree | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc2170_0/ghc2170_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc2170_0/ghc2170_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-tbaa -optlo-deadargelim -optlo-simplifycfg -optlo-basiccg -optlo-inline -optlo-scalarrepl-ssa -optlo-domtree -optlo-lazy-value-info -optlo-tailcallelim -optlo-simplifycfg -optlo-reassociate -optlo-domtree -optlo-loop-simplify -optlo-loop-rotate -optlo-lcssa -optlo-scalar-evolution -optlo-indvars -optlo-loop-idiom -optlo-loop-deletion -optlo-memdep -optlo-memdep -optlo-lazy-value-info -optlo-domtree -optlo-memdep -optlo-globaldce -optlo-constmerge -optlo-domtree -o /tmp/ACOVEAFA404559 DotPMain.hs | |
... | |
population 5: ........................................ | |
generation 4 complete, average fitness: 0.531002 | |
------------------------------------------------------------ | |
generation 5 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ...................................alignment argument of memory intrinsics must be a constant int | |
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002b4290350c60 | |
3 libc.so.6 0x00002b4290f39d05 gsignal + 53 | |
4 libc.so.6 0x00002b4290f3dab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002b4290f24eff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc5332_0/ghc5332_0.ll -o /tmp/ghc5332_0/ghc5332_0.bc -mem2reg -tbaa -basicaa -globalopt -deadargelim -simplifycfg -basiccg -inline -functionattrs -correlated-propagation -tailcallelim -simplifycfg -reassociate -loops -lcssa -licm -loop-unswitch -loop-simplify -iv-users -loop-unroll -memdep -memcpyopt -jump-threading -correlated-propagation -domtree -memdep -adce -globaldce -constmerge | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc5332_0/ghc5332_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc5332_0/ghc5332_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-tbaa -optlo-basicaa -optlo-globalopt -optlo-deadargelim -optlo-simplifycfg -optlo-basiccg -optlo-inline -optlo-functionattrs -optlo-correlated-propagation -optlo-tailcallelim -optlo-simplifycfg -optlo-reassociate -optlo-loops -optlo-lcssa -optlo-licm -optlo-loop-unswitch -optlo-loop-simplify -optlo-iv-users -optlo-loop-unroll -optlo-memdep -optlo-memcpyopt -optlo-jump-threading -optlo-correlated-propagation -optlo-domtree -optlo-memdep -optlo-adce -optlo-globaldce -optlo-constmerge -o /tmp/ACOVEA8E5F3EA6 DotPMain.hs | |
..... | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 5 complete, average fitness: 0.528759 | |
------------------------------------------------------------ | |
generation 6 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ..............alignment argument of memory intrinsics must be a constant int | |
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002b5e0ccc7c60 | |
3 libc.so.6 0x00002b5e0d8b0d05 gsignal + 53 | |
4 libc.so.6 0x00002b5e0d8b4ab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002b5e0d89beff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc8912_0/ghc8912_0.ll -o /tmp/ghc8912_0/ghc8912_0.bc -mem2reg -globalopt -simplifycfg -basiccg -prune-eh -inline -argpromotion -lazy-value-info -correlated-propagation -tailcallelim -reassociate -loops -lcssa -licm -loop-unswitch -loop-simplify -iv-users -memdep -memcpyopt -jump-threading -correlated-propagation -domtree -memdep -adce -globaldce -constmerge -domtree | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc8912_0/ghc8912_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc8912_0/ghc8912_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-globalopt -optlo-simplifycfg -optlo-basiccg -optlo-prune-eh -optlo-inline -optlo-argpromotion -optlo-lazy-value-info -optlo-correlated-propagation -optlo-tailcallelim -optlo-reassociate -optlo-loops -optlo-lcssa -optlo-licm -optlo-loop-unswitch -optlo-loop-simplify -optlo-iv-users -optlo-memdep -optlo-memcpyopt -optlo-jump-threading -optlo-correlated-propagation -optlo-domtree -optlo-memdep -optlo-adce -optlo-globaldce -optlo-constmerge -optlo-domtree -o /tmp/ACOVEA1ACFFBA0 DotPMain.hs | |
.......................... | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 6 complete, average fitness: 0.527554 | |
------------------------------------------------------------ | |
generation 7 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 7 complete, average fitness: 0.524933 | |
------------------------------------------------------------ | |
generation 8 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 8 complete, average fitness: 0.523092 | |
------------------------------------------------------------ | |
generation 9 begins | |
population 1: ........................................ | |
population 2: ......................................gcc: ./DotP.o: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-basicaa -optlo-globalopt -optlo-ipsccp -optlo-instcombine -optlo-simplifycfg -optlo-prune-eh -optlo-inline -optlo-argpromotion -optlo-scalarrepl-ssa -optlo-lazy-value-info -optlo-jump-threading -optlo-reassociate -optlo-domtree -optlo-loop-rotate -optlo-licm -optlo-loop-unswitch -optlo-scalar-evolution -optlo-iv-users -optlo-indvars -optlo-loop-idiom -optlo-loop-unroll -optlo-memdep -optlo-memdep -optlo-memcpyopt -optlo-lazy-value-info -optlo-jump-threading -optlo-correlated-propagation -optlo-domtree -optlo-strip-dead-prototypes -optlo-domtree -o /tmp/ACOVEA61445CF4 DotPMain.hs | |
.. | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 9 complete, average fitness: 0.526657 | |
------------------------------------------------------------ | |
generation 10 begins | |
population 1: ........................................ | |
population 2: .....................alignment argument of memory intrinsics must be a constant int | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002af39bacfc60 | |
3 libc.so.6 0x00002af39c6b8d05 gsignal + 53 | |
4 libc.so.6 0x00002af39c6bcab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002af39c6a3eff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc24827_0/ghc24827_0.ll -o /tmp/ghc24827_0/ghc24827_0.bc -mem2reg -tbaa -globalopt -deadargelim -simplifycfg -inline -functionattrs -argpromotion -scalarrepl-ssa -lazy-value-info -jump-threading -reassociate -domtree -loop-rotate -loop-unswitch -scalar-evolution -lcssa -iv-users -loop-idiom -loop-deletion -loop-unroll -memdep -memdep -memcpyopt -lazy-value-info -jump-threading -domtree -strip-dead-prototypes -globaldce -domtree | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc24827_0/ghc24827_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc24827_0/ghc24827_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-tbaa -optlo-globalopt -optlo-deadargelim -optlo-simplifycfg -optlo-inline -optlo-functionattrs -optlo-argpromotion -optlo-scalarrepl-ssa -optlo-lazy-value-info -optlo-jump-threading -optlo-reassociate -optlo-domtree -optlo-loop-rotate -optlo-loop-unswitch -optlo-scalar-evolution -optlo-lcssa -optlo-iv-users -optlo-loop-idiom -optlo-loop-deletion -optlo-loop-unroll -optlo-memdep -optlo-memdep -optlo-memcpyopt -optlo-lazy-value-info -optlo-jump-threading -optlo-domtree -optlo-strip-dead-prototypes -optlo-globaldce -optlo-domtree -o /tmp/ACOVEA03446BD2 DotPMain.hs | |
................... | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 10 complete, average fitness: 0.523951 | |
------------------------------------------------------------ | |
generation 11 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 11 complete, average fitness: 0.52561 | |
------------------------------------------------------------ | |
generation 12 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 12 complete, average fitness: 0.524403 | |
------------------------------------------------------------ | |
generation 13 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 13 complete, average fitness: 0.525331 | |
------------------------------------------------------------ | |
generation 14 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................alignment argument of memory intrinsics must be a constant int | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002abc179c5c60 | |
3 libc.so.6 0x00002abc185aed05 gsignal + 53 | |
4 libc.so.6 0x00002abc185b2ab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002abc18599eff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc11161_0/ghc11161_0.ll -o /tmp/ghc11161_0/ghc11161_0.bc -mem2reg -simplifycfg -prune-eh -argpromotion -domtree -simplify-libcalls -jump-threading -simplifycfg -simplifycfg -domtree -loop-simplify -lcssa -licm -lcssa -loop-unswitch -scalar-evolution -loop-idiom -loop-unroll -memdep -memdep -memcpyopt -jump-threading -domtree -memdep -dse -adce -globaldce -constmerge -preverify -domtree | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc11161_0/ghc11161_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc11161_0/ghc11161_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-simplifycfg -optlo-prune-eh -optlo-argpromotion -optlo-domtree -optlo-simplify-libcalls -optlo-jump-threading -optlo-simplifycfg -optlo-simplifycfg -optlo-domtree -optlo-loop-simplify -optlo-lcssa -optlo-licm -optlo-lcssa -optlo-loop-unswitch -optlo-scalar-evolution -optlo-loop-idiom -optlo-loop-unroll -optlo-memdep -optlo-memdep -optlo-memcpyopt -optlo-jump-threading -optlo-domtree -optlo-memdep -optlo-dse -optlo-adce -optlo-globaldce -optlo-constmerge -optlo-preverify -optlo-domtree -o /tmp/ACOVEA51DC4B57 DotPMain.hs | |
................ | |
generation 14 complete, average fitness: 0.521048 | |
------------------------------------------------------------ | |
generation 15 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 15 complete, average fitness: 0.523444 | |
------------------------------------------------------------ | |
generation 16 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 16 complete, average fitness: 0.525108 | |
------------------------------------------------------------ | |
generation 17 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 17 complete, average fitness: 0.523925 | |
------------------------------------------------------------ | |
generation 18 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: .......................................alignment argument of memory intrinsics must be a constant int | |
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002b80f6473c60 | |
3 libc.so.6 0x00002b80f705cd05 gsignal + 53 | |
4 libc.so.6 0x00002b80f7060ab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002b80f7047eff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc25943_0/ghc25943_0.ll -o /tmp/ghc25943_0/ghc25943_0.bc -mem2reg -no-aa -tbaa -deadargelim -basiccg -inline -functionattrs -scalarrepl-ssa -domtree -jump-threading -tailcallelim -simplifycfg -loops -loop-simplify -loop-rotate -licm -scalar-evolution -lcssa -iv-users -loop-deletion -memdep -memcpyopt -lazy-value-info -jump-threading -domtree -memdep -dse -adce -constmerge -domtree | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc25943_0/ghc25943_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc25943_0/ghc25943_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-no-aa -optlo-tbaa -optlo-deadargelim -optlo-basiccg -optlo-inline -optlo-functionattrs -optlo-scalarrepl-ssa -optlo-domtree -optlo-jump-threading -optlo-tailcallelim -optlo-simplifycfg -optlo-loops -optlo-loop-simplify -optlo-loop-rotate -optlo-licm -optlo-scalar-evolution -optlo-lcssa -optlo-iv-users -optlo-loop-deletion -optlo-memdep -optlo-memcpyopt -optlo-lazy-value-info -optlo-jump-threading -optlo-domtree -optlo-memdep -optlo-dse -optlo-adce -optlo-constmerge -optlo-domtree -o /tmp/ACOVEA20E30FEC DotPMain.hs | |
. | |
population 4: ...................alignment argument of memory intrinsics must be a constant int | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ln7U9, i8* %ln7Ub, i64 %ln7TJ, i32 %ln7Ud, i1 false) | |
Broken module found, compilation aborted! | |
0 opt 0x00000000008eca6f | |
1 opt 0x00000000008ece1a | |
2 libpthread.so.0 0x00002ad064b5ec60 | |
3 libc.so.6 0x00002ad065747d05 gsignal + 53 | |
4 libc.so.6 0x00002ad06574bab6 abort + 390 | |
5 opt 0x00000000008a7682 | |
6 opt 0x0000000000880597 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 | |
7 opt 0x000000000088061b llvm::FPPassManager::runOnModule(llvm::Module&) + 75 | |
8 opt 0x00000000008801d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 | |
9 opt 0x00000000008802d9 llvm::PassManagerImpl::run(llvm::Module&) + 137 | |
10 opt 0x00000000004aa491 main + 4881 | |
11 libc.so.6 0x00002ad065732eff __libc_start_main + 255 | |
12 opt 0x000000000049d639 | |
Stack dump: | |
0. Program arguments: /home/a/llvm-2.9/bin/opt /tmp/ghc26331_0/ghc26331_0.ll -o /tmp/ghc26331_0/ghc26331_0.bc -mem2reg -tbaa -deadargelim -simplifycfg -prune-eh -inline -argpromotion -simplify-libcalls -jump-threading -correlated-propagation -loop-simplify -loop-rotate -licm -scalar-evolution -loop-unroll -correlated-propagation -domtree -memdep -simplifycfg -globaldce -constmerge -domtree | |
1. Running pass 'Function Pass Manager' on module '/tmp/ghc26331_0/ghc26331_0.ll'. | |
2. Running pass 'Module Verifier' on function '@s41M_info' | |
/home/a/llvm-2.9/bin/llc: /tmp/ghc26331_0/ghc26331_0.bc: Could not open input file: No such file or directory | |
COMPILE FAILED: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-tbaa -optlo-deadargelim -optlo-simplifycfg -optlo-prune-eh -optlo-inline -optlo-argpromotion -optlo-simplify-libcalls -optlo-jump-threading -optlo-correlated-propagation -optlo-loop-simplify -optlo-loop-rotate -optlo-licm -optlo-scalar-evolution -optlo-loop-unroll -optlo-correlated-propagation -optlo-domtree -optlo-memdep -optlo-simplifycfg -optlo-globaldce -optlo-constmerge -optlo-domtree -o /tmp/ACOVEAA2D167B3 DotPMain.hs | |
..................... | |
population 5: ........................................ | |
generation 18 complete, average fitness: 0.52754 | |
------------------------------------------------------------ | |
generation 19 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 19 complete, average fitness: 0.530908 | |
------------------------------------------------------------ | |
generation 20 begins | |
population 1: ........................................ | |
population 2: ........................................ | |
population 3: ........................................ | |
population 4: ........................................ | |
population 5: ........................................ | |
generation 20 complete, average fitness: 0.528362 | |
Acovea completed its analysis at 2011 Oct 03 18:55:33 | |
Optimistic options: | |
-optlo-mem2reg (2.214) | |
-optlo-scalarrepl-ssa (2.583) | |
-optlo-iv-users (1.938) | |
-optlo-memcpyopt (1.569) | |
Pessimistic options: | |
-optlo-functionattrs (-2.304) | |
-optlo-early-cse (-1.566) | |
-optlo-correlated-propagation (-2.211) | |
-optlo-simplifycfg (-1.658) | |
Acovea's Best-of-the-Best: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-no-aa -optlo-globalopt -optlo-deadargelim -optlo-simplifycfg -optlo-prune-eh -optlo-inline -optlo-argpromotion -optlo-early-cse -optlo-simplify-libcalls -optlo-jump-threading -optlo-instcombine -optlo-tailcallelim -optlo-simplifycfg -optlo-domtree -optlo-loop-simplify -optlo-licm -optlo-loop-unswitch -optlo-instcombine -optlo-loop-simplify -optlo-iv-users -optlo-loop-unroll -optlo-memdep -optlo-gvn -optlo-memdep -optlo-instcombine -optlo-lazy-value-info -optlo-adce -optlo-instcombine -optlo-constmerge -optlo-domtree -o /tmp/ACOVEAEDB600B7 DotPMain.hs | |
Acovea's Common Options: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -optlo-mem2reg -optlo-globalopt -optlo-deadargelim -optlo-domtree -optlo-licm -optlo-instcombine -o /tmp/ACOVEA75454B41 DotPMain.hs | |
GHC NCG -O2: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -o /tmp/ACOVEADD41B91E DotPMain.hs | |
GHC LLVM -O2: | |
/home/a/code/ghc/inplace/bin/ghc-stage2 -pgmlc /home/a/llvm-2.9/bin/llc -pgmlo /home/a/llvm-2.9/bin/opt -v0 -fforce-recomp -Odph -fdph-par -funbox-strict-fields -fllvm -o /tmp/ACOVEA19EA76C5 DotPMain.hs | |
A relative graph of fitnesses: | |
Acovea's Best-of-the-Best: ************************************************* (0.5295) | |
Acovea's Common Options: *********************************************** (0.5109) | |
GHC NCG -O2: ************************************************** (0.5399) | |
GHC LLVM -O2: *********************************************** (0.5133) | |
Acovea is done. | |
make full 12204.90s user 1175.31s system 94% cpu 3:55:49.20 total |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment