llvm-ffi 3.1.0 → 3.2.0
raw patch · 4 files changed
+27/−14 lines, 4 files
Files
- cbits/extra.cpp +5/−4
- cbits/support.cpp +1/−1
- llvm-ffi.cabal +10/−9
- src/LLVM/Target/NVPTX.hs +11/−0
cbits/extra.cpp view
@@ -341,12 +341,12 @@ return fnp->doesNotThrow(); } -void LLVMSetDoesNotThrow(LLVMValueRef fn, int DoesNotThrow)+void LLVMSetDoesNotThrow(LLVMValueRef fn) { llvm::Function *fnp = llvm::unwrap<llvm::Function>(fn); assert(fnp); - return fnp->setDoesNotThrow((bool)DoesNotThrow);+ return fnp->setDoesNotThrow(); } LLVMValueRef LLVMGetIntrinsic(LLVMModuleRef module, int id,@@ -539,7 +539,6 @@ define_pass( InstructionNamer ) define_pass( LazyValueInfo ) define_pass( LCSSA )-define_pass( LoopDependenceAnalysis ) define_pass( LoopExtractor ) define_pass( LoopSimplify ) define_pass( LoopStrengthReduce )@@ -563,6 +562,8 @@ define_pass( UnifyFunctionExitNodes ) /* we support only internalize(true) */-llvm::ModulePass *createInternalize2Pass() { return llvm::createInternalizePass(true); }+llvm::ModulePass *createInternalize2Pass() {+ return llvm::createInternalizePass();+} define_pass( Internalize2 )
cbits/support.cpp view
@@ -28,7 +28,7 @@ llvm::PassManagerBase *pass_man = unwrap(PM); llvm::FunctionPassManager *func_man =- dynamic_cast <FunctionPassManager*>(pass_man);+ static_cast <FunctionPassManager*>(pass_man); if (func_man) { Builder.populateFunctionPassManager (*func_man);
llvm-ffi.cabal view
@@ -1,5 +1,5 @@ Name: llvm-ffi-Version: 3.1.0+Version: 3.2.0 License: BSD3 License-File: LICENSE Synopsis: FFI bindings to the LLVM compiler toolkit.@@ -15,7 +15,7 @@ using the @llvm-pkg-config@ package. . We try to stay up to date with LLVM releases.- The current version of this package is compatible with LLVM 3.1.+ The current version of this package is compatible with LLVM 3.2. Please understand that the package may or may not work against older LLVM releases. We don't have the time or resources to test across multiple releases.@@ -24,7 +24,7 @@ Homepage: http://haskell.org/haskellwiki/LLVM Stability: experimental Category: Compilers/Interpreters, Code Generation-Tested-With: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.1+Tested-With: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==8.0.1 Cabal-Version: >= 1.6 Build-Type: Simple @@ -44,7 +44,7 @@ Default: False Flag specificPkgConfig- Description: use llvm-3.1.pc instead of llvm.pc+ Description: use llvm-3.2.pc instead of llvm.pc Default: True Source-Repository head@@ -52,7 +52,7 @@ Location: http://hub.darcs.net/thielema/llvm-ffi/ Source-Repository this- Tag: 3.1.0+ Tag: 3.2.0 Type: darcs Location: http://hub.darcs.net/thielema/llvm-ffi/ @@ -85,17 +85,18 @@ LLVM.Target.Hexagon LLVM.Target.MSP430 LLVM.Target.Mips+ LLVM.Target.NVPTX LLVM.Target.PowerPC LLVM.Target.Sparc LLVM.Target.X86 LLVM.Target.XCore If flag(specificPkgConfig)- PkgConfig-Depends: llvm-3.1 == 3.1+ PkgConfig-Depends: llvm-3.2 == 3.2 Else- PkgConfig-Depends: llvm == 3.1- CC-Options: -DHS_LLVM_VERSION=301 -DHAVE_LLVM_SUPPORT_DYNAMICLIBRARY_H=1- CPP-Options: -DHS_LLVM_VERSION=301+ PkgConfig-Depends: llvm == 3.2+ CC-Options: -DHS_LLVM_VERSION=302 -DHAVE_LLVM_SUPPORT_DYNAMICLIBRARY_H=1+ CPP-Options: -DHS_LLVM_VERSION=302 CPP-Options: -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS Include-Dirs: include C-Sources:
+ src/LLVM/Target/NVPTX.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE Safe #-}+{-# LANGUAGE ForeignFunctionInterface #-}+module LLVM.Target.NVPTX(initializeTarget) where++initializeTarget :: IO ()+initializeTarget = do+ initializeNVPTXTargetInfo+ initializeNVPTXTarget++foreign import ccall unsafe "LLVMInitializeNVPTXTargetInfo" initializeNVPTXTargetInfo :: IO ()+foreign import ccall unsafe "LLVMInitializeNVPTXTarget" initializeNVPTXTarget :: IO ()