packages feed

llvm-extra 0.11 → 0.12

raw patch · 5 files changed

+25/−31 lines, 5 filesdep ~llvm-tf

Dependency ranges changed: llvm-tf

Files

llvm-extra.cabal view
@@ -1,6 +1,6 @@ Cabal-Version:  2.2 Name:           llvm-extra-Version:        0.11+Version:        0.12 License:        BSD-3-Clause License-File:   LICENSE Author:         Henning Thielemann <haskell@henning-thielemann.de>@@ -61,7 +61,7 @@   default:     False  Source-Repository this-  Tag:         0.11+  Tag:         0.12   Type:        darcs   Location:    http://code.haskell.org/~thielema/llvm-extra/ @@ -72,7 +72,7 @@ Library   Build-Depends:     private,-    llvm-tf >=12.1 && <13.0,+    llvm-tf >=12.1 && <17.1,     tfp >=1.0 && <1.1,     non-empty >=0.2.1 && <0.4,     fixed-length >=0.2.1 && <0.3,
private/LLVM/Extra/ArithmeticPrivate.hs view
@@ -39,12 +39,14 @@ dec x = sub x (valueOf 1)  advanceArrayElementPtr ::+   (LLVM.IsType a) =>    Value (LLVM.Ptr a) ->    CodeGenFunction r (Value (LLVM.Ptr a)) advanceArrayElementPtr p =    getElementPtr p (valueOf 1 :: Value Word32, ())  decreaseArrayElementPtr ::+   (LLVM.IsType a) =>    Value (LLVM.Ptr a) ->    CodeGenFunction r (Value (LLVM.Ptr a)) decreaseArrayElementPtr p =
src/LLVM/Extra/Arithmetic.hs view
@@ -71,11 +71,11 @@    sub = LLVM.sub    neg = LLVM.neg -instance (IsArithmetic a) => Additive (ConstValue a) where+instance (IsInteger a) => Additive (ConstValue a) where    zero = LLVM.zero-   add = LLVM.add-   sub = LLVM.sub-   neg = sub LLVM.zero+   add = LLVM.iadd+   sub = LLVM.isub+   neg = LLVM.isub LLVM.zero  instance (Additive a, Additive b) => Additive (a,b) where    zero = (zero, zero)@@ -102,8 +102,8 @@ instance (IsArithmetic v) => PseudoRing (Value v) where    mul = LLVM.mul -instance (IsArithmetic v) => PseudoRing (ConstValue v) where-   mul = LLVM.mul+instance (IsInteger v) => PseudoRing (ConstValue v) where+   mul = LLVM.imul   type family Scalar vector@@ -116,10 +116,7 @@ instance (SoV.PseudoModule v) => PseudoModule (Value v) where    scale = SoV.scale -instance (SoV.PseudoModule v) => PseudoModule (ConstValue v) where-   scale = SoV.scaleConst - class IntegerConstant a where    fromInteger' :: Integer -> a @@ -159,9 +156,6 @@    fdiv :: a -> a -> CodeGenFunction r a  instance (LLVM.IsFloating v) => Field (Value v) where-   fdiv = LLVM.fdiv--instance (LLVM.IsFloating v) => Field (ConstValue v) where    fdiv = LLVM.fdiv  
src/LLVM/Extra/Memory.hs view
@@ -117,7 +117,7 @@    }  element ::-   (C x,+   (C x, IsType o,     LLVM.GetValue o n, LLVM.ValueType o n ~ Struct x,     LLVM.GetElementPtr o (n, ()), LLVM.ElementPtrType o (n, ()) ~ Struct x) =>    (v -> x) -> n -> Element r o v x
src/LLVM/Extra/ScalarOrVector.hs view
@@ -26,7 +26,7 @@    replicateOf,    Real (min, max, abs, signum),    Saturated(addSat, subSat),-   PseudoModule (scale, scaleConst),+   PseudoModule (scale),    IntegerConstant(constFromInteger),    RationalConstant(constFromRational),    TranscendentalConstant(constPi),@@ -307,24 +307,22 @@    (LLVM.IsArithmetic (Scalar v), LLVM.IsArithmetic v) =>       PseudoModule v where    scale :: (a ~ Scalar v) => Value a -> Value v -> CodeGenFunction r (Value v)-   scaleConst :: (a ~ Scalar v) => ConstValue a -> ConstValue v -> CodeGenFunction r (ConstValue v) -instance PseudoModule Word   where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Word8  where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Word16 where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Word32 where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Word64 where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Int    where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Int8   where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Int16  where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Int32  where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Int64  where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Float  where scale = LLVM.mul; scaleConst = LLVM.mul-instance PseudoModule Double where scale = LLVM.mul; scaleConst = LLVM.mul+instance PseudoModule Word   where scale = LLVM.mul+instance PseudoModule Word8  where scale = LLVM.mul+instance PseudoModule Word16 where scale = LLVM.mul+instance PseudoModule Word32 where scale = LLVM.mul+instance PseudoModule Word64 where scale = LLVM.mul+instance PseudoModule Int    where scale = LLVM.mul+instance PseudoModule Int8   where scale = LLVM.mul+instance PseudoModule Int16  where scale = LLVM.mul+instance PseudoModule Int32  where scale = LLVM.mul+instance PseudoModule Int64  where scale = LLVM.mul+instance PseudoModule Float  where scale = LLVM.mul+instance PseudoModule Double where scale = LLVM.mul instance (LLVM.IsArithmetic a, LLVM.IsPrimitive a, TypeNum.Positive n) =>          PseudoModule (Vector n a) where    scale a v = flip A.mul v =<< replicate a-   scaleConst a v = LLVM.mul (replicateConst a `asTypeOf` v) v