diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2019-10-20 02:30:01 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-10-23 05:59:04 -0400 |
commit | 6beea836094383eea96b15e526f31b5426aea630 (patch) | |
tree | eedb44be3fa4f86d085f3cfa2bb905b13cefccf4 /compiler/main/CodeOutput.hs | |
parent | 9c1f0f7c384eb2e38911b9a9b083ecda0970a060 (diff) | |
download | haskell-6beea836094383eea96b15e526f31b5426aea630.tar.gz |
Make dynflag argument for withTiming pure.
19 times out of 20 we already have dynflags in scope.
We could just always use `return dflags`. But this is in fact not free.
When looking at some STG code I noticed that we always allocate a
closure for this expression in the heap. Clearly a waste in these cases.
For the other cases we can either just modify the callsite to
get dynflags or use the _D variants of withTiming I added which
will use getDynFlags under the hood.
Diffstat (limited to 'compiler/main/CodeOutput.hs')
-rw-r--r-- | compiler/main/CodeOutput.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/main/CodeOutput.hs b/compiler/main/CodeOutput.hs index 96a754d6f0..01d714d57a 100644 --- a/compiler/main/CodeOutput.hs +++ b/compiler/main/CodeOutput.hs @@ -71,7 +71,7 @@ codeOutput dflags this_mod filenm location foreign_stubs foreign_fps pkg_deps else cmm_stream do_lint cmm = withTimingSilent - (pure dflags) + dflags (text "CmmLint"<+>brackets (ppr this_mod)) (const ()) $ do { case cmmLint dflags cmm of @@ -118,7 +118,7 @@ outputC :: DynFlags outputC dflags filenm cmm_stream packages = do - withTiming (return dflags) (text "C codegen") (\a -> seq a () {- FIXME -}) $ do + withTiming dflags (text "C codegen") (\a -> seq a () {- FIXME -}) $ do -- figure out which header files to #include in the generated .hc file: -- |