-cmmDataLlvmGens
- :: DynFlags
- -> BufHandle
- -> [RawCmmTop]
- -> IO ( LlvmEnv )
-
-cmmDataLlvmGens _ _ []
- = return ( initLlvmEnv )
-
-cmmDataLlvmGens dflags h cmm =
- let exData (CmmData s d) = [(s,d)]
- exData _ = []
-
- exProclbl (CmmProc i l _ _)
- | not (null i) = [strCLabel_llvm $ entryLblToInfoLbl l]
- exProclbl (CmmProc _ l _ _) | otherwise = [strCLabel_llvm l]
- exProclbl _ = []
-
- cproc = concat $ map exProclbl cmm
- cdata = concat $ map exData cmm
- env = foldl (\e l -> funInsert l llvmFunTy e) initLlvmEnv cproc
- in cmmDataLlvmGens' dflags h env cdata []
-
-cmmDataLlvmGens'
- :: DynFlags
- -> BufHandle
- -> LlvmEnv
- -> [(Section, [CmmStatic])]
- -> [LlvmUnresData]
- -> IO ( LlvmEnv )
-
-cmmDataLlvmGens' dflags h env [] lmdata
- = do
- let (env', lmdata') = resolveLlvmDatas dflags env lmdata []
- let lmdoc = Prt.vcat $ map (pprLlvmData dflags) lmdata'
+cmmDataLlvmGens :: DynFlags -> BufHandle -> LlvmEnv -> [(Section,[CmmStatic])]
+ -> [LlvmUnresData] -> IO ( LlvmEnv )