[commit: ghc] master: Source notes (Cmm support) (7ceaf96)

git at git.haskell.org git at git.haskell.org
Tue Dec 16 21:02:20 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/7ceaf96fde63bd45dfc1e08a975cba0ee280eb7b/ghc

>---------------------------------------------------------------

commit 7ceaf96fde63bd45dfc1e08a975cba0ee280eb7b
Author: Peter Wortmann <scpmw at leeds.ac.uk>
Date:   Tue Oct 14 23:11:43 2014 +0200

    Source notes (Cmm support)
    
    This patch adds CmmTick nodes to Cmm code. This is relatively
    straight-forward, but also not very useful, as many blocks will simply
    end up with no annotations whatosever.
    
    Notes:
    
    * We use this design over, say, putting ticks into the entry node of all
      blocks, as it seems to work better alongside existing optimisations.
      Now granted, the reason for this is that currently GHC's main Cmm
      optimisations seem to mainly reorganize and merge code, so this might
      change in the future.
    
    * We have the Cmm parser generate a few source notes as well. This is
      relatively easy to do - worst part is that it complicates the CmmParse
      implementation a bit.
    
    (From Phabricator D169)


>---------------------------------------------------------------

7ceaf96fde63bd45dfc1e08a975cba0ee280eb7b
 compiler/cmm/CmmCommonBlockElim.hs      | 35 +++++++++++++++++++++++++----
 compiler/cmm/CmmLint.hs                 |  1 +
 compiler/cmm/CmmNode.hs                 | 14 +++++++++++-
 compiler/cmm/CmmParse.y                 | 30 +++++++++++++++++++------
 compiler/cmm/CmmUtils.hs                | 20 ++++++++++++++++-
 compiler/cmm/PprC.hs                    |  2 ++
 compiler/cmm/PprCmm.hs                  | 10 ++++++++-
 compiler/codeGen/StgCmmExpr.hs          |  1 +
 compiler/codeGen/StgCmmExtCode.hs       | 40 ++++++++++++++++++++-------------
 compiler/codeGen/StgCmmMonad.hs         |  4 ++++
 compiler/coreSyn/CoreSyn.hs             |  1 -
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs |  1 +
 compiler/nativeGen/PPC/CodeGen.hs       |  1 +
 compiler/nativeGen/SPARC/CodeGen.hs     |  1 +
 compiler/nativeGen/X86/CodeGen.hs       |  1 +
 15 files changed, 132 insertions(+), 30 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 7ceaf96fde63bd45dfc1e08a975cba0ee280eb7b


More information about the ghc-commits mailing list