[Git][ghc/ghc][wip/T18566] Fix it

Ben Gamari gitlab at gitlab.haskell.org
Wed Nov 11 23:08:28 UTC 2020



Ben Gamari pushed to branch wip/T18566 at Glasgow Haskell Compiler / GHC


Commits:
eefb84cc by GHC GitLab CI at 2020-11-11T23:05:27+00:00
Fix it

- - - - -


9 changed files:

- compiler/GHC/Core/Opt/CallerCC.hs
- docs/users_guide/profiling.rst
- + testsuite/tests/profiling/should_run/caller-cc/CallerCc1.prof.sample
- + testsuite/tests/profiling/should_run/caller-cc/CallerCc1.stdout
- + testsuite/tests/profiling/should_run/caller-cc/CallerCc2.prof.sample
- + testsuite/tests/profiling/should_run/caller-cc/CallerCc2.stdout
- + testsuite/tests/profiling/should_run/caller-cc/CallerCc3.prof.sample
- + testsuite/tests/profiling/should_run/caller-cc/CallerCc3.stdout
- testsuite/tests/profiling/should_run/caller-cc/all.T


Changes:

=====================================
compiler/GHC/Core/Opt/CallerCC.hs
=====================================
@@ -72,7 +72,8 @@ doExpr :: Env -> CoreExpr -> M CoreExpr
 doExpr env e@(Var v)
   | needsCallSiteCostCentre env v = do
     let nameDoc :: SDoc
-        nameDoc = hcat (punctuate dot (map ppr (parents env))) <> parens (text "calling " <> ppr v)
+        nameDoc = withUserStyle alwaysQualify DefaultDepth $
+          hcat (punctuate dot (map ppr (parents env))) <> parens (text "calling " <> ppr v)
 
         ccName :: CcName
         ccName = mkFastString $ showSDoc (dflags env) nameDoc


=====================================
docs/users_guide/profiling.rst
=====================================
@@ -364,6 +364,11 @@ compiled program.
     :category:
 
     Automatically enclose all occurrences of the named function in an ``SCC``.
+    Note that these cost-centres are added late in compilation (after
+    simplification) and consequently the names may be slightly different than
+    they appear in the source program (e.g. a call to ``f`` may inlined with
+    its wrapper, resulting in an occurrence of its worker, ``$wf``).
+
     In addition to plain module-qualified names (e.g. ``Data.List.map``),
     ⟨name⟩ also accepts a small globbing language using ``*`` as a wildcard
     symbol:


