Skip to content

Instantly share code, notes, and snippets.

@thoughtpolice
Created October 3, 2011 23:59
Show Gist options
  • Save thoughtpolice/1260578 to your computer and use it in GitHub Desktop.
Save thoughtpolice/1260578 to your computer and use it in GitHub Desktop.
GHC + llvm + acovea
{-# 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)
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
<?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>
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