Changelog for llvm-tf-12.1.0.0.1
Change log for the llvm-tf
package
12.1
- make
IsFirstClass
superclass ofIsSized
.
9.2
-
custom
Ptr
type: We leave the originalPtr
type for data inStorable
compatible format, and useLLVM.Ptr
for data in LLVM layout. -
instance Storable Vector
: Allows non-primitive elements and interleaves them. -
instance Marshal Vector
: Should now be really compatible with LLVM. Formerly, it was wrong on big-endian systems and vectors of Bool, WordN, IntN. The correct implementation required a new class for storing vectors. -
Ret
class: turned from multi-parameter type class to single parameter type class with type functionResult
. You may replaceRet a r
byRet a, Result a ~ r
in your code, which may enable further simplifications. -
CallArgs f g r
->CallArgs r f g
,CallerFunction f r
->CallerFunction r f
-
ArithFunction
,ToArithFunction
: Replaced functional dependencies by type functions. -
ArithFunction
: split offReturn
9.0
-
Instructions.bitcastElements
: UseGuided.bitcast Guided.vector
instead. -
Core.Guided
: new module for instructions on both scalars and vectors -
fixed bug:
cmp
onIntN
did an unsigned comparison -
Vector
: instanceQuickCheck.Arbitrary
3.1.2
Instructions
: setters for FastMath flags
3.1.0.1
addFunctionMapping
checks for functions that are eliminated by optimization passes. This fixes a crash when working with optimizations and call-back functions.
3.1
-
ExecutionEngine
is now managed by aForeignPtr
with a finalizer. That is, you must keep theExecutionEngine
alive as long as you call compiled functions.FreePointers
andgetFreePointers
are gone.
3.0.3
-
constVector
,constArray
,vector
do no longer cycle the vector Instead they check for the appropriate static length. -
FFI.constVector
,FFI.constArray
must be in IO in order to proper sequence actions inCore.Util.constVector
,Core.Util.constArray
. Currently, inUtil.constVector
it is possible thatFFI.constArray
is called too late and thus operates on a released pointer.