Occurrrence analysis improvements for NOINLINE functions
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 8 Dec 2017 15:39:05 +0000 (15:39 +0000)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 8 Dec 2017 15:42:55 +0000 (15:42 +0000)
commit5695f462f604fc63cbb45a7f3073bc114f9b475f
tree06794ef33eb835ee89022c8385fef3aadb63f2f0
parent800009d9b78a9b2877e7efc889e8a0b21873990d
Occurrrence analysis improvements for NOINLINE functions

This patch fixes #14567.  The idea is simple: if a function
is marked NOINLINE then it makes a great candidate for a loop
breaker.

Implementation is easy too, but it needs a little extra plubming,
notably the occ_unf_act field in OccEnv
compiler/coreSyn/CoreOpt.hs
compiler/simplCore/OccurAnal.hs
compiler/simplCore/SimplCore.hs
compiler/simplCore/SimplUtils.hs
compiler/simplCore/Simplify.hs