Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information