=====================================
testsuite/tests/profiling/should_run/caller-cc/CallerCc1.prof.sample
=====================================
@@ -0,0 +1,79 @@
+	Wed Nov 11 23:04 2020 Time and Allocation Profiling Report  (Final)
+
+	   CallerCc1 +RTS -hc -p -RTS 7
+
+	total time  =        0.06 secs   (58 ticks @ 1000 us, 1 processor)
+	total alloc = 105,486,200 bytes  (excludes profiling overheads)
+
+COST CENTRE    MODULE    SRC                        %time %alloc
+
+clause.clause' Main      Main.hs:(63,12)-(65,57)     29.3   37.5
+insert         Main      Main.hs:(108,1)-(112,8)     27.6    1.7
+disin          Main      Main.hs:(74,1)-(83,11)      22.4   49.5
+disin.dp       Main      Main.hs:80:3-14              5.2    0.0
+conjunct       Main      Main.hs:(70,1)-(71,18)       5.2    0.0
+unicl          Main      Main.hs:(176,1)-(180,36)     3.4    1.1
+tautclause     Main      Main.hs:173:1-49             3.4    3.7
+disin.dq       Main      Main.hs:81:3-14              3.4    0.0
+unicl.unicl'   Main      Main.hs:(178,11)-(180,36)    0.0    2.6
+split.split'   Main      Main.hs:(165,11)-(166,28)    0.0    2.3
+clause         Main      Main.hs:(61,1)-(65,57)       0.0    1.4
+
+
+                                                                                                                 individual      inherited
+COST CENTRE                                   MODULE                SRC                       no.     entries  %time %alloc   %time %alloc
+
+MAIN                                          MAIN                  <built-in>                128           0    0.0    0.0   100.0  100.0
+ CAF                                          Main                  <entire-module>           255           0    0.0    0.0     0.0    0.0
+  clauses                                     Main                  Main.hs:68:1-74           261           1    0.0    0.0     0.0    0.0
+   Main.clauses(calling Data.Foldable.concat) Main                  Main.hs:68:1-7            263           1    0.0    0.0     0.0    0.0
+  main                                        Main                  Main.hs:(42,1)-(44,23)    256           1    0.0    0.0     0.0    0.0
+  redstar                                     Main                  Main.hs:155:1-35          279           1    0.0    0.0     0.0    0.0
+  spaces                                      Main                  Main.hs:160:1-19          303           1    0.0    0.0     0.0    0.0
+ CAF                                          GHC.Conc.Signal       <entire-module>           246           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Encoding       <entire-module>           235           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Encoding.Iconv <entire-module>           233           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Handle.FD      <entire-module>           225           0    0.0    0.0     0.0    0.0
+ main                                         Main                  Main.hs:(42,1)-(44,23)    257           0    0.0    0.0   100.0  100.0
+  res                                         Main                  Main.hs:(46,1)-(48,26)    258           1    0.0    0.0   100.0   99.9
+   Main.main(calling Data.Foldable.concat)    Main                  Main.hs:42:1-4            259           1    0.0    0.0     0.0    0.0
+   res.xs                                     Main                  Main.hs:47:8-69           260           1    0.0    0.0     0.0    0.0
+   clauses                                    Main                  Main.hs:68:1-74           262           0    0.0    0.0   100.0   99.9
+    disin                                     Main                  Main.hs:(74,1)-(83,11)    267      857598   22.4   49.5    36.2   49.5
+     conjunct                                 Main                  Main.hs:(70,1)-(71,18)    291      759353    5.2    0.0     5.2    0.0
+     disin.dp                                 Main                  Main.hs:80:3-14           292      380009    5.2    0.0     5.2    0.0
+     disin.dq                                 Main                  Main.hs:81:3-14           293      380009    3.4    0.0     3.4    0.0
+    negin                                     Main                  Main.hs:(119,1)-(124,11)  268        1617    0.0    0.1     0.0    0.1
+    elim                                      Main                  Main.hs:(89,1)-(94,57)    269        1393    0.0    0.1     0.0    0.1
+    disp                                      Main                  Main.hs:86:1-71           301           7    0.0    0.0     0.0    0.0
+     interleave                               Main                  Main.hs:(115,1)-(116,25)  302          35    0.0    0.0     0.0    0.0
+    parse                                     Main                  Main.hs:135:1-39          270           7    0.0    0.0     0.0    0.0
+     parse.(...)                              Main                  Main.hs:135:19-39         272           7    0.0    0.0     0.0    0.0
+      parse'                                  Main                  Main.hs:(137,1)-(145,42)  273         280    0.0    0.0     0.0    0.0
+       opri                                   Main                  Main.hs:(127,1)-(132,12)  276          56    0.0    0.0     0.0    0.0
+       spri                                   Main                  Main.hs:(169,1)-(170,10)  274          56    0.0    0.0     0.0    0.0
+        opri                                  Main                  Main.hs:(127,1)-(132,12)  275          49    0.0    0.0     0.0    0.0
+       parse'.(...)                           Main                  Main.hs:142:20-49         278          21    0.0    0.0     0.0    0.0
+        redstar                               Main                  Main.hs:155:1-35          280           0    0.0    0.0     0.0    0.0
+         spri                                 Main                  Main.hs:(169,1)-(170,10)  282          63    0.0    0.0     0.0    0.0
+          opri                                Main                  Main.hs:(127,1)-(132,12)  283          63    0.0    0.0     0.0    0.0
+         while                                Main                  Main.hs:182:1-48          281          63    0.0    0.0     0.0    0.0
+          red                                 Main                  Main.hs:(148,1)-(152,43)  284          42    0.0    0.0     0.0    0.0
+       parse'.s'                              Main                  Main.hs:142:20-49         285          21    0.0    0.0     0.0    0.0
+       parse'.x                               Main                  Main.hs:142:20-49         277          21    0.0    0.0     0.0    0.0
+       redstar                                Main                  Main.hs:155:1-35          286           0    0.0    0.0     0.0    0.0
+        spri                                  Main                  Main.hs:(169,1)-(170,10)  288          21    0.0    0.0     0.0    0.0
+         opri                                 Main                  Main.hs:(127,1)-(132,12)  289          14    0.0    0.0     0.0    0.0
+        while                                 Main                  Main.hs:182:1-48          287          21    0.0    0.0     0.0    0.0
+         red                                  Main                  Main.hs:(148,1)-(152,43)  290          14    0.0    0.0     0.0    0.0
+     parse.f                                  Main                  Main.hs:135:19-39         271           7    0.0    0.0     0.0    0.0
+    split                                     Main                  Main.hs:(163,1)-(166,28)  265           7    0.0    0.0     0.0    2.3
+     split.split'                             Main                  Main.hs:(165,11)-(166,28) 266       74837    0.0    2.3     0.0    2.3
+    unicl                                     Main                  Main.hs:(176,1)-(180,36)  264           7    3.4    1.1    63.8   48.0
+     unicl.unicl'                             Main                  Main.hs:(178,11)-(180,36) 294       37422    0.0    2.6    60.3   46.9
+      tautclause                              Main                  Main.hs:173:1-49          295       37422    3.4    3.7     3.4    3.7
+      unicl.unicl'.cp                         Main                  Main.hs:180:24-36         296       37422    0.0    0.0    56.9   40.6
+       clause                                 Main                  Main.hs:(61,1)-(65,57)    297       37422    0.0    1.4    56.9   40.6
+        clause.clause'                        Main                  Main.hs:(63,12)-(65,57)   298      696150   29.3   37.5    56.9   39.2
+         insert                               Main                  Main.hs:(108,1)-(112,8)   299      366786   27.6    1.7    27.6    1.7
+      insert                                  Main                  Main.hs:(108,1)-(112,8)   300           7    0.0    0.0     0.0    0.0


