+-- Constructing Cmm Labels
+
+-- | Pretend that wired-in names from the RTS are in a top-level module called RTS,
+-- located in the RTS package. It doesn't matter what module they're actually in
+-- as long as that module is in the correct package.
+topRtsModule :: Module
+topRtsModule = mkModule rtsPackageId (mkModuleNameFS (fsLit "RTS"))
+
+mkSplitMarkerLabel = CmmLabel topRtsModule (fsLit "__stg_split_marker") CmmCode
+mkDirty_MUT_VAR_Label = CmmLabel topRtsModule (fsLit "dirty_MUT_VAR") CmmCode
+mkUpdInfoLabel = CmmLabel topRtsModule (fsLit "stg_upd_frame") CmmInfo
+mkIndStaticInfoLabel = CmmLabel topRtsModule (fsLit "stg_IND_STATIC") CmmInfo
+mkMainCapabilityLabel = CmmLabel topRtsModule (fsLit "MainCapability") CmmData
+mkMAP_FROZEN_infoLabel = CmmLabel topRtsModule (fsLit "stg_MUT_ARR_PTRS_FROZEN0") CmmInfo
+mkMAP_DIRTY_infoLabel = CmmLabel topRtsModule (fsLit "stg_MUT_ARR_PTRS_DIRTY") CmmInfo
+mkEMPTY_MVAR_infoLabel = CmmLabel topRtsModule (fsLit "stg_EMPTY_MVAR") CmmInfo
+mkTopTickyCtrLabel = CmmLabel topRtsModule (fsLit "top_ct") CmmData
+mkCAFBlackHoleInfoTableLabel = CmmLabel topRtsModule (fsLit "stg_CAF_BLACKHOLE") CmmInfo
+
+-----
+mkRtsInfoLabel, mkRtsEntryLabel, mkRtsRetInfoLabel, mkRtsRetLabel,
+ mkRtsCodeLabel, mkRtsDataLabel, mkRtsGcPtrLabel
+ :: FastString -> CLabel
+
+mkRtsInfoLabel str = CmmLabel topRtsModule str CmmInfo
+mkRtsEntryLabel str = CmmLabel topRtsModule str CmmEntry
+mkRtsRetInfoLabel str = CmmLabel topRtsModule str CmmRetInfo
+mkRtsRetLabel str = CmmLabel topRtsModule str CmmRet
+mkRtsCodeLabel str = CmmLabel topRtsModule str CmmCode
+mkRtsDataLabel str = CmmLabel topRtsModule str CmmData
+mkRtsGcPtrLabel str = CmmLabel topRtsModule str CmmGcPtr
+
+
+-- Constructing RtsLabels