llvm-hs-pure 5.0.0 → 5.1.0
raw patch · 7 files changed
+37/−41 lines, 7 filesdep −transformers-compatdep ~basePVP ok
version bump matches the API change (PVP)
Dependencies removed: transformers-compat
Dependency ranges changed: base
API changes (from Hackage documentation)
- LLVM.TH: appT :: Typish qt => qt -> Q Type -> qt
- LLVM.TH: conT :: Typish qt => Name -> qt
- LLVM.TH: instance LLVM.TH.Typish (Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)
+ LLVM.AST.CallingConvention: AMDGPU_CS :: CallingConvention
+ LLVM.AST.CallingConvention: AMDGPU_GS :: CallingConvention
+ LLVM.AST.CallingConvention: AMDGPU_HS :: CallingConvention
+ LLVM.AST.CallingConvention: AMDGPU_Kernel :: CallingConvention
+ LLVM.AST.CallingConvention: AMDGPU_PS :: CallingConvention
+ LLVM.AST.CallingConvention: AMDGPU_VS :: CallingConvention
+ LLVM.AST.CallingConvention: AVR_Builtin :: CallingConvention
+ LLVM.AST.CallingConvention: AVR_Intr :: CallingConvention
+ LLVM.AST.CallingConvention: AVR_Signal :: CallingConvention
+ LLVM.AST.CallingConvention: CXX_FastTLS :: CallingConvention
+ LLVM.AST.CallingConvention: HHVM :: CallingConvention
+ LLVM.AST.CallingConvention: HHVM_C :: CallingConvention
+ LLVM.AST.CallingConvention: MSP430_Builtin :: CallingConvention
+ LLVM.AST.CallingConvention: Swift :: CallingConvention
+ LLVM.AST.CallingConvention: X86_Intr :: CallingConvention
+ LLVM.AST.CallingConvention: X86_RegCall :: CallingConvention
+ LLVM.AST.CallingConvention: X86_VectorCall :: CallingConvention
+ LLVM.AST.Instruction: NoTail :: TailCallKind
+ LLVM.AST.ParameterAttribute: StringAttribute :: ShortByteString -> ShortByteString -> ParameterAttribute
+ LLVM.AST.ParameterAttribute: [stringAttributeKind] :: ParameterAttribute -> ShortByteString
+ LLVM.AST.ParameterAttribute: [stringAttributeValue] :: ParameterAttribute -> ShortByteString
- LLVM.Prelude: fromMaybe :: a -> Maybe a -> a
+ LLVM.Prelude: fromMaybe :: () => a -> Maybe a -> a
Files
- CHANGELOG.md +8/−0
- llvm-hs-pure.cabal +4/−7
- src/LLVM/AST/Attribute.hs +3/−1
- src/LLVM/AST/CallingConvention.hs +17/−0
- src/LLVM/AST/Instruction.hs +1/−1
- src/LLVM/AST/ParameterAttribute.hs +4/−0
- src/LLVM/TH.hs +0/−32
CHANGELOG.md view
@@ -1,3 +1,11 @@+## 5.1.0 (2017-10-12)++### Enhancements++* Suport string attributes as parameter attributes+* Support more calling conventions+* Support `NoTail` `TailCallKind`+ ## 5.0.0 (2017-09-07) * Support for LLVM 5.0
llvm-hs-pure.cabal view
@@ -1,5 +1,5 @@ name: llvm-hs-pure-version: 5.0.0+version: 5.1.0 license: BSD3 license-file: LICENSE author: Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org>, Benjamin S. Scarlet@@ -16,7 +16,7 @@ llvm-hs-pure is a set of pure Haskell types and functions for interacting with LLVM <http://llvm.org/>. It includes an ADT to represent LLVM IR (<http://llvm.org/docs/LangRef.html>). The llvm-hs package builds on this one with FFI bindings to LLVM, but llvm-hs-pure does not require LLVM to be available.-tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2+tested-with: GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1 extra-source-files: CHANGELOG.md source-repository head@@ -32,7 +32,7 @@ ghc-options: -Wall if flag(semigroups) build-depends:- base >= 4.7 && < 4.9,+ base >= 4.8 && < 4.9, semigroups >= 0.18 && < 0.19 else build-depends:@@ -41,7 +41,6 @@ attoparsec >= 0.13, bytestring >= 0.10 && < 0.11, transformers >= 0.3 && < 0.6,- transformers-compat >= 0.4, mtl >= 2.1, template-haskell >= 2.5.0.0, containers >= 0.4.2.1@@ -82,13 +81,12 @@ LLVM.AST.COMDAT LLVM.DataLayout LLVM.Prelude- LLVM.TH test-suite test type: exitcode-stdio-1.0 if flag(semigroups) build-depends:- base >= 4.7 && < 4.9,+ base >= 4.8 && < 4.9, semigroups >= 0.18 && < 0.19 else build-depends:@@ -99,7 +97,6 @@ tasty-quickcheck >= 0.8, llvm-hs-pure, transformers >= 0.3,- transformers-compat >= 0.4, containers >= 0.4.2.1, mtl >= 2.1 hs-source-dirs: test
src/LLVM/AST/Attribute.hs view
@@ -13,5 +13,7 @@ GroupID(..) ) where -import LLVM.AST.ParameterAttribute hiding (ReadNone, ReadOnly, WriteOnly)+import LLVM.AST.ParameterAttribute+ hiding (ReadNone, ReadOnly, StringAttribute, WriteOnly,+ stringAttributeKind, stringAttributeValue) import LLVM.AST.FunctionAttribute
src/LLVM/AST/CallingConvention.hs view
@@ -14,6 +14,8 @@ | AnyReg | PreserveMost | PreserveAll+ | Swift+ | CXX_FastTLS | X86_StdCall | X86_FastCall | ARM_APCS@@ -28,6 +30,21 @@ | Intel_OCL_BI | X86_64_SysV | Win64+ | X86_VectorCall+ | HHVM+ | HHVM_C+ | X86_Intr+ | AVR_Intr+ | AVR_Signal+ | AVR_Builtin+ | AMDGPU_VS+ | AMDGPU_HS+ | AMDGPU_GS+ | AMDGPU_PS+ | AMDGPU_CS+ | AMDGPU_Kernel+ | X86_RegCall+ | MSP430_Builtin | Numbered Word32 deriving (Eq, Read, Show, Typeable, Data, Generic)
src/LLVM/AST/Instruction.hs view
@@ -123,7 +123,7 @@ -- | For the call instruction -- <http://llvm.org/docs/LangRef.html#call-instruction>-data TailCallKind = Tail | MustTail+data TailCallKind = Tail | MustTail | NoTail deriving (Eq, Ord, Read, Show, Typeable, Data, Generic) -- | non-terminator instructions:
src/LLVM/AST/ParameterAttribute.hs view
@@ -24,4 +24,8 @@ | Returned | SwiftSelf | SwiftError+ | StringAttribute {+ stringAttributeKind :: ShortByteString,+ stringAttributeValue :: ShortByteString -- ^ Use "" for no value -- the two are conflated+ } deriving (Eq, Ord, Read, Show, Typeable, Data, Generic)
− src/LLVM/TH.hs
@@ -1,32 +0,0 @@-{-# LANGUAGE CPP #-}--- | This module is presents template haskell mostly like the template-haskell >= 2.10 / ghc >= 7.10,--- even on earlier versions. It's intended as an internal library for llvm-hs-pure and llvm-hs;--- it's exposed only to be shared between the two.-module LLVM.TH (- module Language.Haskell.TH,- conT, appT- ) where--#if __GLASGOW_HASKELL__ < 710-import LLVM.Prelude-#endif--import qualified Language.Haskell.TH as TH (conT, appT)-import Language.Haskell.TH hiding (conT, appT)--class Typish qt where- appT :: qt -> Q Type -> qt- conT :: Name -> qt--instance Typish (Q Type) where- appT = TH.appT- conT = TH.conT--#if __GLASGOW_HASKELL__ < 710-instance Typish (Q Pred) where- appT qp qt = do- ClassP n ts <- qp- t <- qt- return $ ClassP n (ts ++ [t])- conT n = classP n []-#endif