=====================================
testsuite/tests/profiling/should_run/caller-cc/CallerCc1.stdout
=====================================
@@ -0,0 +1,7 @@
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 


=====================================
testsuite/tests/profiling/should_run/caller-cc/CallerCc2.prof.sample
=====================================
@@ -0,0 +1,78 @@
+	Wed Nov 11 23:04 2020 Time and Allocation Profiling Report  (Final)
+
+	   CallerCc2 +RTS -hc -p -RTS 7
+
+	total time  =        0.06 secs   (59 ticks @ 1000 us, 1 processor)
+	total alloc = 105,486,200 bytes  (excludes profiling overheads)
+
+COST CENTRE    MODULE    SRC                        %time %alloc
+
+disin          Main      Main.hs:(74,1)-(83,11)      32.2   49.5
+insert         Main      Main.hs:(108,1)-(112,8)     27.1    1.7
+clause.clause' Main      Main.hs:(63,12)-(65,57)     25.4   37.5
+tautclause     Main      Main.hs:173:1-49             3.4    3.7
+split.split'   Main      Main.hs:(165,11)-(166,28)    3.4    2.3
+disin.dq       Main      Main.hs:81:3-14              3.4    0.0
+conjunct       Main      Main.hs:(70,1)-(71,18)       3.4    0.0
+clause         Main      Main.hs:(61,1)-(65,57)       1.7    1.4
+unicl.unicl'   Main      Main.hs:(178,11)-(180,36)    0.0    2.6
+unicl          Main      Main.hs:(176,1)-(180,36)     0.0    1.1
+
+
+                                                                                                                 individual      inherited
+COST CENTRE                                   MODULE                SRC                       no.     entries  %time %alloc   %time %alloc
+
+MAIN                                          MAIN                  <built-in>                128           0    0.0    0.0   100.0  100.0
+ CAF                                          Main                  <entire-module>           255           0    0.0    0.0     0.0    0.0
+  clauses                                     Main                  Main.hs:68:1-74           261           1    0.0    0.0     0.0    0.0
+   Main.clauses(calling Data.Foldable.concat) Main                  Main.hs:68:1-7            263           1    0.0    0.0     0.0    0.0
+  main                                        Main                  Main.hs:(42,1)-(44,23)    256           1    0.0    0.0     0.0    0.0
+  redstar                                     Main                  Main.hs:155:1-35          279           1    0.0    0.0     0.0    0.0
+  spaces                                      Main                  Main.hs:160:1-19          303           1    0.0    0.0     0.0    0.0
+ CAF                                          GHC.Conc.Signal       <entire-module>           246           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Encoding       <entire-module>           235           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Encoding.Iconv <entire-module>           233           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Handle.FD      <entire-module>           225           0    0.0    0.0     0.0    0.0
+ main                                         Main                  Main.hs:(42,1)-(44,23)    257           0    0.0    0.0   100.0  100.0
+  res                                         Main                  Main.hs:(46,1)-(48,26)    258           1    0.0    0.0   100.0   99.9
+   Main.main(calling Data.Foldable.concat)    Main                  Main.hs:42:1-4            259           1    0.0    0.0     0.0    0.0
+   res.xs                                     Main                  Main.hs:47:8-69           260           1    0.0    0.0     0.0    0.0
+   clauses                                    Main                  Main.hs:68:1-74           262           0    0.0    0.0   100.0   99.9
+    disin                                     Main                  Main.hs:(74,1)-(83,11)    267      857598   32.2   49.5    39.0   49.5
+     conjunct                                 Main                  Main.hs:(70,1)-(71,18)    291      759353    3.4    0.0     3.4    0.0
+     disin.dp                                 Main                  Main.hs:80:3-14           292      380009    0.0    0.0     0.0    0.0
+     disin.dq                                 Main                  Main.hs:81:3-14           293      380009    3.4    0.0     3.4    0.0
+    negin                                     Main                  Main.hs:(119,1)-(124,11)  268        1617    0.0    0.1     0.0    0.1
+    elim                                      Main                  Main.hs:(89,1)-(94,57)    269        1393    0.0    0.1     0.0    0.1
+    disp                                      Main                  Main.hs:86:1-71           301           7    0.0    0.0     0.0    0.0
+     interleave                               Main                  Main.hs:(115,1)-(116,25)  302          35    0.0    0.0     0.0    0.0
+    parse                                     Main                  Main.hs:135:1-39          270           7    0.0    0.0     0.0    0.0
+     parse.(...)                              Main                  Main.hs:135:19-39         272           7    0.0    0.0     0.0    0.0
+      parse'                                  Main                  Main.hs:(137,1)-(145,42)  273         280    0.0    0.0     0.0    0.0
+       opri                                   Main                  Main.hs:(127,1)-(132,12)  276          56    0.0    0.0     0.0    0.0
+       spri                                   Main                  Main.hs:(169,1)-(170,10)  274          56    0.0    0.0     0.0    0.0
+        opri                                  Main                  Main.hs:(127,1)-(132,12)  275          49    0.0    0.0     0.0    0.0
+       parse'.(...)                           Main                  Main.hs:142:20-49         278          21    0.0    0.0     0.0    0.0
+        redstar                               Main                  Main.hs:155:1-35          280           0    0.0    0.0     0.0    0.0
+         spri                                 Main                  Main.hs:(169,1)-(170,10)  282          63    0.0    0.0     0.0    0.0
+          opri                                Main                  Main.hs:(127,1)-(132,12)  283          63    0.0    0.0     0.0    0.0
+         while                                Main                  Main.hs:182:1-48          281          63    0.0    0.0     0.0    0.0
+          red                                 Main                  Main.hs:(148,1)-(152,43)  284          42    0.0    0.0     0.0    0.0
+       parse'.s'                              Main                  Main.hs:142:20-49         285          21    0.0    0.0     0.0    0.0
+       parse'.x                               Main                  Main.hs:142:20-49         277          21    0.0    0.0     0.0    0.0
+       redstar                                Main                  Main.hs:155:1-35          286           0    0.0    0.0     0.0    0.0
+        spri                                  Main                  Main.hs:(169,1)-(170,10)  288          21    0.0    0.0     0.0    0.0
+         opri                                 Main                  Main.hs:(127,1)-(132,12)  289          14    0.0    0.0     0.0    0.0
+        while                                 Main                  Main.hs:182:1-48          287          21    0.0    0.0     0.0    0.0
+         red                                  Main                  Main.hs:(148,1)-(152,43)  290          14    0.0    0.0     0.0    0.0
+     parse.f                                  Main                  Main.hs:135:19-39         271           7    0.0    0.0     0.0    0.0
+    split                                     Main                  Main.hs:(163,1)-(166,28)  265           7    0.0    0.0     3.4    2.3
+     split.split'                             Main                  Main.hs:(165,11)-(166,28) 266       74837    3.4    2.3     3.4    2.3
+    unicl                                     Main                  Main.hs:(176,1)-(180,36)  264           7    0.0    1.1    57.6   48.0
+     unicl.unicl'                             Main                  Main.hs:(178,11)-(180,36) 294       37422    0.0    2.6    57.6   46.9
+      tautclause                              Main                  Main.hs:173:1-49          295       37422    3.4    3.7     3.4    3.7
+      unicl.unicl'.cp                         Main                  Main.hs:180:24-36         296       37422    0.0    0.0    54.2   40.6
+       clause                                 Main                  Main.hs:(61,1)-(65,57)    297       37422    1.7    1.4    54.2   40.6
+        clause.clause'                        Main                  Main.hs:(63,12)-(65,57)   298      696150   25.4   37.5    52.5   39.2
+         insert                               Main                  Main.hs:(108,1)-(112,8)   299      366786   27.1    1.7    27.1    1.7
+      insert                                  Main                  Main.hs:(108,1)-(112,8)   300           7    0.0    0.0     0.0    0.0


