X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2FnativeGen%2FMachCodeGen.hs;h=dc79d95ce5b43d72ad5f5a12b03f144aae22d537;hb=affbe8dae5d7eb350686b42ddbd4f3561b7bd0ec;hp=792bbcecfa6a7a084e6560c29590aae1fe5293eb;hpb=207802589da0d23c3f16195f453b24a1e46e322d;p=ghc-hetmet.git diff --git a/compiler/nativeGen/MachCodeGen.hs b/compiler/nativeGen/MachCodeGen.hs index 792bbce..dc79d95 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