packages feed

llvm-general 3.5.1.0 → 3.5.1.1

raw patch · 2 files changed

+51/−35 lines, 2 filesdep ~llvm-generaldep ~transformerssetup-changedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: llvm-general, transformers

API changes (from Hackage documentation)

- LLVM.General.CodeGenOpt: instance Data Level
- LLVM.General.CodeGenOpt: instance Eq Level
- LLVM.General.CodeGenOpt: instance Ord Level
- LLVM.General.CodeGenOpt: instance Read Level
- LLVM.General.CodeGenOpt: instance Show Level
- LLVM.General.CodeGenOpt: instance Typeable Level
- LLVM.General.CodeModel: instance Data Model
- LLVM.General.CodeModel: instance Eq Model
- LLVM.General.CodeModel: instance Read Model
- LLVM.General.CodeModel: instance Show Model
- LLVM.General.CodeModel: instance Typeable Model
- LLVM.General.Diagnostic: columnNumber :: Diagnostic -> Int
- LLVM.General.Diagnostic: diagnosticKind :: Diagnostic -> DiagnosticKind
- LLVM.General.Diagnostic: filename :: Diagnostic -> String
- LLVM.General.Diagnostic: instance Data DiagnosticKind
- LLVM.General.Diagnostic: instance Eq Diagnostic
- LLVM.General.Diagnostic: instance Eq DiagnosticKind
- LLVM.General.Diagnostic: instance Ord Diagnostic
- LLVM.General.Diagnostic: instance Ord DiagnosticKind
- LLVM.General.Diagnostic: instance Read Diagnostic
- LLVM.General.Diagnostic: instance Read DiagnosticKind
- LLVM.General.Diagnostic: instance Show Diagnostic
- LLVM.General.Diagnostic: instance Show DiagnosticKind
- LLVM.General.Diagnostic: instance Typeable DiagnosticKind
- LLVM.General.Diagnostic: lineContents :: Diagnostic -> String
- LLVM.General.Diagnostic: lineNumber :: Diagnostic -> Int
- LLVM.General.Diagnostic: message :: Diagnostic -> String
- LLVM.General.PassManager: dataLayout :: PassSetSpec -> Maybe DataLayout
- LLVM.General.PassManager: loopVectorize :: PassSetSpec -> Maybe Bool
- LLVM.General.PassManager: optLevel :: PassSetSpec -> Maybe Word
- LLVM.General.PassManager: simplifyLibCalls :: PassSetSpec -> Maybe Bool
- LLVM.General.PassManager: sizeLevel :: PassSetSpec -> Maybe Word
- LLVM.General.PassManager: superwordLevelParallelismVectorize :: PassSetSpec -> Maybe Bool
- LLVM.General.PassManager: targetLibraryInfo :: PassSetSpec -> Maybe TargetLibraryInfo
- LLVM.General.PassManager: targetMachine :: PassSetSpec -> Maybe TargetMachine
- LLVM.General.PassManager: transforms :: PassSetSpec -> [Pass]
- LLVM.General.PassManager: unitAtATime :: PassSetSpec -> Maybe Bool
- LLVM.General.PassManager: useInlinerWithThreshold :: PassSetSpec -> Maybe Word
- LLVM.General.Relocation: instance Data Model
- LLVM.General.Relocation: instance Eq Model
- LLVM.General.Relocation: instance Read Model
- LLVM.General.Relocation: instance Show Model
- LLVM.General.Relocation: instance Typeable Model
- LLVM.General.Target.Options: allowFloatingPointOperationFusion :: Options -> FloatingPointOperationFusionMode
- LLVM.General.Target.Options: compressDebugSections :: Options -> Bool
- LLVM.General.Target.Options: disableIntegratedAssembler :: Options -> Bool
- LLVM.General.Target.Options: disableTailCalls :: Options -> Bool
- LLVM.General.Target.Options: enableFastInstructionSelection :: Options -> Bool
- LLVM.General.Target.Options: floatABIType :: Options -> FloatABI
- LLVM.General.Target.Options: guaranteedTailCallOptimization :: Options -> Bool
- LLVM.General.Target.Options: honorSignDependentRoundingFloatingPointMathOption :: Options -> Bool
- LLVM.General.Target.Options: instance Bounded FloatABI
- LLVM.General.Target.Options: instance Bounded FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Data FloatABI
- LLVM.General.Target.Options: instance Data FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Enum FloatABI
- LLVM.General.Target.Options: instance Enum FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Eq FloatABI
- LLVM.General.Target.Options: instance Eq FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Eq Options
- LLVM.General.Target.Options: instance Ord FloatABI
- LLVM.General.Target.Options: instance Ord FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Ord Options
- LLVM.General.Target.Options: instance Read FloatABI
- LLVM.General.Target.Options: instance Read FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Read Options
- LLVM.General.Target.Options: instance Show FloatABI
- LLVM.General.Target.Options: instance Show FloatingPointOperationFusionMode
- LLVM.General.Target.Options: instance Show Options
- LLVM.General.Target.Options: instance Typeable FloatABI
- LLVM.General.Target.Options: instance Typeable FloatingPointOperationFusionMode
- LLVM.General.Target.Options: jITEmitDebugInfo :: Options -> Bool
- LLVM.General.Target.Options: jITEmitDebugInfoToDisk :: Options -> Bool
- LLVM.General.Target.Options: lessPreciseFloatingPointMultiplyAddOption :: Options -> Bool
- LLVM.General.Target.Options: noFramePointerElimination :: Options -> Bool
- LLVM.General.Target.Options: noInfinitiesFloatingPointMath :: Options -> Bool
- LLVM.General.Target.Options: noNaNsFloatingPointMath :: Options -> Bool
- LLVM.General.Target.Options: noZerosInBSS :: Options -> Bool
- LLVM.General.Target.Options: positionIndependentExecutable :: Options -> Bool
- LLVM.General.Target.Options: printMachineCode :: Options -> Bool
- LLVM.General.Target.Options: stackAlignmentOverride :: Options -> Word32
- LLVM.General.Target.Options: trapFunctionName :: Options -> String
- LLVM.General.Target.Options: trapUnreachable :: Options -> Bool
- LLVM.General.Target.Options: unsafeFloatingPointMath :: Options -> Bool
- LLVM.General.Target.Options: useInitArray :: Options -> Bool
- LLVM.General.Target.Options: useSoftFloat :: Options -> Bool
- LLVM.General.Transforms: alignedOnly :: Pass -> Bool
- LLVM.General.Transforms: allowPartial :: Pass -> Maybe Bool
- LLVM.General.Transforms: alwaysVectorize :: Pass -> Bool
- LLVM.General.Transforms: arrayElementThreshold :: Pass -> Maybe Word
- LLVM.General.Transforms: count :: Pass -> Maybe Word
- LLVM.General.Transforms: directory :: Pass -> Maybe FilePath
- LLVM.General.Transforms: emitData :: Pass -> Bool
- LLVM.General.Transforms: emitNotes :: Pass -> Bool
- LLVM.General.Transforms: exportList :: Pass -> [String]
- LLVM.General.Transforms: fastDependencyAnalysis :: Pass -> Bool
- LLVM.General.Transforms: fileName :: Pass -> Maybe FilePath
- LLVM.General.Transforms: functionInliningThreshold :: Pass -> Word
- LLVM.General.Transforms: functionNamesInData :: Pass -> Bool
- LLVM.General.Transforms: hideDebugIntrinsics :: Pass -> Bool
- LLVM.General.Transforms: hideDebugMetadata :: Pass -> Bool
- LLVM.General.Transforms: insertLifetime :: Pass -> Bool
- LLVM.General.Transforms: instance Data GCOVVersion
- LLVM.General.Transforms: instance Data Pass
- LLVM.General.Transforms: instance Eq GCOVVersion
- LLVM.General.Transforms: instance Eq Pass
- LLVM.General.Transforms: instance Ord GCOVVersion
- LLVM.General.Transforms: instance Ord Pass
- LLVM.General.Transforms: instance Read GCOVVersion
- LLVM.General.Transforms: instance Read Pass
- LLVM.General.Transforms: instance Show GCOVVersion
- LLVM.General.Transforms: instance Show Pass
- LLVM.General.Transforms: instance Typeable GCOVVersion
- LLVM.General.Transforms: instance Typeable Pass
- LLVM.General.Transforms: loopUnrollThreshold :: Pass -> Maybe Word
- LLVM.General.Transforms: maxCandidatePairsForCycleCheck :: Pass -> Word
- LLVM.General.Transforms: maxInstructions :: Pass -> Word
- LLVM.General.Transforms: maxIterations :: Pass -> Word
- LLVM.General.Transforms: noLoads :: Pass -> Bool
- LLVM.General.Transforms: noMemoryOperationBoost :: Pass -> Bool
- LLVM.General.Transforms: noRedZone :: Pass -> Bool
- LLVM.General.Transforms: noUnrolling :: Pass -> Bool
- LLVM.General.Transforms: oldScalarReplacementOfAggregatesThreshold :: Pass -> Maybe Word
- LLVM.General.Transforms: onlyDebugInfo :: Pass -> Bool
- LLVM.General.Transforms: optimizeForSize :: Pass -> Bool
- LLVM.General.Transforms: powerOfTwoLengthsOnly :: Pass -> Bool
- LLVM.General.Transforms: requiredChainDepth :: Pass -> Word
- LLVM.General.Transforms: requiresDominatorTree :: Pass -> Bool
- LLVM.General.Transforms: scalarLoadThreshold :: Pass -> Maybe Word
- LLVM.General.Transforms: searchLimit :: Pass -> Word
- LLVM.General.Transforms: splatBreaksChain :: Pass -> Bool
- LLVM.General.Transforms: structMemberThreshold :: Pass -> Maybe Word
- LLVM.General.Transforms: trackOrigins :: Pass -> Bool
- LLVM.General.Transforms: useCfgChecksum :: Pass -> Bool
- LLVM.General.Transforms: useDominatorTree :: Pass -> Bool
- LLVM.General.Transforms: vectorBits :: Pass -> Word
- LLVM.General.Transforms: vectorizeBools :: Pass -> Bool
- LLVM.General.Transforms: vectorizeCasts :: Pass -> Bool
- LLVM.General.Transforms: vectorizeCmp :: Pass -> Bool
- LLVM.General.Transforms: vectorizeFloats :: Pass -> Bool
- LLVM.General.Transforms: vectorizeFusedMultiplyAdd :: Pass -> Bool
- LLVM.General.Transforms: vectorizeGetElementPtr :: Pass -> Bool
- LLVM.General.Transforms: vectorizeInts :: Pass -> Bool
- LLVM.General.Transforms: vectorizeMath :: Pass -> Bool
- LLVM.General.Transforms: vectorizeMemoryOperations :: Pass -> Bool
- LLVM.General.Transforms: vectorizePointers :: Pass -> Bool
- LLVM.General.Transforms: vectorizeSelect :: Pass -> Bool
- LLVM.General.Transforms: version :: Pass -> GCOVVersion
+ LLVM.General.CodeGenOpt: instance Data.Data.Data LLVM.General.CodeGenOpt.Level
+ LLVM.General.CodeGenOpt: instance GHC.Classes.Eq LLVM.General.CodeGenOpt.Level
+ LLVM.General.CodeGenOpt: instance GHC.Classes.Ord LLVM.General.CodeGenOpt.Level
+ LLVM.General.CodeGenOpt: instance GHC.Read.Read LLVM.General.CodeGenOpt.Level
+ LLVM.General.CodeGenOpt: instance GHC.Show.Show LLVM.General.CodeGenOpt.Level
+ LLVM.General.CodeModel: instance Data.Data.Data LLVM.General.CodeModel.Model
+ LLVM.General.CodeModel: instance GHC.Classes.Eq LLVM.General.CodeModel.Model
+ LLVM.General.CodeModel: instance GHC.Read.Read LLVM.General.CodeModel.Model
+ LLVM.General.CodeModel: instance GHC.Show.Show LLVM.General.CodeModel.Model
+ LLVM.General.Diagnostic: [columnNumber] :: Diagnostic -> Int
+ LLVM.General.Diagnostic: [diagnosticKind] :: Diagnostic -> DiagnosticKind
+ LLVM.General.Diagnostic: [filename] :: Diagnostic -> String
+ LLVM.General.Diagnostic: [lineContents] :: Diagnostic -> String
+ LLVM.General.Diagnostic: [lineNumber] :: Diagnostic -> Int
+ LLVM.General.Diagnostic: [message] :: Diagnostic -> String
+ LLVM.General.Diagnostic: instance Data.Data.Data LLVM.General.Diagnostic.DiagnosticKind
+ LLVM.General.Diagnostic: instance GHC.Classes.Eq LLVM.General.Diagnostic.Diagnostic
+ LLVM.General.Diagnostic: instance GHC.Classes.Eq LLVM.General.Diagnostic.DiagnosticKind
+ LLVM.General.Diagnostic: instance GHC.Classes.Ord LLVM.General.Diagnostic.Diagnostic
+ LLVM.General.Diagnostic: instance GHC.Classes.Ord LLVM.General.Diagnostic.DiagnosticKind
+ LLVM.General.Diagnostic: instance GHC.Read.Read LLVM.General.Diagnostic.Diagnostic
+ LLVM.General.Diagnostic: instance GHC.Read.Read LLVM.General.Diagnostic.DiagnosticKind
+ LLVM.General.Diagnostic: instance GHC.Show.Show LLVM.General.Diagnostic.Diagnostic
+ LLVM.General.Diagnostic: instance GHC.Show.Show LLVM.General.Diagnostic.DiagnosticKind
+ LLVM.General.PassManager: [dataLayout] :: PassSetSpec -> Maybe DataLayout
+ LLVM.General.PassManager: [loopVectorize] :: PassSetSpec -> Maybe Bool
+ LLVM.General.PassManager: [optLevel] :: PassSetSpec -> Maybe Word
+ LLVM.General.PassManager: [simplifyLibCalls] :: PassSetSpec -> Maybe Bool
+ LLVM.General.PassManager: [sizeLevel] :: PassSetSpec -> Maybe Word
+ LLVM.General.PassManager: [superwordLevelParallelismVectorize] :: PassSetSpec -> Maybe Bool
+ LLVM.General.PassManager: [targetLibraryInfo] :: PassSetSpec -> Maybe TargetLibraryInfo
+ LLVM.General.PassManager: [targetMachine] :: PassSetSpec -> Maybe TargetMachine
+ LLVM.General.PassManager: [transforms] :: PassSetSpec -> [Pass]
+ LLVM.General.PassManager: [unitAtATime] :: PassSetSpec -> Maybe Bool
+ LLVM.General.PassManager: [useInlinerWithThreshold] :: PassSetSpec -> Maybe Word
+ LLVM.General.Relocation: instance Data.Data.Data LLVM.General.Relocation.Model
+ LLVM.General.Relocation: instance GHC.Classes.Eq LLVM.General.Relocation.Model
+ LLVM.General.Relocation: instance GHC.Read.Read LLVM.General.Relocation.Model
+ LLVM.General.Relocation: instance GHC.Show.Show LLVM.General.Relocation.Model
+ LLVM.General.Target.Options: [allowFloatingPointOperationFusion] :: Options -> FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: [compressDebugSections] :: Options -> Bool
+ LLVM.General.Target.Options: [disableIntegratedAssembler] :: Options -> Bool
+ LLVM.General.Target.Options: [disableTailCalls] :: Options -> Bool
+ LLVM.General.Target.Options: [enableFastInstructionSelection] :: Options -> Bool
+ LLVM.General.Target.Options: [floatABIType] :: Options -> FloatABI
+ LLVM.General.Target.Options: [guaranteedTailCallOptimization] :: Options -> Bool
+ LLVM.General.Target.Options: [honorSignDependentRoundingFloatingPointMathOption] :: Options -> Bool
+ LLVM.General.Target.Options: [jITEmitDebugInfoToDisk] :: Options -> Bool
+ LLVM.General.Target.Options: [jITEmitDebugInfo] :: Options -> Bool
+ LLVM.General.Target.Options: [lessPreciseFloatingPointMultiplyAddOption] :: Options -> Bool
+ LLVM.General.Target.Options: [noFramePointerElimination] :: Options -> Bool
+ LLVM.General.Target.Options: [noInfinitiesFloatingPointMath] :: Options -> Bool
+ LLVM.General.Target.Options: [noNaNsFloatingPointMath] :: Options -> Bool
+ LLVM.General.Target.Options: [noZerosInBSS] :: Options -> Bool
+ LLVM.General.Target.Options: [positionIndependentExecutable] :: Options -> Bool
+ LLVM.General.Target.Options: [printMachineCode] :: Options -> Bool
+ LLVM.General.Target.Options: [stackAlignmentOverride] :: Options -> Word32
+ LLVM.General.Target.Options: [trapFunctionName] :: Options -> String
+ LLVM.General.Target.Options: [trapUnreachable] :: Options -> Bool
+ LLVM.General.Target.Options: [unsafeFloatingPointMath] :: Options -> Bool
+ LLVM.General.Target.Options: [useInitArray] :: Options -> Bool
+ LLVM.General.Target.Options: [useSoftFloat] :: Options -> Bool
+ LLVM.General.Target.Options: instance Data.Data.Data LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance Data.Data.Data LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Classes.Eq LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance GHC.Classes.Eq LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Classes.Eq LLVM.General.Target.Options.Options
+ LLVM.General.Target.Options: instance GHC.Classes.Ord LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance GHC.Classes.Ord LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Classes.Ord LLVM.General.Target.Options.Options
+ LLVM.General.Target.Options: instance GHC.Enum.Bounded LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance GHC.Enum.Bounded LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Enum.Enum LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance GHC.Enum.Enum LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Read.Read LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance GHC.Read.Read LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Read.Read LLVM.General.Target.Options.Options
+ LLVM.General.Target.Options: instance GHC.Show.Show LLVM.General.Target.Options.FloatABI
+ LLVM.General.Target.Options: instance GHC.Show.Show LLVM.General.Target.Options.FloatingPointOperationFusionMode
+ LLVM.General.Target.Options: instance GHC.Show.Show LLVM.General.Target.Options.Options
+ LLVM.General.Transforms: [alignedOnly] :: Pass -> Bool
+ LLVM.General.Transforms: [allowPartial] :: Pass -> Maybe Bool
+ LLVM.General.Transforms: [alwaysVectorize] :: Pass -> Bool
+ LLVM.General.Transforms: [arrayElementThreshold] :: Pass -> Maybe Word
+ LLVM.General.Transforms: [count] :: Pass -> Maybe Word
+ LLVM.General.Transforms: [directory] :: Pass -> Maybe FilePath
+ LLVM.General.Transforms: [emitData] :: Pass -> Bool
+ LLVM.General.Transforms: [emitNotes] :: Pass -> Bool
+ LLVM.General.Transforms: [exportList] :: Pass -> [String]
+ LLVM.General.Transforms: [fastDependencyAnalysis] :: Pass -> Bool
+ LLVM.General.Transforms: [fileName] :: Pass -> Maybe FilePath
+ LLVM.General.Transforms: [functionInliningThreshold] :: Pass -> Word
+ LLVM.General.Transforms: [functionNamesInData] :: Pass -> Bool
+ LLVM.General.Transforms: [hideDebugIntrinsics] :: Pass -> Bool
+ LLVM.General.Transforms: [hideDebugMetadata] :: Pass -> Bool
+ LLVM.General.Transforms: [insertLifetime] :: Pass -> Bool
+ LLVM.General.Transforms: [loopUnrollThreshold] :: Pass -> Maybe Word
+ LLVM.General.Transforms: [maxCandidatePairsForCycleCheck] :: Pass -> Word
+ LLVM.General.Transforms: [maxInstructions] :: Pass -> Word
+ LLVM.General.Transforms: [maxIterations] :: Pass -> Word
+ LLVM.General.Transforms: [noLoads] :: Pass -> Bool
+ LLVM.General.Transforms: [noMemoryOperationBoost] :: Pass -> Bool
+ LLVM.General.Transforms: [noRedZone] :: Pass -> Bool
+ LLVM.General.Transforms: [noUnrolling] :: Pass -> Bool
+ LLVM.General.Transforms: [oldScalarReplacementOfAggregatesThreshold] :: Pass -> Maybe Word
+ LLVM.General.Transforms: [onlyDebugInfo] :: Pass -> Bool
+ LLVM.General.Transforms: [optimizeForSize] :: Pass -> Bool
+ LLVM.General.Transforms: [powerOfTwoLengthsOnly] :: Pass -> Bool
+ LLVM.General.Transforms: [requiredChainDepth] :: Pass -> Word
+ LLVM.General.Transforms: [requiresDominatorTree] :: Pass -> Bool
+ LLVM.General.Transforms: [scalarLoadThreshold] :: Pass -> Maybe Word
+ LLVM.General.Transforms: [searchLimit] :: Pass -> Word
+ LLVM.General.Transforms: [splatBreaksChain] :: Pass -> Bool
+ LLVM.General.Transforms: [structMemberThreshold] :: Pass -> Maybe Word
+ LLVM.General.Transforms: [trackOrigins] :: Pass -> Bool
+ LLVM.General.Transforms: [useCfgChecksum] :: Pass -> Bool
+ LLVM.General.Transforms: [useDominatorTree] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorBits] :: Pass -> Word
+ LLVM.General.Transforms: [vectorizeBools] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeCasts] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeCmp] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeFloats] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeFusedMultiplyAdd] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeGetElementPtr] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeInts] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeMath] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeMemoryOperations] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizePointers] :: Pass -> Bool
+ LLVM.General.Transforms: [vectorizeSelect] :: Pass -> Bool
+ LLVM.General.Transforms: [version] :: Pass -> GCOVVersion
+ LLVM.General.Transforms: instance Data.Data.Data LLVM.General.Transforms.GCOVVersion
+ LLVM.General.Transforms: instance Data.Data.Data LLVM.General.Transforms.Pass
+ LLVM.General.Transforms: instance GHC.Classes.Eq LLVM.General.Transforms.GCOVVersion
+ LLVM.General.Transforms: instance GHC.Classes.Eq LLVM.General.Transforms.Pass
+ LLVM.General.Transforms: instance GHC.Classes.Ord LLVM.General.Transforms.GCOVVersion
+ LLVM.General.Transforms: instance GHC.Classes.Ord LLVM.General.Transforms.Pass
+ LLVM.General.Transforms: instance GHC.Read.Read LLVM.General.Transforms.GCOVVersion
+ LLVM.General.Transforms: instance GHC.Read.Read LLVM.General.Transforms.Pass
+ LLVM.General.Transforms: instance GHC.Show.Show LLVM.General.Transforms.GCOVVersion
+ LLVM.General.Transforms: instance GHC.Show.Show LLVM.General.Transforms.Pass