=====================================
testsuite/tests/profiling/should_run/caller-cc/CallerCc2.stdout
=====================================
@@ -0,0 +1,7 @@
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 


=====================================
testsuite/tests/profiling/should_run/caller-cc/CallerCc3.prof.sample
=====================================
@@ -0,0 +1,79 @@
+	Wed Nov 11 23:04 2020 Time and Allocation Profiling Report  (Final)
+
+	   CallerCc3 +RTS -hc -p -RTS 7
+
+	total time  =        0.06 secs   (55 ticks @ 1000 us, 1 processor)
+	total alloc = 105,486,200 bytes  (excludes profiling overheads)
+
+COST CENTRE     MODULE    SRC                        %time %alloc
+
+disin           Main      Main.hs:(74,1)-(83,11)      27.3   49.5
+insert          Main      Main.hs:(108,1)-(112,8)     25.5    1.7
+clause.clause'  Main      Main.hs:(63,12)-(65,57)     18.2   37.5
+conjunct        Main      Main.hs:(70,1)-(71,18)      10.9    0.0
+tautclause      Main      Main.hs:173:1-49             9.1    3.7
+unicl.unicl'.cp Main      Main.hs:180:24-36            1.8    0.0
+unicl.unicl'    Main      Main.hs:(178,11)-(180,36)    1.8    2.6
+unicl           Main      Main.hs:(176,1)-(180,36)     1.8    1.1
+split.split'    Main      Main.hs:(165,11)-(166,28)    1.8    2.3
+disin.dq        Main      Main.hs:81:3-14              1.8    0.0
+clause          Main      Main.hs:(61,1)-(65,57)       0.0    1.4
+
+
+                                                                                                                 individual      inherited
+COST CENTRE                                   MODULE                SRC                       no.     entries  %time %alloc   %time %alloc
+
+MAIN                                          MAIN                  <built-in>                128           0    0.0    0.0   100.0  100.0
+ CAF                                          Main                  <entire-module>           255           0    0.0    0.0     0.0    0.0
+  clauses                                     Main                  Main.hs:68:1-74           261           1    0.0    0.0     0.0    0.0
+   Main.clauses(calling Data.Foldable.concat) Main                  Main.hs:68:1-7            263           1    0.0    0.0     0.0    0.0
+  main                                        Main                  Main.hs:(42,1)-(44,23)    256           1    0.0    0.0     0.0    0.0
+  redstar                                     Main                  Main.hs:155:1-35          279           1    0.0    0.0     0.0    0.0
+  spaces                                      Main                  Main.hs:160:1-19          303           1    0.0    0.0     0.0    0.0
+ CAF                                          GHC.Conc.Signal       <entire-module>           246           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Encoding       <entire-module>           235           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Encoding.Iconv <entire-module>           233           0    0.0    0.0     0.0    0.0
+ CAF                                          GHC.IO.Handle.FD      <entire-module>           225           0    0.0    0.0     0.0    0.0
+ main                                         Main                  Main.hs:(42,1)-(44,23)    257           0    0.0    0.0   100.0  100.0
+  res                                         Main                  Main.hs:(46,1)-(48,26)    258           1    0.0    0.0   100.0   99.9
+   Main.main(calling Data.Foldable.concat)    Main                  Main.hs:42:1-4            259           1    0.0    0.0     0.0    0.0
+   res.xs                                     Main                  Main.hs:47:8-69           260           1    0.0    0.0     0.0    0.0
+   clauses                                    Main                  Main.hs:68:1-74           262           0    0.0    0.0   100.0   99.9
+    disin                                     Main                  Main.hs:(74,1)-(83,11)    267      857598   27.3   49.5    40.0   49.5
+     conjunct                                 Main                  Main.hs:(70,1)-(71,18)    291      759353   10.9    0.0    10.9    0.0
+     disin.dp                                 Main                  Main.hs:80:3-14           292      380009    0.0    0.0     0.0    0.0
+     disin.dq                                 Main                  Main.hs:81:3-14           293      380009    1.8    0.0     1.8    0.0
+    negin                                     Main                  Main.hs:(119,1)-(124,11)  268        1617    0.0    0.1     0.0    0.1
+    elim                                      Main                  Main.hs:(89,1)-(94,57)    269        1393    0.0    0.1     0.0    0.1
+    disp                                      Main                  Main.hs:86:1-71           301           7    0.0    0.0     0.0    0.0
+     interleave                               Main                  Main.hs:(115,1)-(116,25)  302          35    0.0    0.0     0.0    0.0
+    parse                                     Main                  Main.hs:135:1-39          270           7    0.0    0.0     0.0    0.0
+     parse.(...)                              Main                  Main.hs:135:19-39         272           7    0.0    0.0     0.0    0.0
+      parse'                                  Main                  Main.hs:(137,1)-(145,42)  273         280    0.0    0.0     0.0    0.0
+       opri                                   Main                  Main.hs:(127,1)-(132,12)  276          56    0.0    0.0     0.0    0.0
+       spri                                   Main                  Main.hs:(169,1)-(170,10)  274          56    0.0    0.0     0.0    0.0
+        opri                                  Main                  Main.hs:(127,1)-(132,12)  275          49    0.0    0.0     0.0    0.0
+       parse'.(...)                           Main                  Main.hs:142:20-49         278          21    0.0    0.0     0.0    0.0
+        redstar                               Main                  Main.hs:155:1-35          280           0    0.0    0.0     0.0    0.0
+         spri                                 Main                  Main.hs:(169,1)-(170,10)  282          63    0.0    0.0     0.0    0.0
+          opri                                Main                  Main.hs:(127,1)-(132,12)  283          63    0.0    0.0     0.0    0.0
+         while                                Main                  Main.hs:182:1-48          281          63    0.0    0.0     0.0    0.0
+          red                                 Main                  Main.hs:(148,1)-(152,43)  284          42    0.0    0.0     0.0    0.0
+       parse'.s'                              Main                  Main.hs:142:20-49         285          21    0.0    0.0     0.0    0.0
+       parse'.x                               Main                  Main.hs:142:20-49         277          21    0.0    0.0     0.0    0.0
+       redstar                                Main                  Main.hs:155:1-35          286           0    0.0    0.0     0.0    0.0
+        spri                                  Main                  Main.hs:(169,1)-(170,10)  288          21    0.0    0.0     0.0    0.0
+         opri                                 Main                  Main.hs:(127,1)-(132,12)  289          14    0.0    0.0     0.0    0.0
+        while                                 Main                  Main.hs:182:1-48          287          21    0.0    0.0     0.0    0.0
+         red                                  Main                  Main.hs:(148,1)-(152,43)  290          14    0.0    0.0     0.0    0.0
+     parse.f                                  Main                  Main.hs:135:19-39         271           7    0.0    0.0     0.0    0.0
+    split                                     Main                  Main.hs:(163,1)-(166,28)  265           7    0.0    0.0     1.8    2.3
+     split.split'                             Main                  Main.hs:(165,11)-(166,28) 266       74837    1.8    2.3     1.8    2.3
+    unicl                                     Main                  Main.hs:(176,1)-(180,36)  264           7    1.8    1.1    58.2   48.0
+     unicl.unicl'                             Main                  Main.hs:(178,11)-(180,36) 294       37422    1.8    2.6    56.4   46.9
+      tautclause                              Main                  Main.hs:173:1-49          295       37422    9.1    3.7     9.1    3.7
+      unicl.unicl'.cp                         Main                  Main.hs:180:24-36         296       37422    1.8    0.0    45.5   40.6
+       clause                                 Main                  Main.hs:(61,1)-(65,57)    297       37422    0.0    1.4    43.6   40.6
+        clause.clause'                        Main                  Main.hs:(63,12)-(65,57)   298      696150   18.2   37.5    43.6   39.2
+         insert                               Main                  Main.hs:(108,1)-(112,8)   299      366786   25.5    1.7    25.5    1.7
+      insert                                  Main                  Main.hs:(108,1)-(112,8)   300           7    0.0    0.0     0.0    0.0


