-- | module LLVM.Target.Options where import LLVM.Prelude -- | data FloatABI = FloatABIDefault | FloatABISoft | FloatABIHard deriving (Eq, Ord, Read, Show, Enum, Bounded, Typeable, Data, Generic) -- | data FloatingPointOperationFusionMode = FloatingPointOperationFusionFast | FloatingPointOperationFusionStandard | FloatingPointOperationFusionStrict deriving (Eq, Ord, Read, Show, Enum, Bounded, Typeable, Data, Generic) -- | data DebugCompressionType = CompressNone -- ^ No compression | CompressGNU -- ^ zlib-gnu style compression | CompressZ -- ^ zlib style compression deriving (Eq, Ord, Read, Show, Enum, Bounded, Typeable, Data, Generic) -- | The options of a 'LLVM.Target.TargetOptions' -- data Options = Options { printMachineCode :: Bool, unsafeFloatingPointMath :: Bool, noInfinitiesFloatingPointMath :: Bool, noNaNsFloatingPointMath :: Bool, honorSignDependentRoundingFloatingPointMathOption :: Bool, noZerosInBSS :: Bool, guaranteedTailCallOptimization :: Bool, enableFastInstructionSelection :: Bool, useInitArray :: Bool, disableIntegratedAssembler :: Bool, compressDebugSections :: DebugCompressionType, trapUnreachable :: Bool, stackAlignmentOverride :: Word32, floatABIType :: FloatABI, allowFloatingPointOperationFusion :: FloatingPointOperationFusionMode } deriving (Eq, Ord, Read, Show)