projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve handling of inline pragmas, esp where type applications are involved
[ghc-hetmet.git]
/
compiler
/
codeGen
/
CgHpc.hs
diff --git
a/compiler/codeGen/CgHpc.hs
b/compiler/codeGen/CgHpc.hs
index
ed58daa
..
5992684
100644
(file)
--- a/
compiler/codeGen/CgHpc.hs
+++ b/
compiler/codeGen/CgHpc.hs
@@
-48,7
+48,7
@@
hpcTable this_mod (HpcInfo hpc_tickCount _) = do
emitData Data $ [ CmmDataLabel (mkHpcTicksLabel this_mod)
] ++
[ CmmStaticLit (CmmInt 0 I64)
emitData Data $ [ CmmDataLabel (mkHpcTicksLabel this_mod)
] ++
[ CmmStaticLit (CmmInt 0 I64)
- | _ <- take hpc_tickCount [0..]
+ | _ <- take hpc_tickCount [0::Int ..]
]
where
module_name_str = moduleNameString (Module.moduleName this_mod)
]
where
module_name_str = moduleNameString (Module.moduleName this_mod)
@@
-57,7
+57,7
@@
hpcTable this_mod (HpcInfo hpc_tickCount _) = do
else packageIdString (modulePackageId this_mod) ++ "/" ++
module_name_str
else packageIdString (modulePackageId this_mod) ++ "/" ++
module_name_str
-hpcTable this_mod (NoHpcInfo) = error "TODO: impossible"
+hpcTable this_mod (NoHpcInfo {}) = error "TODO: impossible"
initHpc :: Module -> HpcInfo -> Code
initHpc this_mod (HpcInfo tickCount hashNo)
initHpc :: Module -> HpcInfo -> Code
initHpc this_mod (HpcInfo tickCount hashNo)
@@
-65,7
+65,7
@@
initHpc this_mod (HpcInfo tickCount hashNo)
; emitForeignCall'
PlayRisky
[(id,NoHint)]
; emitForeignCall'
PlayRisky
[(id,NoHint)]
- (CmmForeignCall
+ (CmmCallee
(CmmLit $ CmmLabel $ mkForeignLabel mod_alloc Nothing False)
CCallConv
)
(CmmLit $ CmmLabel $ mkForeignLabel mod_alloc Nothing False)
CCallConv
)
@@
-76,6
+76,7
@@
initHpc this_mod (HpcInfo tickCount hashNo)
]
(Just [])
NoC_SRT -- No SRT b/c we PlayRisky
]
(Just [])
NoC_SRT -- No SRT b/c we PlayRisky
+ CmmMayReturn
}
where
mod_alloc = mkFastString "hs_hpc_module"
}
where
mod_alloc = mkFastString "hs_hpc_module"