CmmSink takes 30% of compile-time in T3294
T3294
compiled with and profiled compiler and -O1
produces a rather interesting profile:
COST CENTRE MODULE SRC %time %alloc
sink GHC.Cmm.Pipeline compiler/GHC/Cmm/Pipeline.hs:(118,13)-(119,59) 28.0 33.4
pprNativeCode GHC.CmmToAsm compiler/GHC/CmmToAsm.hs:423:37-64 9.6 11.8
RegAlloc-linear GHC.CmmToAsm compiler/GHC/CmmToAsm.hs:(583,27)-(585,55) 9.3 9.2
FloatOutwards GHC.Core.Opt.Pipeline compiler/GHC/Core/Opt/Pipeline.hs:475:40-66 6.6 6.3
StgToCmm GHC.Driver.Main compiler/GHC/Driver/Main.hs:(1580,13)-(1581,68) 4.3 3.6
genMachCode GHC.CmmToAsm compiler/GHC/CmmToAsm.hs:(482,17)-(484,69) 3.2 2.8
regLiveness GHC.CmmToAsm compiler/GHC/CmmToAsm.hs:(500,17)-(501,75) 2.4 2.9
layoutStack GHC.Cmm.Pipeline compiler/GHC/Cmm/Pipeline.hs:(111,13)-(113,40) 2.2 2.0
simplExprF1-App GHC.Core.Opt.Simplify compiler/GHC/Core/Opt/Simplify.hs:(996,34)-(1023,53) 2.2 1.7
tc_rn_src_decls GHC.Tc.Module compiler/GHC/Tc/Module.hs:(543,4)-(617,7) 2.1 1.3
DmdAnal GHC.Core.Opt.Pipeline compiler/GHC/Core/Opt/Pipeline.hs:487:40-63 2.1 2.2
interpretPackageEnv.findLocalEnvFile.probe GHC compiler/GHC.hs:(1742,13)-(1749,46) 2.1 0.0
simplNonRecE GHC.Core.Opt.Simplify compiler/GHC/Core/Opt/Simplify.hs:1072:31-78 1.9 1.3
OccAnal GHC.Core.Opt.Pipeline compiler/GHC/Core/Opt/Pipeline.hs:(735,22)-(736,42) 1.7 1.8
sepBindsByDropPoint.go.insert GHC.Core.Opt.FloatIn compiler/GHC/Core/Opt/FloatIn.hs:739:11-78 1.5 2.4
do_block GHC.Cmm.Dataflow compiler/GHC/Cmm/Dataflow.hs:147:48-68 1.3 1.1
tcRnSrcDecls GHC.Tc.Module compiler/GHC/Tc/Module.hs:273:34-85 1.3 1.1
simplIdF GHC.Core.Opt.Simplify compiler/GHC/Core/Opt/Simplify.hs:989:61-79 1.2 1.2
GHC.CmmToAsm.CFG.mkGlobalWeights GHC.CmmToAsm.CFG compiler/GHC/CmmToAsm/CFG.hs:958:1-15 1.1 0.9
simplRecOrTopPair-normal GHC.Core.Opt.Simplify compiler/GHC/Core/Opt/Simplify.hs:(266,5)-(267,62) 1.1 0.8