Changelog for llvm-extra-0.13
Change log for the llvm-extra
package
0.12.1
-
Multi.Value
->Nice.Value
The
Multi.Value
name was misleading.Multi.Value
retained for compatibility for now.
0.11
Memory
: turn methodsload
andstore
into top-level functions based ondecompose
andcompose
. Derivingdecompose
andcompose
fromload
andstore
, respectively, requiresalloca
which will blast your stack when used in a loop.
0.10
-
Storable
: We do not support storing tuple types directly anymore. This would require thestorable-tuple
package. That package ships orphanStorable
instances with a memory layout that does not match your system's ABI. Instead, we support theTuple
wrapper fromstorable-record
. -
Memory
: Attention! Memory layout is no longer compatible withForeign.Storable
. E.g.Bool
now takes 1 byte space like LLVM does, but no longer 4 byte likeForeign.Storable
. AForeign.Storable
-compliant layout is provided byLLVM.Extra.Storable
now. -
Marshal
: Now based onMemory.load
andMemory.store
. Does not needProxy
anymore. -
Class
->Tuple
,Tuple.Vector
class added. Pro:valueOf vector
is no longer restricted toIsPrimitive
elements. Cons: type inference works less well than before
0.9
Extension
: Move to new packagellvm-extension
. We now implement advanced instructions using generic LLVM intrinsics.
0.8.1
FastMath
: support for simplified arithmetic primitives under the assumption of the absence of corner cases.