summaryrefslogtreecommitdiff
path: root/compiler/simplCore/FloatIn.lhs
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2006-06-05 11:49:00 +0000
committersimonpj@microsoft.com <unknown>2006-06-05 11:49:00 +0000
commitf2dcf256399e9a2de6343c625630b51f8abf4863 (patch)
tree947b7f3b00bd7ba91332550311f9e22e9beaa7f3 /compiler/simplCore/FloatIn.lhs
parent8382f3ad690ab5c26bc3866f9b024bc7a2bc6308 (diff)
downloadhaskell-f2dcf256399e9a2de6343c625630b51f8abf4863.tar.gz
Remove InlinePlease and add inline function and RULE
For a long time GHC has had some internal mechanism designed to support a call-site inline directive, thus inline f xs makes f be inlined at the call site even if f is big. However, the surface syntax seems to have gone, and in any case it can be done more neatly using a RULE. This commit: * Removes the InlineCall constructor for Note and InlinePlease for SimplCont * Adds a new known-key Id called 'inline', whose definition in GHC.Base is just the identity function * Adds a built-in RULE in PrelRules that rewrites (inline f) to the body of f, if possible * Adds documentation NOTE: I have not tested this (aeroplane work). Give it a try!
Diffstat (limited to 'compiler/simplCore/FloatIn.lhs')
-rw-r--r--compiler/simplCore/FloatIn.lhs5
1 files changed, 0 insertions, 5 deletions
diff --git a/compiler/simplCore/FloatIn.lhs b/compiler/simplCore/FloatIn.lhs
index 0e8edb5930..0d4e397e29 100644
--- a/compiler/simplCore/FloatIn.lhs
+++ b/compiler/simplCore/FloatIn.lhs
@@ -208,11 +208,6 @@ fiExpr to_drop (_, AnnNote note@(SCC cc) expr)
= -- Wimp out for now
mkCoLets' to_drop (Note note (fiExpr [] expr))
-fiExpr to_drop (_, AnnNote InlineCall expr)
- = -- Wimp out for InlineCall; keep it close
- -- the the call it annotates
- mkCoLets' to_drop (Note InlineCall (fiExpr [] expr))
-
fiExpr to_drop (_, AnnNote InlineMe expr)
= -- Ditto... don't float anything into an INLINE expression
mkCoLets' to_drop (Note InlineMe (fiExpr [] expr))