module GHC.CmmToLlvm.Config
( LlvmCgConfig(..)
, LlvmVersion(..)
)
where
import GHC.Prelude
import GHC.Platform
import GHC.Utils.Outputable
import GHC.Driver.Session
import qualified Data.List.NonEmpty as NE
newtype LlvmVersion = LlvmVersion { llvmVersionNE :: NE.NonEmpty Int }
deriving (Eq, Ord)
data LlvmCgConfig = LlvmCgConfig
{ llvmCgPlatform :: !Platform
, llvmCgContext :: !SDocContext
, llvmCgFillUndefWithGarbage :: !Bool
, llvmCgSplitSection :: !Bool
, llvmCgBmiVersion :: Maybe BmiVersion
, llvmCgLlvmVersion :: Maybe LlvmVersion
, llvmCgDoWarn :: !Bool
, llvmCgLlvmTarget :: !String
, llvmCgLlvmConfig :: !LlvmConfig
}