import LlvmMangler
import CLabel
-import Cmm
import CgUtils ( fixStgRegisters )
-import PprCmm
+import OldCmm
+import OldPprCmm
import BufWrite
import DynFlags
import qualified Pretty as Prt
import UniqSupply
import Util
+import SysTools ( figureLlvmVersion )
+import Data.Maybe ( fromMaybe )
import System.IO
-- -----------------------------------------------------------------------------
llvmCodeGen dflags h us cmms
= let cmm = concat $ map (\(Cmm top) -> top) cmms
(cdata,env) = foldr split ([],initLlvmEnv) cmm
- split (CmmData s d' ) (d,e) = ((s,d'):d,e)
- split (CmmProc i l _ _) (d,e) =
+ split (CmmData s d' ) (d,e) = ((s,d'):d,e)
+ split (CmmProc i l _) (d,e) =
let lbl = strCLabel_llvm $ if not (null i)
then entryLblToInfoLbl l
else l
in do
bufh <- newBufHandle h
Prt.bufLeftRender bufh $ pprLlvmHeader
-
- env' <- cmmDataLlvmGens dflags bufh env cdata []
+ ver <- (fromMaybe defaultLlvmVersion) `fmap` figureLlvmVersion dflags
+
+ env' <- cmmDataLlvmGens dflags bufh (setLlvmVer ver env) cdata []
cmmProcLlvmGens dflags bufh us env' cmm 1 []
bFlush bufh