summaryrefslogtreecommitdiff
path: root/compiler/cmm
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2015-10-30 20:59:45 +0100
committerBen Gamari <ben@smart-cactus.org>2015-11-23 17:48:17 +0100
commit40be9091a98e6ea56b845294d916d2324f6d5062 (patch)
tree434dfdedc82769df25b05d6dd1f8a1123d41c6d2 /compiler/cmm
parent7aaeaf81ea95c36fe1dc4da449cf6092a792fd09 (diff)
downloadhaskell-40be9091a98e6ea56b845294d916d2324f6d5062.tar.gz
Dwarf: Ensure tick parentage is preserved
Differential Revision: https://phabricator.haskell.org/D1387
Diffstat (limited to 'compiler/cmm')
-rw-r--r--compiler/cmm/Debug.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/cmm/Debug.hs b/compiler/cmm/Debug.hs
index 83db2a1057..fa4d6458a0 100644
--- a/compiler/cmm/Debug.hs
+++ b/compiler/cmm/Debug.hs
@@ -48,6 +48,8 @@ data DebugBlock =
, dblLabel :: !Label -- ^ Hoopl label
, dblCLabel :: !CLabel -- ^ Output label
, dblHasInfoTbl :: !Bool -- ^ Has an info table?
+ , dblParent :: !(Maybe DebugBlock)
+ -- ^ The parent of this proc. See Note [Splitting DebugBlocks]
, dblTicks :: ![CmmTickish] -- ^ Ticks defined in this block
, dblSourceTick
:: !(Maybe CmmTickish) -- ^ Best source tick covering block
@@ -158,6 +160,7 @@ cmmDebugGen modLoc decls = map (blocksForScope Nothing) topScopes
| g_entry graph == label -> entryLbl
| otherwise -> blockLbl label
, dblHasInfoTbl = isJust info
+ , dblParent = Nothing
, dblTicks = ticks
, dblPosition = Nothing -- see cmmDebugLink
, dblUnwind = unwind