packages feed

llvm-general-pure 3.4.2.0 → 3.4.2.1

raw patch · 13 files changed

+43/−32 lines, 13 filesdep ~llvm-general-pure

Dependency ranges changed: llvm-general-pure

Files

llvm-general-pure.cabal view
@@ -1,5 +1,5 @@ name: llvm-general-pure-version: 3.4.2.0+version: 3.4.2.1 license: BSD3 license-file: LICENSE author: Benjamin S.Scarlet <fgthb0@greynode.net>@@ -15,7 +15,7 @@   It includes an ADT to represent LLVM IR (<http://llvm.org/docs/LangRef.html>). The llvm-general package   builds on this one with FFI bindings to LLVM, but llvm-general-pure does not require LLVM to be available.   .-  For haddock, see <http://bscarlet.github.io/llvm-general/3.4.2.0/doc/html/llvm-general-pure/index.html>.+  For haddock, see <http://bscarlet.github.io/llvm-general/3.4.2.1/doc/html/llvm-general-pure/index.html>.     source-repository head   type: git@@ -74,7 +74,7 @@     HUnit >= 1.2.4.2,     test-framework-quickcheck2 >= 0.3.0.1,     QuickCheck >= 2.5.1.1,-    llvm-general-pure == 3.4.2.0,+    llvm-general-pure == 3.4.2.1,     containers >= 0.4.2.1,     mtl >= 2.0.1.0   hs-source-dirs: test
src/LLVM/General/AST.hs view
@@ -16,6 +16,8 @@   module LLVM.General.AST.Type   ) where +import Data.Data+ import LLVM.General.AST.Name import LLVM.General.AST.Type import LLVM.General.AST.Global@@ -30,7 +32,7 @@   | MetadataNodeDefinition MetadataNodeID [Maybe Operand]   | NamedMetadataDefinition String [MetadataNodeID]   | ModuleInlineAssembly String-    deriving (Eq, Read, Show)+    deriving (Eq, Read, Show, Typeable, Data)  -- | <http://llvm.org/docs/LangRef.html#modulestructure> data Module = @@ -41,7 +43,7 @@     moduleTargetTriple :: Maybe String,     moduleDefinitions :: [Definition]   } -  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | helper for making 'Module's defaultModule = 
src/LLVM/General/AST/AddrSpace.hs view
@@ -1,8 +1,9 @@ -- | Pointers exist in Address Spaces  module LLVM.General.AST.AddrSpace where +import Data.Data import Data.Word  -- | See <http://llvm.org/docs/LangRef.html#pointer-type> data AddrSpace = AddrSpace Word32-   deriving (Eq, Ord, Read, Show)+   deriving (Eq, Ord, Read, Show, Typeable, Data)
src/LLVM/General/AST/Attribute.hs view
@@ -1,6 +1,7 @@ -- | Module to allow importing 'Attribute' distinctly qualified. module LLVM.General.AST.Attribute where +import Data.Data import Data.Word  -- | <http://llvm.org/docs/LangRef.html#parameter-attributes>@@ -13,7 +14,7 @@     | ByVal     | NoCapture     | Nest-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | <http://llvm.org/docs/LangRef.html#function-attributes> data FunctionAttribute@@ -35,4 +36,4 @@     | ReturnsTwice     | UWTable     | NonLazyBind-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)
src/LLVM/General/AST/Constant.hs view
@@ -1,6 +1,7 @@ -- | A representation of LLVM constants module LLVM.General.AST.Constant where +import Data.Data import Data.Word (Word32) import Data.Bits ((.|.), (.&.), complement, testBit, shiftL) @@ -205,7 +206,7 @@         element :: Constant,         indices' :: [Word32]       }-    deriving (Eq, Ord, Read, Show)+    deriving (Eq, Ord, Read, Show, Typeable, Data)   -- | Since LLVM types don't include signedness, there's ambiguity in interpreting
src/LLVM/General/AST/DataLayout.hs view
@@ -1,6 +1,7 @@ -- | <http://llvm.org/docs/LangRef.html#data-layout> module LLVM.General.AST.DataLayout where +import Data.Data import Data.Word  import Data.Map (Map)@@ -11,14 +12,14 @@  -- | Little Endian is the one true way :-). Sadly, we must support the infidels. data Endianness = LittleEndian | BigEndian-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | An AlignmentInfo describes how a given type must and would best be aligned data AlignmentInfo = AlignmentInfo {     abiAlignment :: Word32,     preferredAlignment :: Maybe Word32   }-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | A type of type for which 'AlignmentInfo' may be specified data AlignType@@ -27,7 +28,7 @@   | FloatAlign   | AggregateAlign   | StackAlign-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | a description of the various data layout properties which may be used during -- optimization@@ -38,7 +39,7 @@     typeLayouts :: Map (AlignType, Word32) AlignmentInfo,     nativeSizes :: Maybe (Set Word32)   }-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | a 'DataLayout' which specifies nothing defaultDataLayout = DataLayout {
src/LLVM/General/AST/Float.hs view
@@ -3,6 +3,7 @@ module LLVM.General.AST.Float where  import Prelude as P+import Data.Data import Data.Word (Word16, Word64)  -- | A type summing up the various float types.@@ -15,5 +16,5 @@   | Quadruple Word64 Word64   | X86_FP80 Word16 Word64   | PPC_FP128 Word64 Word64-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data) 
src/LLVM/General/AST/Global.hs view
@@ -1,6 +1,7 @@ -- | 'Global's - top-level values in 'Module's - and supporting structures. module LLVM.General.AST.Global where +import Data.Data import Data.Word  import LLVM.General.AST.Name@@ -52,17 +53,17 @@         garbageCollectorName :: Maybe String,         basicBlocks :: [BasicBlock]       }-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | 'Parameter's for 'Function's data Parameter = Parameter Type Name [A.ParameterAttribute]-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | <http://llvm.org/doxygen/classllvm_1_1BasicBlock.html> -- LLVM code in a function is a sequence of 'BasicBlock's each with a label, -- some instructions, and a terminator. data BasicBlock = BasicBlock Name [Named Instruction] (Named Terminator)-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | helper for making 'GlobalVariable's globalVariableDefaults :: Global
src/LLVM/General/AST/InlineAssembly.hs view
@@ -24,4 +24,4 @@       alignStack :: Bool,       dialect :: Dialect     }-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)
src/LLVM/General/AST/Instruction.hs view
@@ -63,7 +63,7 @@   | Unreachable {       metadata' :: InstructionMetadata     }-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | <http://llvm.org/docs/LangRef.html#atomic-memory-ordering-constraints> -- <http://llvm.org/docs/Atomics.html>@@ -81,13 +81,13 @@   crossThread :: Bool, -- ^ <http://llvm.org/docs/LangRef.html#singlethread>   memoryOrdering :: MemoryOrdering  }- deriving (Eq, Ord, Read, Show)+ deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | For the redoubtably complex 'LandingPad' instruction data LandingPadClause     = Catch Constant     | Filter Constant-    deriving (Eq, Ord, Read, Show)+    deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | non-terminator instructions: -- <http://llvm.org/docs/LangRef.html#binaryops>@@ -381,11 +381,11 @@       clauses :: [LandingPadClause],       metadata :: InstructionMetadata      }-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)  -- | Instances of instructions may be given a name, allowing their results to be referenced as 'Operand's. -- Sometimes instructions - e.g. a call to a function returning void - don't need names. data Named a    = Name := a   | Do a-  deriving (Eq, Read, Show)+  deriving (Eq, Read, Show, Typeable, Data)
src/LLVM/General/AST/Name.hs view
@@ -1,6 +1,7 @@ -- | Names as used in LLVM IR module LLVM.General.AST.Name where +import Data.Data import Data.Word  {- |@@ -27,5 +28,5 @@ data Name      = Name String -- ^ a string name      | UnName Word -- ^ a number for a nameless thing-   deriving (Eq, Ord, Read, Show)+   deriving (Eq, Ord, Read, Show, Typeable, Data) 
src/LLVM/General/AST/Operand.hs view
@@ -1,6 +1,7 @@ -- | A type to represent operands to LLVM 'LLVM.General.AST.Instruction.Instruction's module LLVM.General.AST.Operand where-  ++import Data.Data import Data.Word  import LLVM.General.AST.Name@@ -11,13 +12,13 @@ -- Note this is different from "named metadata", which are represented with -- 'LLVM.General.AST.NamedMetadataDefinition'. newtype MetadataNodeID = MetadataNodeID Word-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | <http://llvm.org/docs/LangRef.html#metadata> data MetadataNode    = MetadataNode [Maybe Operand]   | MetadataNodeReference MetadataNodeID-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | An 'Operand' is roughly that which is an argument to an 'LLVM.General.AST.Instruction.Instruction' data Operand @@ -27,7 +28,7 @@   | ConstantOperand Constant   | MetadataStringOperand String   | MetadataNodeOperand MetadataNode-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | The 'LLVM.General.AST.Instruction.Call' instruction is special: the callee can be inline assembly type CallableOperand  = Either InlineAssembly Operand
src/LLVM/General/AST/Type.hs view
@@ -1,11 +1,12 @@ -- | A representation of an LLVM type module LLVM.General.AST.Type where +import Data.Data+import Data.Word (Word32, Word64)+ import LLVM.General.AST.AddrSpace import LLVM.General.AST.Name -import Data.Word (Word32, Word64)- -- | LLVM supports some special formats floating point format. This type is to distinguish those format. -- I believe it's treated as a format for "a" float, as opposed to a vector of two floats, because -- its intended usage is to represent a single number with a combined significand.@@ -13,7 +14,7 @@   = IEEE   | DoubleExtended   | PairOfFloats-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)  -- | <http://llvm.org/docs/LangRef.html#type-system> data Type@@ -37,4 +38,4 @@   | NamedTypeReference Name   -- | <http://llvm.org/docs/LangRef.html#metadata-type>   | MetadataType -- only to be used as a parameter type for a few intrinsics-  deriving (Eq, Ord, Read, Show)+  deriving (Eq, Ord, Read, Show, Typeable, Data)