Stg-lint and bootstrapping (fails?)

Simon Peyton Jones simonpj at microsoft.com
Tue Aug 22 09:45:13 UTC 2017


Is this with HEAD?  I have an up to date HEAD, and with your command line I don't get those warnings.  But I do get the OccAnal warnings, so it's not that the warnings are being suppressed.

I'm not sure how to reproduce.

Does this happen on anything smaller?  Eg. on a testsuite program (you'll need to switch off the -dno-debug-output)?

Simon

|  -----Original Message-----
|  From: Gabor Greif [mailto:ggreif at gmail.com]
|  Sent: 22 August 2017 09:57
|  To: Simon Peyton Jones <simonpj at microsoft.com>; ghc-devs <ghc-
|  devs at haskell.org>
|  Subject: Re: Stg-lint and bootstrapping (fails?)
|  
|  On 8/21/17, Gabor Greif <ggreif at gmail.com> wrote:
|  > Hi Simon,
|  >
|  > for me it happens on many files that are compiled with
|  >
|  >   $ make GhcStage2HcOpts="-O1 -g"
|  >
|  > while the stage1 compiler is active.
|  >
|  > Tomorrow I can add a concrete invocation.
|  
|  Here is it:
|  
|  "inplace/bin/ghc-stage1" -hisuf hi -osuf o -hcsuf hc -static -O0 -H64m -Wall
|  -fllvm-fill-undef-with-garbage -Werror -Iincludes -Iincludes/dist -
|  Iincludes/dist-derivedconstants/header
|  -Iincludes/dist-ghcconstants/header -this-unit-id ghc-8.3 -hide-all-packages
|  -i -icompiler/backpack -icompiler/basicTypes -icompiler/cmm -
|  icompiler/codeGen -icompiler/coreSyn -icompiler/deSugar -icompiler/ghci -
|  icompiler/hsSyn -icompiler/iface -icompiler/llvmGen -icompiler/main -
|  icompiler/nativeGen -icompiler/parser -icompiler/prelude -
|  icompiler/profiling -icompiler/rename -icompiler/simplCore -
|  icompiler/simplStg -icompiler/specialise -icompiler/stgSyn -
|  icompiler/stranal -icompiler/typecheck -icompiler/types -icompiler/utils -
|  icompiler/vectorise -icompiler/stage2/build -Icompiler/stage2/build -
|  icompiler/stage2/build/./autogen -Icompiler/stage2/build/./autogen -
|  Icompiler/. -Icompiler/parser -Icompiler/utils -Icompiler/../rts/dist/build
|  -Icompiler/stage2 -optP-DGHCI -optP-include -
|  optPcompiler/stage2/build/./autogen/cabal_macros.h
|  -package-id base-4.10.0.0 -package-id deepseq-1.4.3.0 -package-id
|  directory-1.3.0.2 -package-id process-1.6.1.0 -package-id
|  bytestring-0.10.8.2 -package-id binary-0.8.5.1 -package-id
|  time-1.8.0.2 -package-id containers-0.5.10.2 -package-id array-0.5.2.0 -
|  package-id filepath-1.4.1.2 -package-id template-haskell-2.12.0.0 -package-
|  id hpc-0.6.0.3 -package-id transformers-0.5.2.0 -package-id
|  ghc-boot-8.3 -package-id ghc-boot-th-8.3 -package-id ghci-8.3 -package-id
|  unix-2.7.2.2 -package-id terminfo-0.4.1.0 -Wall -fno-warn-name-shadowing -
|  this-unit-id ghc -XHaskell2010 -optc-DTHREADED_RTS -
|  DGHCI_TABLES_NEXT_TO_CODE -DSTAGE=2 -Rghc-timing
|  -O1 -no-user-package-db -rtsopts -Wnoncanonical-monad-instances -odir
|  compiler/stage2/build -hidir compiler/stage2/build -stubdir
|  compiler/stage2/build -dynamic-too -c compiler/typecheck/TcEvidence.hs -o
|  compiler/stage2/build/TcEvidence.o -dyno
|  compiler/stage2/build/TcEvidence.dyn_o
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soeO]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soeN]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sosq]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soxX]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soy2]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soy9]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soyw]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sowZ]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sovR]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sovx]
|  WARNING: file compiler/simplCore/SimplCore.hs, line 700
|    Simplifier bailing out after 4 iterations [721, 479, 80, 4]
|      Size = {terms: 8,035, types: 8,864, coercions: 1,129, joins: 0/96}
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2163 Just 3 []
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2163 Just 3 []
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2163 Just 3 []
|  WARNING: file compiler/simplCore/SimplCore.hs, line 1024
|    Not shorting out: ebv_uniq
|  
|  
|  And with `-g` I get even more:
|  
|  
|  $ "inplace/bin/ghc-stage1" -hisuf hi -osuf o -hcsuf hc -static -O0 -H64m -
|  Wall -fllvm-fill-undef-with-garbage -Werror -Iincludes -Iincludes/dist -
|  Iincludes/dist-derivedconstants/header
|  -Iincludes/dist-ghcconstants/header -this-unit-id ghc-8.3 -hide-all-packages
|  -i -icompiler/backpack -icompiler/basicTypes -icompiler/cmm -
|  icompiler/codeGen -icompiler/coreSyn -icompiler/deSugar -icompiler/ghci -
|  icompiler/hsSyn -icompiler/iface -icompiler/llvmGen -icompiler/main -
|  icompiler/nativeGen -icompiler/parser -icompiler/prelude -
|  icompiler/profiling -icompiler/rename -icompiler/simplCore -
|  icompiler/simplStg -icompiler/specialise -icompiler/stgSyn -
|  icompiler/stranal -icompiler/typecheck -icompiler/types -icompiler/utils -
|  icompiler/vectorise -icompiler/stage2/build -Icompiler/stage2/build -
|  icompiler/stage2/build/./autogen -Icompiler/stage2/build/./autogen -
|  Icompiler/. -Icompiler/parser -Icompiler/utils -Icompiler/../rts/dist/build
|  -Icompiler/stage2 -optP-DGHCI -optP-include -
|  optPcompiler/stage2/build/./autogen/cabal_macros.h
|  -package-id base-4.10.0.0 -package-id deepseq-1.4.3.0 -package-id
|  directory-1.3.0.2 -package-id process-1.6.1.0 -package-id
|  bytestring-0.10.8.2 -package-id binary-0.8.5.1 -package-id
|  time-1.8.0.2 -package-id containers-0.5.10.2 -package-id array-0.5.2.0 -
|  package-id filepath-1.4.1.2 -package-id template-haskell-2.12.0.0 -package-
|  id hpc-0.6.0.3 -package-id transformers-0.5.2.0 -package-id
|  ghc-boot-8.3 -package-id ghc-boot-th-8.3 -package-id ghci-8.3 -package-id
|  unix-2.7.2.2 -package-id terminfo-0.4.1.0 -Wall -fno-warn-name-shadowing -
|  this-unit-id ghc -XHaskell2010 -optc-DTHREADED_RTS -
|  DGHCI_TABLES_NEXT_TO_CODE -DSTAGE=2 -Rghc-timing
|  -O1 -g -no-user-package-db -rtsopts -Wnoncanonical-monad-instances -odir
|  compiler/stage2/build -hidir compiler/stage2/build -stubdir
|  compiler/stage2/build -dynamic-too -c compiler/typecheck/TcEvidence.hs -o
|  compiler/stage2/build/TcEvidence.o -dyno
|  compiler/stage2/build/TcEvidence.dyn_o
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_so9S]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_so9R]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sonu]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sot1]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sot6]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sotd]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sotA]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_sos3]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soqV]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [$j_soqB]
|  WARNING: file compiler/simplCore/SimplCore.hs, line 700
|    Simplifier bailing out after 4 iterations [714, 479, 80, 4]
|      Size = {terms: 8,035, types: 8,864, coercions: 1,129, joins: 0/96}
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0]
|  WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|    OccurAnal failed to rediscover join point(s): [go58_akL0] ... ETC.
|  
|  Cheers,
|  
|      Gabor
|  
|  
|  
|  >
|  > Cheers,
|  >
|  >       Gabor
|  >
|  > Em seg, 21 de ago de 2017 às 17:49, Simon Peyton Jones <
|  > simonpj at microsoft.com> escreveu:
|  >
|  >> |  Oh dear, then I've really misunderstood the intent of this warning.
|  >> I've
|  >> |  been noticing these during the GHC build for quite some time now.
|  >
|  >> Really?
|  >
|  >> After stumbling on #14142, I removed -dno-debug-output from
|  >> mk/flavours/ validate.mk and re-validated.  Not a single occurrence
|  >> of
|  >
|  >> |  > | WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|  >> |  > |   OccurAnal failed to rediscover join point(s): [go58_akKa]
|  >
|  >> How can I reproduce what you are seeing?
|  >
|  >> Simon
|  >
|  >> |  -----Original Message-----
|  >> |  From: Ben Gamari [mailto:ben at smart-cactus.org]
|  >> |  Sent: 19 August 2017 16:54
|  >> |  To: Simon Peyton Jones <simonpj at microsoft.com>; Gabor Greif
|  >> | <ggreif at gmail.com>
|  >> |  Cc: ghc-devs <ghc-devs at haskell.org>
|  >> |  Subject: RE: Stg-lint and bootstrapping (fails?)
|  >> |
|  >> |  Simon Peyton Jones <simonpj at microsoft.com> writes:
|  >> |
|  >> |  > | WARNING: file compiler/simplCore/OccurAnal.hs, line 2695
|  >> |  > |   OccurAnal failed to rediscover join point(s): [go58_akKa]
|  >> |  >
|  >> |  > That shouldn't happen!  If you can make a repro case, please
|  >> | open a  ticket.
|  >> |  >
|  >> |  Oh dear, then I've really misunderstood the intent of this warning.
|  >> I've
|  >> |  been noticing these during the GHC build for quite some time now.
|  >> |
|  >> |  Cheers,
|  >> |
|  >> |  - Ben
|  >
|  >
|  >


More information about the ghc-devs mailing list