clash-ghc 0.6.8 → 0.6.9
raw patch · 12 files changed
+66/−38 lines, 12 filesdep ~clash-libdep ~clash-systemverilogdep ~clash-verilog
Dependency ranges changed: clash-lib, clash-systemverilog, clash-verilog, clash-vhdl
Files
- CHANGELOG.md +10/−1
- clash-ghc.cabal +6/−6
- src-bin/GhciMonad.hs +0/−4
- src-bin/InteractiveUI.hs +0/−4
- src-bin/hschooks.c +0/−4
- src-ghc/CLaSH/GHC/CLaSHFlags.hs +7/−0
- src-ghc/CLaSH/GHC/Evaluator.hs +7/−0
- src-ghc/CLaSH/GHC/GHC2Core.hs +7/−17
- src-ghc/CLaSH/GHC/GenerateBindings.hs +8/−2
- src-ghc/CLaSH/GHC/LoadInterfaceFiles.hs +7/−0
- src-ghc/CLaSH/GHC/LoadModules.hs +7/−0
- src-ghc/CLaSH/GHC/NetlistTypes.hs +7/−0
CHANGELOG.md view
@@ -1,6 +1,15 @@ # Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package -## 0.6.8 *January 13th 2015*+## 0.6.9 *January 29th 2016*+* New features:+ * Support for `Debug.Trace.trace`, thanks to @ggreif++* Fixes bugs:+ * `case undefined of ...` should reduce to `undefined` [#116](https://github.com/clash-lang/clash-compiler/issues/109)+ * VHDL/SystemVerilog: BlockRAM elements must be bit vectors [#113](https://github.com/clash-lang/clash-compiler/issues/113)+ * Type families obscure eligibility for synthesis [#114](https://github.com/clash-lang/clash-compiler/issues/114)++## 0.6.8 *January 13th 2016* * New features: * Support for Haskell's: `Char`, `Int8`, `Int16`, `Int32`, `Int64`, `Word`, `Word8`, `Word16`, `Word32`, `Word64`. * Int/Word/Integer bitwidth for generated HDL is configurable using the `-clash-intwidth=N` flag, where `N` can be either 32 or 64.
clash-ghc.cabal view
@@ -1,5 +1,5 @@ Name: clash-ghc-Version: 0.6.8+Version: 0.6.9 Synopsis: CAES Language for Synchronous Hardware Description: CλaSH (pronounced ‘clash’) is a functional hardware description language that@@ -37,7 +37,7 @@ License-file: LICENSE Author: Christiaan Baaij Maintainer: Christiaan Baaij <christiaan.baaij@gmail.com>-Copyright: Copyright © 2012-2015 University of Twente+Copyright: Copyright © 2012-2016 University of Twente Category: Hardware Build-type: Simple @@ -94,10 +94,10 @@ unbound-generics >= 0.1 && < 0.4, unordered-containers >= 0.2.1.0, - clash-lib >= 0.6.8 && < 0.7,- clash-systemverilog >= 0.6.4,- clash-vhdl >= 0.6.5,- clash-verilog >= 0.6.4,+ clash-lib >= 0.6.9 && < 0.7,+ clash-systemverilog >= 0.6.5,+ clash-vhdl >= 0.6.6,+ clash-verilog >= 0.6.5, clash-prelude >= 0.10.5 && < 0.11, ghc-typelits-extra >= 0.1, ghc-typelits-natnormalise >= 0.3
src-bin/GhciMonad.hs view
@@ -56,10 +56,6 @@ import Control.Monad.Trans.Class import Control.Monad.IO.Class -#if __GLASGOW_HASKELL__ < 709-import Control.Applicative (Applicative(..))-#endif- ----------------------------------------------------------------------------- -- GHCi monad
src-bin/InteractiveUI.hs view
@@ -81,11 +81,7 @@ import Exception hiding (catch) import Foreign.C-#if __GLASGOW_HASKELL__ >= 709 import Foreign-#else-import Foreign.Safe-#endif import System.Directory import System.Environment
src-bin/hschooks.c view
@@ -30,14 +30,10 @@ void defaultsHook (void) {-#if __GLASGOW_HASKELL__ >= 707 // This helps particularly with large compiles, but didn't work // very well with earlier GHCs because it caused large amounts of // fragmentation. See rts/sm/BlockAlloc.c:allocLargeChunk(). RtsFlags.GcFlags.heapSizeSuggestionAuto = rtsTrue;-#else- RtsFlags.GcFlags.heapSizeSuggestion = 6*1024*1024 / BLOCK_SIZE;-#endif RtsFlags.GcFlags.maxStkSize = 512*1024*1024 / sizeof(W_);
src-ghc/CLaSH/GHC/CLaSHFlags.hs view
@@ -1,4 +1,11 @@+{-|+ Copyright : (C) 2015-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE TupleSections #-}+ module CLaSH.GHC.CLaSHFlags ( parseCLaSHFlags )
src-ghc/CLaSH/GHC/Evaluator.hs view
@@ -1,5 +1,12 @@+{-|+ Copyright : (C) 2013-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE OverloadedStrings #-}+ module CLaSH.GHC.Evaluator where import qualified Data.Bifunctor as Bifunctor
src-ghc/CLaSH/GHC/GHC2Core.hs view
@@ -1,3 +1,9 @@+{-|+ Copyright : (C) 2013-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TemplateHaskell #-}@@ -84,9 +90,6 @@ import qualified CLaSH.Core.Term as C import qualified CLaSH.Core.TyCon as C import qualified CLaSH.Core.Type as C-#if __GLASGOW_HASKELL__ < 710-import qualified CLaSH.Core.Util as C-#endif import qualified CLaSH.Core.Var as C import CLaSH.Primitives.Types import CLaSH.Util@@ -211,7 +214,7 @@ AbstractTyCon _ -> return Nothing DataFamilyTyCon -> return Nothing -coreToTerm :: PrimMap+coreToTerm :: PrimMap a -> [Var] -> CoreExpr -> State GHC2CoreState C.Term@@ -251,20 +254,7 @@ return $ C.Letrec $ bind (rec [(b',embed e')]) ct else caseTerm e' -#if __GLASGOW_HASKELL__ < 710- term (Cast e co) = do- e' <- term e- case C.collectArgs e' of- (C.Prim nm pTy, [Right _, Left errMsg])- | nm == (pack "Control.Exception.Base.irrefutPatError") -> case co of- (UnivCo _ _ resTy) -> do resTy' <- coreToType resTy- return (C.mkApps (C.Prim nm pTy) [Right resTy', Left errMsg])- _ -> error $ $(curLoc) ++ "irrefutPatError casted with an unknown coercion: " ++ showPpr co- _ -> return e'-#else term (Cast e _) = term e-#endif- term (Tick _ e) = term e term (Type t) = C.Prim (pack "_TY_") <$> coreToType t term (Coercion co) = C.Prim (pack "_CO_") <$> coreToType (coercionType co)
src-ghc/CLaSH/GHC/GenerateBindings.hs view
@@ -1,3 +1,9 @@+{-|+ Copyright : (C) 2013-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ module CLaSH.GHC.GenerateBindings (generateBindings) where@@ -40,7 +46,7 @@ import CLaSH.Util ((***),first) generateBindings ::- PrimMap+ PrimMap a -> String -> Maybe (GHC.DynFlags) -> IO (BindingMap,HashMap TyConName TyCon,IntMap TyConName@@ -102,7 +108,7 @@ tm' = substTms (zip used usedVars) tm ty' = runFreshM (termType tcm tm') -mkBindings :: PrimMap+mkBindings :: PrimMap a -> [(GHC.CoreBndr, GHC.CoreExpr)] -- Binders -> [(GHC.CoreBndr,Int)] -- Class operations -> [GHC.CoreBndr] -- Unlocatable Expressions
src-ghc/CLaSH/GHC/LoadInterfaceFiles.hs view
@@ -1,7 +1,14 @@+{-|+ Copyright : (C) 2013-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TupleSections #-}+ module CLaSH.GHC.LoadInterfaceFiles (loadExternalExprs) where
src-ghc/CLaSH/GHC/LoadModules.hs view
@@ -1,7 +1,14 @@+{-|+ Copyright : (C) 2013-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE CPP #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell #-}+ module CLaSH.GHC.LoadModules ( loadModules , ghcLibDir
src-ghc/CLaSH/GHC/NetlistTypes.hs view
@@ -1,5 +1,12 @@+{-|+ Copyright : (C) 2013-2016, University of Twente+ License : BSD2 (see the file LICENSE)+ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE ViewPatterns #-}+ module CLaSH.GHC.NetlistTypes (ghcTypeToHWType) where