=====================================
testsuite/tests/profiling/should_run/caller-cc/CallerCc3.stdout
=====================================
@@ -0,0 +1,7 @@
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 
+a <= 


=====================================
testsuite/tests/profiling/should_run/caller-cc/all.T
=====================================
@@ -1,7 +1,19 @@
 setTestOpts(req_profiling)
 setTestOpts(extra_ways(['prof', 'ghci-ext-prof']))
 setTestOpts(only_ways(prof_ways))
+setTestOpts(extra_files(['Main.hs']))
+setTestOpts(extra_run_opts('7'))
 
-test('CallerCc1', extra_files(['Main.hs']), compile_and_run, ['-fprof-callers=Data.List.map'])
-test('CallerCc2', extra_files(['Main.hs']), compile_and_run, ['-fprof-callers=*.map'])
-test('CallerCc3', extra_files(['Main.hs']), compile_and_run, ['-fprof-callers=Data.List.con*t'])
+# N.B. Main.hs is stolen from heapprof001.
+
+test('CallerCc1', normal,
+     multimod_compile_and_run,
+     ['Main', '-fprof-callers=*.concat -O0'])
+
+test('CallerCc2', normal,
+     multimod_compile_and_run,
+     ['Main', '-fprof-callers=Data.Foldable.concat -O0'])
+
+test('CallerCc3', normal,
+     multimod_compile_and_run,
+     ['Main', '-fprof-callers=Data.Foldable.con*at -O0'])



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/eefb84cc147a291cfeb15b7011d90e883200dd09

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/eefb84cc147a291cfeb15b7011d90e883200dd09
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20201111/08d0b4b2/attachment-0001.html>


More information about the ghc-commits mailing list