Files

Setup.hs view
@@ -8,6 +8,7 @@ import Data.Monoid import Data.Char import Distribution.Simple+import Distribution.Simple.PreProcess import Distribution.Simple.Program import Distribution.Simple.Setup hiding (Flag) import Distribution.Simple.LocalBuildInfo@@ -63,6 +64,7 @@     f packageDescription localBuildInfo userHooks testFlags     hook args packageDescription localBuildInfo userHooks testFlags +llvmProgram :: Program llvmProgram = (simpleProgram "llvm-config") {   programFindLocation = programSearch (programFindLocation . simpleProgram),   programFindVersion = @@ -74,44 +76,49 @@       \v p -> findProgramVersion "--version" (svnToTag . trim) v p  } -main = do-  let (ldLibraryPathVar, ldLibraryPathSep) = +getLLVMConfig :: ConfigFlags -> IO (String -> IO String)+getLLVMConfig configFlags = do+  let verbosity = fromFlag $ configVerbosity configFlags+  (program, _, _) <- requireProgramVersion verbosity llvmProgram+                     (withinVersion llvmVersion)+                     (configPrograms configFlags)+  return $ getProgramOutput verbosity program . return++addToLdLibraryPath :: String -> IO ()+addToLdLibraryPath path = do+  let (ldLibraryPathVar, ldLibraryPathSep) =         case buildOS of           OSX -> ("DYLD_LIBRARY_PATH",":")           _ -> ("LD_LIBRARY_PATH",":")-      addToLdLibraryPath s = do-         v <- try $ getEnv ldLibraryPathVar :: IO (Either SomeException String)-         setEnv ldLibraryPathVar (s ++ either (const "") (ldLibraryPathSep ++) v)-      getLLVMConfig configFlags = do-         let verbosity = fromFlag $ configVerbosity configFlags-         (program, _, _) <- requireProgramVersion verbosity llvmProgram-                            (withinVersion llvmVersion)-                            (configPrograms configFlags)-         let llvmConfig :: [String] -> IO String-             llvmConfig = getProgramOutput verbosity program-         return llvmConfig-      addLLVMToLdLibraryPath configFlags = do-        llvmConfig <- getLLVMConfig configFlags-        [libDir] <- liftM lines $ llvmConfig ["--libdir"]-        addToLdLibraryPath libDir-         -  defaultMainWithHooks simpleUserHooks {+  v <- try $ getEnv ldLibraryPathVar :: IO (Either SomeException String)+  setEnv ldLibraryPathVar (path ++ either (const "") (ldLibraryPathSep ++) v)++addLLVMToLdLibraryPath :: ConfigFlags -> IO ()+addLLVMToLdLibraryPath configFlags = do+  llvmConfig <- getLLVMConfig configFlags+  [libDir] <- liftM lines $ llvmConfig "--libdir"+  addToLdLibraryPath libDir+                           +main = do+  let origUserHooks = simpleUserHooks+                  +  defaultMainWithHooks origUserHooks {     hookedPrograms = [ llvmProgram ],      confHook = \(genericPackageDescription, hookedBuildInfo) configFlags -> do       llvmConfig <- getLLVMConfig configFlags        llvmCppFlags <- do-        l <- llvmConfig ["--cppflags"]+        l <- llvmConfig "--cppflags"         return $ (filter ("-D" `isPrefixOf`) $ words l) \\ (map ("-D"++) uncheckedHsFFIDefines)-      includeDirs <- liftM lines $ llvmConfig ["--includedir"]-      libDirs@[libDir] <- liftM lines $ llvmConfig ["--libdir"]-      [llvmVersion] <- liftM lines $ llvmConfig ["--version"]+      includeDirs <- liftM lines $ llvmConfig "--includedir"+      libDirs@[libDir] <- liftM lines $ llvmConfig "--libdir"+      [llvmVersion] <- liftM lines $ llvmConfig "--version"       let sharedLib = case llvmVersion of                         "3.2" -> "LLVM-3.2svn"                         x -> "LLVM-" ++ x-      staticLibs <- liftM (map (fromJust . stripPrefix "-l") . words) $ llvmConfig ["--libs"]-      systemLibs <- liftM (map (fromJust . stripPrefix "-l") . words) $ llvmConfig ["--system-libs"]+      staticLibs <- liftM (map (fromJust . stripPrefix "-l") . words) $ llvmConfig "--libs"+      systemLibs <- liftM (map (fromJust . stripPrefix "-l") . words) $ llvmConfig "--system-libs"        let genericPackageDescription' = genericPackageDescription {             condLibrary = do@@ -136,10 +143,17 @@       addLLVMToLdLibraryPath configFlags'       confHook simpleUserHooks (genericPackageDescription', hookedBuildInfo) configFlags', +    hookedPreProcessors =+      let origHookedPreprocessors = hookedPreProcessors origUserHooks+          newHsc buildInfo localBuildInfo =+            maybe ppHsc2hs id (lookup "hsc" origHookedPreprocessors) buildInfo' localBuildInfo+              where buildInfo' = buildInfo { ccOptions = ccOptions buildInfo \\ ["-std=c++11"] }+      in [("hsc", newHsc)] ++ origHookedPreprocessors,+     buildHook = \packageDescription localBuildInfo userHooks buildFlags -> do-      addLLVMToLdLibraryPath (configFlags localBuildInfo)-      buildHook simpleUserHooks packageDescription localBuildInfo userHooks buildFlags,+          addLLVMToLdLibraryPath (configFlags localBuildInfo)+          buildHook origUserHooks packageDescription localBuildInfo userHooks buildFlags,      testHook = preHookOld (\_ localBuildInfo _ _ -> addLLVMToLdLibraryPath (configFlags localBuildInfo))-               (testHook simpleUserHooks)+               (testHook origUserHooks)    }
llvm-general.cabal view
@@ -1,10 +1,12 @@ name: llvm-general-version: 3.5.1.0+version: 3.5.1.1 license: BSD3 license-file: LICENSE author: Benjamin S.Scarlet <fgthb0@greynode.net> maintainer: Benjamin S. Scarlet <fgthb0@greynode.net> copyright: (c) 2013 Benjamin S. Scarlet and Google Inc.+homepage: http://github.com/bscarlet/llvm-general/+bug-reports: http://github.com/bscarlet/llvm-general/issues build-type: Custom stability: experimental cabal-version: >= 1.8@@ -12,9 +14,9 @@ synopsis: General purpose LLVM bindings description:   llvm-general is a set of Haskell bindings for LLVM <http://llvm.org/>. Unlike other current Haskell bindings,-	it uses an ADT to represent LLVM IR (<http://llvm.org/docs/LangRef.html>), and so offers two advantages: it-	handles almost all of the stateful complexities of using the LLVM API to build IR; and it supports moving IR not-	only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++ into Haskell.+  it uses an ADT to represent LLVM IR (<http://llvm.org/docs/LangRef.html>), and so offers two advantages: it+  handles almost all of the stateful complexities of using the LLVM API to build IR; and it supports moving IR not+  only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++ into Haskell. extra-source-files:   src/LLVM/General/Internal/FFI/Analysis.h   src/LLVM/General/Internal/FFI/Attribute.h@@ -41,7 +43,7 @@   type: git   location: git://github.com/bscarlet/llvm-general.git   branch: llvm-3.5-  tag: v3.5.1.0+  tag: v3.5.1.1  flag shared-llvm   description: link against llvm shared rather than static library@@ -59,7 +61,7 @@     base >= 4.6 && < 5,     utf8-string >= 0.3.7,     bytestring >= 0.9.1.10,-    transformers >= 0.3.0.0,+    transformers >= 0.3.0.0 && < 0.5,     transformers-compat,     mtl >= 2.1.3,     template-haskell >= 2.5.0.0,@@ -211,7 +213,7 @@     HUnit >= 1.2.4.2,     test-framework-quickcheck2 >= 0.3.0.1,     QuickCheck >= 2.5.1.1,-    llvm-general == 3.5.1.0,+    llvm-general == 3.5.1.1,     llvm-general-pure == 3.5.0.0,     containers >= 0.4.2.1,     mtl >= 2.1,