ghc-lib-0.20210331: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.SysTools.Tasks

Synopsis

Documentation

runPp :: Logger -> DynFlags -> [Option] -> IO () Source #

runCc :: Maybe ForeignSrcLang -> Logger -> TmpFs -> DynFlags -> [Option] -> IO () Source #

Run compiler of C-like languages and raw objects (such as gcc or clang).

askLd :: Logger -> DynFlags -> [Option] -> IO String Source #

Run the linker with some arguments and return the output

runAs :: Logger -> DynFlags -> [Option] -> IO () Source #

runLlvmOpt :: Logger -> DynFlags -> [Option] -> IO () Source #

Run the LLVM Optimiser

runLlvmLlc :: Logger -> DynFlags -> [Option] -> IO () Source #

Run the LLVM Compiler

runClang :: Logger -> DynFlags -> [Option] -> IO () Source #

Run the clang compiler (used as an assembler for the LLVM backend on OS X as LLVM doesn't support the OS X system assembler)

figureLlvmVersion :: Logger -> DynFlags -> IO (Maybe LlvmVersion) Source #

Figure out which version of LLVM we are running this session

runLink :: Logger -> TmpFs -> DynFlags -> [Option] -> IO () Source #

runMergeObjects :: Logger -> TmpFs -> DynFlags -> [Option] -> IO () Source #

Tracing utility

traceToolCommand :: Logger -> DynFlags -> String -> IO a -> IO a Source #

Record in the eventlog when the given tool command starts and finishes, prepending the given String with "systool:", to easily be able to collect and process all the systool events.

For those events to show up in the eventlog, you need to run GHC with -v2 or -ddump-timings.