[project @ 2001-03-23 10:44:08 by simonpj]
authorsimonpj <unknown>
Fri, 23 Mar 2001 10:44:08 +0000 (10:44 +0000)
committersimonpj <unknown>
Fri, 23 Mar 2001 10:44:08 +0000 (10:44 +0000)
commit86d20be7a4d19c1808b34528840d12325739fd5e
tree7d208f33ccf91926ef39e9ecd58551a798383108
parent6aae7d069771a18e31dceacb1996b10eddc693de
[project @ 2001-03-23 10:44:08 by simonpj]
-----------------------------------
Remove a redundant test in WorkWrap
-----------------------------------

We were making a worker/wrapper for an INLINE
function when it wasn't necessary, and that's a Bad Idea.
As the comment with WorkWrap.tryWW now says:

-- It's very important to refrain from w/w-ing an INLINE function
-- If we do so by mistake we transform
-- f = __inline (\x -> E)
-- into
-- f = __inline (\x -> case x of (a,b) -> fw E)
-- fw = \ab -> (__inline (\x -> E)) (a,b)
-- and the original __inline now vanishes, so E is no longer
-- inside its __inline wrapper.  Death!  Disaster!

There was one case when we did w/w it (to do with coercions),
but it turned out to be a vestige, as the OUT OF DATE NOTE says.
ghc/compiler/stranal/WorkWrap.lhs