projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add count of reg-reg moves remaining for linear allocator stats
[ghc-hetmet.git]
/
compiler
/
codeGen
/
CgPrimOp.hs
diff --git
a/compiler/codeGen/CgPrimOp.hs
b/compiler/codeGen/CgPrimOp.hs
index
049e12a
..
5ea5023
100644
(file)
--- a/
compiler/codeGen/CgPrimOp.hs
+++ b/
compiler/codeGen/CgPrimOp.hs
@@
-121,6
+121,7
@@
emitPrimOp [res] ParOp [arg] live
[(CmmReg (CmmGlobal BaseReg), PtrHint), (arg,PtrHint)]
(Just vols)
NoC_SRT -- No SRT b/c we do PlayRisky
[(CmmReg (CmmGlobal BaseReg), PtrHint), (arg,PtrHint)]
(Just vols)
NoC_SRT -- No SRT b/c we do PlayRisky
+ CmmMayReturn
where
newspark = CmmLit (CmmLabel (mkRtsCodeLabel SLIT("newSpark")))
where
newspark = CmmLit (CmmLabel (mkRtsCodeLabel SLIT("newSpark")))
@@
-138,6
+139,7
@@
emitPrimOp [] WriteMutVarOp [mutv,var] live
[(CmmReg (CmmGlobal BaseReg), PtrHint), (mutv,PtrHint)]
(Just vols)
NoC_SRT -- No SRT b/c we do PlayRisky
[(CmmReg (CmmGlobal BaseReg), PtrHint), (mutv,PtrHint)]
(Just vols)
NoC_SRT -- No SRT b/c we do PlayRisky
+ CmmMayReturn
-- #define sizzeofByteArrayzh(r,a) \
-- r = (((StgArrWords *)(a))->words * sizeof(W_))
-- #define sizzeofByteArrayzh(r,a) \
-- r = (((StgArrWords *)(a))->words * sizeof(W_))
@@
-344,6
+346,7
@@
emitPrimOp [res] op args live
[(a,NoHint) | a<-args] -- ToDo: hints?
(Just vols)
NoC_SRT -- No SRT b/c we do PlayRisky
[(a,NoHint) | a<-args] -- ToDo: hints?
(Just vols)
NoC_SRT -- No SRT b/c we do PlayRisky
+ CmmMayReturn
| Just mop <- translateOp op
= let stmt = CmmAssign (CmmLocal res) (CmmMachOp mop args) in
| Just mop <- translateOp op
= let stmt = CmmAssign (CmmLocal res) (CmmMachOp mop args) in