summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/MachCodeGen.hs
diff options
context:
space:
mode:
authorMichael D. Adams <t-madams@microsoft.com>2007-06-27 15:09:03 +0000
committerMichael D. Adams <t-madams@microsoft.com>2007-06-27 15:09:03 +0000
commitaffbe8dae5d7eb350686b42ddbd4f3561b7bd0ec (patch)
tree7558970725c9e17e0017d6c825949d8e178d3445 /compiler/nativeGen/MachCodeGen.hs
parent207802589da0d23c3f16195f453b24a1e46e322d (diff)
downloadhaskell-affbe8dae5d7eb350686b42ddbd4f3561b7bd0ec.tar.gz
Added an SRT to each CmmCall and added the current SRT to the CgMonad
Diffstat (limited to 'compiler/nativeGen/MachCodeGen.hs')
-rw-r--r--compiler/nativeGen/MachCodeGen.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/nativeGen/MachCodeGen.hs b/compiler/nativeGen/MachCodeGen.hs
index 792bbcecfa..dc79d95ce5 100644
--- a/compiler/nativeGen/MachCodeGen.hs
+++ b/compiler/nativeGen/MachCodeGen.hs
@@ -29,6 +29,7 @@ import PprCmm ( pprExpr )
import Cmm
import MachOp
import CLabel
+import ClosureInfo ( C_SRT(..) )
-- The rest:
import StaticFlags ( opt_PIC )
@@ -119,7 +120,7 @@ stmtToInstrs stmt = case stmt of
| otherwise -> assignMem_IntCode kind addr src
where kind = cmmExprRep src
- CmmCall target result_regs args
+ CmmCall target result_regs args _
-> genCCall target result_regs args
CmmBranch id -> genBranch id
@@ -3181,13 +3182,13 @@ outOfLineFloatOp mop res args
if localRegRep res == F64
then
- stmtToInstrs (CmmCall target [(res,FloatHint)] args)
+ stmtToInstrs (CmmCall target [(res,FloatHint)] args NoC_SRT)
else do
uq <- getUniqueNat
let
tmp = LocalReg uq F64 KindNonPtr
-- in
- code1 <- stmtToInstrs (CmmCall target [(tmp,FloatHint)] args)
+ code1 <- stmtToInstrs (CmmCall target [(tmp,FloatHint)] args NoC_SRT)
code2 <- stmtToInstrs (CmmAssign (CmmLocal res) (CmmReg (CmmLocal tmp)))
return (code1 `appOL` code2)
where