Improve inlining for INLINE non-functions
authorsimonpj@microsoft.com <unknown>
Tue, 4 Dec 2007 11:49:55 +0000 (11:49 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 4 Dec 2007 11:49:55 +0000 (11:49 +0000)
commit30c39066cfbbb9380fff1f3266405d37af798009
tree7a52a01b0a9fd88392a79d134beab231c4153fcb
parenta8984a8784090c853a27e832f31e8dd157d01216
Improve inlining for INLINE non-functions

(No need to merge to 6.8, but no harm if a subsequent patch needs it.)

The proximate cause for this patch is to improve the inlining for INLINE
things that are not functions; this came up in the NDP project.  See
Note [Lone variables] in CoreUnfold.

This caused some refactoring that actually made things simpler.  In
particular, more of the inlining logic has moved from SimplUtils to
CoreUnfold, where it belongs.
compiler/coreSyn/CoreUnfold.lhs
compiler/simplCore/SimplEnv.lhs
compiler/simplCore/SimplUtils.lhs
compiler/simplCore/Simplify.lhs