#ifndef OMIT_NATIVE_CODEGEN
import AsmCodeGen ( nativeCodeGen )
#endif
+import LlvmCodeGen ( llvmCodeGen )
import UniqSupply ( mkSplitUniqSupply )
-#ifndef GHCI_TABLES_NEXT_TO_CODE
-import qualified LlvmCodeGen ( llvmCodeGen )
-#endif
#ifdef JAVA
import JavaGen ( javaGen )
import ErrUtils ( dumpIfSet_dyn, showPass, ghcExit )
import Outputable
import Module
-import Maybes ( firstJust )
+import Maybes ( firstJusts )
import Control.Exception
import Control.Monad
do { when (dopt Opt_DoCmmLinting dflags) $ do
{ showPass dflags "CmmLint"
; let lints = map cmmLint flat_abstractC
- ; case firstJust lints of
+ ; case firstJusts lints of
Just err -> do { printDump err
; ghcExit dflags 1
}
\begin{code}
outputLlvm :: DynFlags -> FilePath -> [RawCmm] -> IO ()
-
-#ifndef GHCI_TABLES_NEXT_TO_CODE
outputLlvm dflags filenm flat_absC
= do ncg_uniqs <- mkSplitUniqSupply 'n'
- doOutput filenm $ \f ->
- LlvmCodeGen.llvmCodeGen dflags f ncg_uniqs flat_absC
-#else
-outputLlvm _ _ _
- = pprPanic "This compiler was built with the LLVM backend disabled"
- (text ("This is because the TABLES_NEXT_TO_CODE optimisation is"
- ++ " enabled, which the LLVM backend doesn't support right now.")
- $+$ text "Use -fasm instead")
-#endif
+ doOutput filenm $ \f -> llvmCodeGen dflags f ncg_uniqs flat_absC
\end{code}