ghc-9.6.0.20230128: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Driver.Pipeline.Phases

Synopsis

Documentation

data TPhase res where Source #

Constructors

T_Unlit :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath 
T_FileArgs :: HscEnv -> FilePath -> TPhase (DynFlags, Messages PsMessage, [Warn]) 
T_Cpp :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath 
T_HsPp :: PipeEnv -> HscEnv -> FilePath -> FilePath -> TPhase FilePath 
T_HscRecomp :: PipeEnv -> HscEnv -> FilePath -> HscSource -> TPhase (HscEnv, ModSummary, HscRecompStatus) 
T_Hsc :: HscEnv -> ModSummary -> TPhase (FrontendResult, Messages GhcMessage) 
T_HscPostTc :: HscEnv -> ModSummary -> FrontendResult -> Messages GhcMessage -> Maybe Fingerprint -> TPhase HscBackendAction 
T_HscBackend :: PipeEnv -> HscEnv -> ModuleName -> HscSource -> ModLocation -> HscBackendAction -> TPhase ([FilePath], ModIface, HomeModLinkable, FilePath) 
T_CmmCpp :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath 
T_Cmm :: PipeEnv -> HscEnv -> FilePath -> TPhase ([FilePath], FilePath) 
T_Cc :: Phase -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> TPhase FilePath 
T_As :: Bool -> PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> TPhase FilePath 
T_Js :: PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> TPhase FilePath 
T_ForeignJs :: PipeEnv -> HscEnv -> Maybe ModLocation -> FilePath -> TPhase FilePath 
T_LlvmOpt :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath 
T_LlvmLlc :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath 
T_LlvmMangle :: PipeEnv -> HscEnv -> FilePath -> TPhase FilePath 
T_MergeForeign :: PipeEnv -> HscEnv -> FilePath -> [FilePath] -> TPhase FilePath 

Instances

Instances details
MonadUse TPhase HookedUse Source # 
Instance details

Defined in GHC.Driver.Pipeline.Execute

Methods

use :: TPhase a -> HookedUse a Source #

data PhaseHook Source #

A wrapper around the interpretation function for phases.

Constructors

PhaseHook (forall a. TPhase a -> IO a)