-pprCmmStatic :: DynFlags -> LlvmEnv -> Int -> [CmmStatic] -> (Doc, [LlvmVar])
-pprCmmStatic dflags env count stat
- = let unres = genLlvmData dflags (Data,stat)
- (_, (ldata, ltypes)) = resolveLlvmData dflags env unres
-
- setSection (gv@(LMGlobalVar s ty l _ _), d)
- = let v = if l == Internal then [gv] else []
- sec = mkLayoutSection count
- in ((LMGlobalVar s ty l sec llvmInfAlign, d), v)
+pprInfoTable :: LlvmEnv -> Int -> CLabel -> [CmmStatic] -> (Doc, [LlvmVar])
+pprInfoTable env count lbl stat
+ = let unres = genLlvmData (Text, stat)
+ (_, (ldata, ltypes)) = resolveLlvmData env unres
+
+ setSection ((LMGlobalVar _ ty l _ _ c), d)
+ = let sec = mkLayoutSection count
+ ilabel = strCLabel_llvm (entryLblToInfoLbl lbl)
+ `appendFS` fsLit iTableSuf
+ gv = LMGlobalVar ilabel ty l sec llvmInfAlign c
+ v = if l == Internal then [gv] else []
+ in ((gv, d), v)