+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
-----------------------------------------------------------------------------
--
-- Machine-dependent assembly language
--
-----------------------------------------------------------------------------
-{-# OPTIONS -w #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and fix
--- any warnings in the module. See
--- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
--- for details
-
#include "nativeGen/NCG.h"
module MachInstrs (
#include "HsVersions.h"
+import BlockId
import MachRegs
import Cmm
import MachOp ( MachRep(..) )
-- Our flavours of the Cmm types
-- Type synonyms for Cmm populated with native code
-type NatCmm = GenCmm CmmStatic [CmmStatic] Instr
-type NatCmmTop = GenCmmTop CmmStatic [CmmStatic] Instr
+type NatCmm = GenCmm CmmStatic [CmmStatic] (ListGraph Instr)
+type NatCmmTop = GenCmmTop CmmStatic [CmmStatic] (ListGraph Instr)
type NatBasicBlock = GenBasicBlock Instr
-- -----------------------------------------------------------------------------
| GABS MachRep Reg Reg -- src, dst
| GNEG MachRep Reg Reg -- src, dst
| GSQRT MachRep Reg Reg -- src, dst
- | GSIN MachRep Reg Reg -- src, dst
- | GCOS MachRep Reg Reg -- src, dst
- | GTAN MachRep Reg Reg -- src, dst
+ | GSIN MachRep CLabel CLabel Reg Reg -- src, dst
+ | GCOS MachRep CLabel CLabel Reg Reg -- src, dst
+ | GTAN MachRep CLabel CLabel Reg Reg -- src, dst
| GFREE -- do ffree on all x86 regs; an ugly hack
#endif
GSUB _ _ _ _ -> True; GMUL _ _ _ _ -> True
GCMP _ _ _ -> True; GABS _ _ _ -> True
GNEG _ _ _ -> True; GSQRT _ _ _ -> True
- GSIN _ _ _ -> True; GCOS _ _ _ -> True; GTAN _ _ _ -> True
+ GSIN _ _ _ _ _ -> True; GCOS _ _ _ _ _ -> True; GTAN _ _ _ _ _ -> True
GFREE -> panic "is_G_instr: GFREE (!)"
other -> False
#endif /* i386_TARGET_ARCH */