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