llvm-tf 3.1.1.1 → 3.1.2
raw patch · 4 files changed
+30/−4 lines, 4 filesdep ~enumset
Dependency ranges changed: enumset
Files
- Changes.md +4/−0
- llvm-tf.cabal +3/−3
- src/LLVM/Core/Instructions.hs +22/−0
- src/LLVM/ExecutionEngine/Engine.hs +1/−1
Changes.md view
@@ -1,5 +1,9 @@ # Change log for the `llvm-tf` package +## 3.1.2++* `Instructions`: setters for FastMath flags+ ## 3.1.0.1 * `addFunctionMapping` checks for functions
llvm-tf.cabal view
@@ -1,5 +1,5 @@ Name: llvm-tf-Version: 3.1.1.1+Version: 3.1.2 License: BSD3 License-File: LICENSE Synopsis: Bindings to the LLVM compiler toolkit using type families.@@ -39,7 +39,7 @@ Location: http://code.haskell.org/~thielema/llvm-tf/ Source-Repository this- Tag: 3.1.1.1+ Tag: 3.1.2 Type: darcs Location: http://code.haskell.org/~thielema/llvm-tf/ @@ -59,7 +59,7 @@ tfp >=1.0 && <1.1, transformers >=0.3 && <0.6, storable-record >=0.0.2 && <0.1,- enumset >=0.0.4 && <0.1,+ enumset >=0.0.5 && <0.1, fixed-length >=0.2 && <0.3, non-empty >=0.2 && <0.4, semigroups >=0.1 && <1.0,
src/LLVM/Core/Instructions.hs view
@@ -56,6 +56,12 @@ CmpOp, CmpRet, CmpResult, CmpValueResult, cmp, pcmp, icmp, fcmp, select,+ -- * Fast math+ setHasNoNaNs,+ setHasNoInfs,+ setHasNoSignedZeros,+ setHasAllowReciprocal,+ setFastMath, -- * Other phi, addPhiInputs, call, callWithConv,@@ -942,6 +948,22 @@ cmpop (FFI.constFCmp (fromFPPredicate p)) (flip FFI.buildFCmp (fromFPPredicate p))++--------------------------------------++setHasNoNaNs, setHasNoInfs, setHasNoSignedZeros, setHasAllowReciprocal,+ setFastMath :: (IsFloating a) => Bool -> Value a -> CodeGenFunction r ()+setHasNoNaNs = fastMath FFI.setHasNoNaNs+setHasNoInfs = fastMath FFI.setHasNoInfs+setHasNoSignedZeros = fastMath FFI.setHasNoSignedZeros+setHasAllowReciprocal = fastMath FFI.setHasAllowReciprocal+setFastMath = fastMath FFI.setHasUnsafeAlgebra++fastMath ::+ (IsFloating a) =>+ (FFI.ValueRef -> CUInt -> IO ()) -> Bool -> Value a -> CodeGenFunction r ()+fastMath setter b (Value v) = liftIO $ setter v $ fromIntegral $ fromEnum b+ --------------------------------------
src/LLVM/ExecutionEngine/Engine.hs view
@@ -35,7 +35,7 @@ import Control.Monad (liftM, ) import Control.Applicative (Applicative, pure, (<*>), (<$>), ) -import qualified Data.EnumSet as EnumSet+import qualified Data.EnumBitSet as EnumSet import Data.Int (Int8, Int16, Int32, Int64) import Data.Word (Word8, Word16, Word32, Word64)