-finfo-table-map debugging has trouble with GHC.Exts.inline
In mnist.eventlog.html (repro instructions below), the following
n Label Description CTy Type Module Loc Integrated Size
| 213 | 0x5e7078 | lvl32_info | THUNK | Int | HordeAd.Tool.MnistFcnnScalar | src/HordeAd/Tool/MnistFcnnScalar.hs:126:13-56 | 0 | 0 |
mentions this line of code
let !_A = assert (sizeMnistGlyph == V.length input) ()
and when this line is removed, the thunk changes its description
| 216 | 0x5e5af8 | lvl32_info | THUNK | Int | HordeAd.Tool.MnistFcnnScalar | src/HordeAd/Tool/MnistFcnnScalar.hs:124:1-8 | 0 | 0 |
and now points to the second of these three lines
-> m (Data.Vector.Vector (DualNumber r))
nnMnist2 factivationHidden factivationOutput widthHidden widthHidden2
input variables = do
which is a function that is never used except as inline nnMnist2
.
Repro:
git clone git@github.com:Mikolaj/horde-ad.git
git checkout 795ae1a483c05971863c97924151626102cf3f25
cabal build --enable-benchmarks --ghc-options="-finfo-table-map -fdistinct-constructor-tables -eventlog"
`cabal list-bin mnist` -n 1 -m prefix "2-hidden-layer MNIST nn with samples: 500/500" +RTS -s -hi -l-aug
eventlog2html mnist.eventlog